From d098d00424a3c7ae2c2b2b26ce31d0889c506478 Mon Sep 17 00:00:00 2001 From: Corey Farrell Date: Fri, 30 Oct 2015 23:57:58 -0400 Subject: [PATCH] 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 --- Makefile | 2 +- build_tools/make_version_c | 25 +++++++++++++++++++++++++ include/asterisk/ast_version.h | 3 +++ main/asterisk.c | 2 +- 4 files changed, 30 insertions(+), 2 deletions(-) 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 -- 2.47.2