From: Corey Farrell Date: Wed, 4 Nov 2015 14:25:52 +0000 (-0500) Subject: Fix cli display of build options. X-Git-Tag: 11.21.0-rc1~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77936f612d7418e7c8e9bd806633517a56b9cd38;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 a470dad9d3..3d50d3f173 100644 --- a/Makefile +++ b/Makefile @@ -401,7 +401,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 ba5ac18641..45b5b900dd 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -470,7 +470,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 (option_maxcalls) ast_cli(a->fd, " Maximum calls: %d (Current %d)\n", option_maxcalls, ast_active_channels()); else