summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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