From: Corey Farrell Date: Sat, 31 Oct 2015 03:57:58 +0000 (-0400) Subject: Fix cli display of build options. X-Git-Tag: 13.7.0-rc1~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d098d00424a3c7ae2c2b2b26ce31d0889c506478;p=thirdparty%2Fasterisk.git Fix cli display of build options. A previous commit reduced the AST_BUILDOPTS compiler define to only include options that affected ABI. This included some options that were previously displayed by cli "core show settings". This change corrects the CLI display while still restricting buildopts.h to ABI effecting options only. ASTERISK-25434 #close Reported by: Rusty Newton Change-Id: Id07af6bedd1d7d325878023e403fbd9d3607e325 --- diff --git a/Makefile b/Makefile index ac9830f491..d4ae9fd616 100644 --- a/Makefile +++ b/Makefile @@ -400,7 +400,7 @@ defaults.h: makeopts .lastclean build_tools/make_defaults_h @cmp -s $@.tmp $@ || mv $@.tmp $@ @rm -f $@.tmp -main/version.c: FORCE .lastclean +main/version.c: FORCE menuselect.makeopts .lastclean @build_tools/make_version_c > $@.tmp @cmp -s $@.tmp $@ || mv $@.tmp $@ @rm -f $@.tmp diff --git a/build_tools/make_version_c b/build_tools/make_version_c index 3fea6cea2d..fcbd94ef2b 100755 --- a/build_tools/make_version_c +++ b/build_tools/make_version_c @@ -1,4 +1,7 @@ #!/bin/sh + +GREP=${GREP:-grep} + if test ! -f .flavor ; then EXTRA="" elif test ! -f .version ; then @@ -9,6 +12,21 @@ else aadkflavor=`cat .flavor` EXTRA=" (${aadkflavor} ${aadkver})" fi + +if ${GREP} "AST_DEVMODE" makeopts | ${GREP} -q "yes" +then + 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 + if test "x${BUILDOPTS}" != "x" ; then + BUILDOPTS="${BUILDOPTS}, ${x}" + else + BUILDOPTS="${x}" + fi +done + cat << END /* * version.c @@ -23,6 +41,8 @@ static const char asterisk_version[] = "${ASTERISKVERSION}${EXTRA}"; static const char asterisk_version_num[] = "${ASTERISKVERSIONNUM}"; +static const char asterisk_build_opts[] = "${BUILDOPTS}"; + const char *ast_get_version(void) { return asterisk_version; @@ -33,4 +53,9 @@ const char *ast_get_version_num(void) return asterisk_version_num; } +const char *ast_get_build_opts(void) +{ + return asterisk_build_opts; +} + END diff --git a/include/asterisk/ast_version.h b/include/asterisk/ast_version.h index 51ff481022..1ceac30fe3 100644 --- a/include/asterisk/ast_version.h +++ b/include/asterisk/ast_version.h @@ -41,4 +41,7 @@ const char *ast_get_version(void); */ const char *ast_get_version_num(void); +/*! Retreive the Asterisk build options */ +const char *ast_get_build_opts(void); + #endif /* __AST_VERSION_H */ diff --git a/main/asterisk.c b/main/asterisk.c index a9c6d0fa8c..cf0a595379 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -617,7 +617,7 @@ static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_c ast_cli(a->fd, "\nPBX Core settings\n"); ast_cli(a->fd, "-----------------\n"); ast_cli(a->fd, " Version: %s\n", ast_get_version()); - ast_cli(a->fd, " Build Options: %s\n", S_OR(AST_BUILDOPTS, "(none)")); + ast_cli(a->fd, " Build Options: %s\n", S_OR(ast_get_build_opts(), "(none)")); if (ast_option_maxcalls) ast_cli(a->fd, " Maximum calls: %d (Current %d)\n", ast_option_maxcalls, ast_active_channels()); else