diff --git a/Makefile b/Makefile index 5bc6570751..4b1c57b8bc 100644 --- a/Makefile +++ b/Makefile @@ -399,7 +399,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 4660bf9db6..e0a87d6b15 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -601,7 +601,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