diff options
author | Corey Farrell <git@cfware.com> | 2015-04-29 04:03:00 -0400 |
---|---|---|
committer | Corey Farrell <git@cfware.com> | 2015-05-01 16:45:05 -0400 |
commit | ac1f0090eb5f93f8d37f512a94aa6b16affb77e1 (patch) | |
tree | ffa25cbec995005021c4ef4564c03af373a6bd16 | |
parent | ec0f80b6e8d5f6952bdf48e8f19a024ebc64840e (diff) |
Build System: Prevent unneeded changes to asterisk/buildopts.h.
* Add AST_DEVMODE to BUILDOPTS
* Remove CFLAGS that do not effect ABI from BUILDOPTS.
* Use BUILDOPTS to generate AST_BUILDOPT_SUM.
* Remove loop that defined AST_MODULE_*
These changes ensure that only ABI effecting options are considered for
AST_BUILDOPT_SUM. This also reduces unneeded full system rebuilds caused
by enabling or disabling one module that another is dependent on.
ASTERISK-25028
Reported by: Corey Farrell
Change-Id: I2c516d93df9f6aaa09ae079a8168c887a6ff93a2
-rwxr-xr-x | build_tools/make_buildopts_h | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/build_tools/make_buildopts_h b/build_tools/make_buildopts_h index 55d08ba71..b9f9af2cb 100755 --- a/build_tools/make_buildopts_h +++ b/build_tools/make_buildopts_h @@ -10,27 +10,37 @@ cat << END */ END + +if ${GREP} "AST_DEVMODE" makeopts | ${GREP} -q "yes" +then + echo "#define AST_DEVMODE 1" + BUILDOPTS="AST_DEVMODE" +fi + TMP=`${GREP} -e "^MENUSELECT_CFLAGS" menuselect.makeopts | sed 's/MENUSELECT_CFLAGS\=//g' | sed 's/-D//g'` for x in ${TMP}; do echo "#define ${x} 1" + if test "${x}" = "DONT_OPTIMIZE" \ + -o "${x}" = "BETTER_BACKTRACES" \ + -o "${x}" = "LOTS_OF_SPANS" \ + -o "${x}" = "BUILD_NATIVE" \ + -o "${x}" = "AO2_DEBUG" \ + -o "${x}" = "REBUILD_PARSERS" \ + -o "${x}" = "RADIO_RELAX" \ + -o "${x}" = "DEBUG_SCHEDULER" \ + -o "${x}" = "DETECT_DEADLOCKS" \ + -o "${x}" = "DUMP_SCHEDULER" ; then + # These aren't ABI affecting options, keep them out of AST_BUILDOPTS + continue + fi if test "x${BUILDOPTS}" != "x" ; then BUILDOPTS="${BUILDOPTS}, ${x}" else BUILDOPTS="${x}" fi done -TMP=`${GREP} -e "^MENUSELECT_BUILD_DEPS" menuselect.makeopts | sed 's/MENUSELECT_BUILD_DEPS\=//g'` -for x in ${TMP}; do - x2=`echo ${x} | tr a-z A-Z` - echo "#define AST_MODULE_${x2} 1" -done -if ${GREP} "AST_DEVMODE" makeopts | ${GREP} -q "yes" -then - echo "#define AST_DEVMODE 1" - TMP="${TMP} AST_DEVMODE" -fi -BUILDSUM=`echo ${TMP} | ${MD5} | cut -c1-32` +BUILDSUM=`echo ${BUILDOPTS} | ${MD5} | cut -c1-32` echo "#define AST_BUILDOPT_SUM \"${BUILDSUM}\"" echo "#define AST_BUILDOPTS \"${BUILDOPTS}\"" |