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
This commit is contained in:
Corey Farrell
2015-10-30 23:57:58 -04:00
parent 0aef8e058f
commit b0bf189908
4 changed files with 30 additions and 2 deletions

View File

@@ -399,7 +399,7 @@ defaults.h: makeopts .lastclean build_tools/make_defaults_h
@cmp -s $@.tmp $@ || mv $@.tmp $@ @cmp -s $@.tmp $@ || mv $@.tmp $@
@rm -f $@.tmp @rm -f $@.tmp
main/version.c: FORCE .lastclean main/version.c: FORCE menuselect.makeopts .lastclean
@build_tools/make_version_c > $@.tmp @build_tools/make_version_c > $@.tmp
@cmp -s $@.tmp $@ || mv $@.tmp $@ @cmp -s $@.tmp $@ || mv $@.tmp $@
@rm -f $@.tmp @rm -f $@.tmp

View File

@@ -1,4 +1,7 @@
#!/bin/sh #!/bin/sh
GREP=${GREP:-grep}
if test ! -f .flavor ; then if test ! -f .flavor ; then
EXTRA="" EXTRA=""
elif test ! -f .version ; then elif test ! -f .version ; then
@@ -9,6 +12,21 @@ else
aadkflavor=`cat .flavor` aadkflavor=`cat .flavor`
EXTRA=" (${aadkflavor} ${aadkver})" EXTRA=" (${aadkflavor} ${aadkver})"
fi 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 cat << END
/* /*
* version.c * version.c
@@ -23,6 +41,8 @@ static const char asterisk_version[] = "${ASTERISKVERSION}${EXTRA}";
static const char asterisk_version_num[] = "${ASTERISKVERSIONNUM}"; static const char asterisk_version_num[] = "${ASTERISKVERSIONNUM}";
static const char asterisk_build_opts[] = "${BUILDOPTS}";
const char *ast_get_version(void) const char *ast_get_version(void)
{ {
return asterisk_version; return asterisk_version;
@@ -33,4 +53,9 @@ const char *ast_get_version_num(void)
return asterisk_version_num; return asterisk_version_num;
} }
const char *ast_get_build_opts(void)
{
return asterisk_build_opts;
}
END END

View File

@@ -41,4 +41,7 @@ const char *ast_get_version(void);
*/ */
const char *ast_get_version_num(void); const char *ast_get_version_num(void);
/*! Retreive the Asterisk build options */
const char *ast_get_build_opts(void);
#endif /* __AST_VERSION_H */ #endif /* __AST_VERSION_H */

View File

@@ -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, "\nPBX Core settings\n");
ast_cli(a->fd, "-----------------\n"); ast_cli(a->fd, "-----------------\n");
ast_cli(a->fd, " Version: %s\n", ast_get_version()); 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) if (ast_option_maxcalls)
ast_cli(a->fd, " Maximum calls: %d (Current %d)\n", ast_option_maxcalls, ast_active_channels()); ast_cli(a->fd, " Maximum calls: %d (Current %d)\n", ast_option_maxcalls, ast_active_channels());
else else