summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2015-10-30 23:57:58 -0400
committerCorey Farrell <git@cfware.com>2015-11-04 09:24:00 -0500
commitd098d00424a3c7ae2c2b2b26ce31d0889c506478 (patch)
tree85081e79fa5ce067d162b05878ff3a5172e9ef8c
parentafec1b1b6497c2b81c0ef468861933b6ba277562 (diff)
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
-rw-r--r--Makefile2
-rwxr-xr-xbuild_tools/make_version_c25
-rw-r--r--include/asterisk/ast_version.h3
-rw-r--r--main/asterisk.c2
4 files changed, 30 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index ac9830f49..d4ae9fd61 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 3fea6cea2..fcbd94ef2 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 51ff48102..1ceac30fe 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 a9c6d0fa8..cf0a59537 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