mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 11:58:52 +00:00
Build System: Fix --disable-xmldoc option.
The configure option to disable XML documentation does not currently work. This patch makes it effective, but also causes an ABI change by removing the ast_xmldoc_* symbols. Disabling xmldoc also prevents docs from being automatically generated, but they can still be manually generated with 'make doc/core-en_US.xml'. ASTERISK-26639 Change-Id: Ifac562340c09f80c83e0203de098fcac93bf8c44
This commit is contained in:
22
Makefile
22
Makefile
@@ -209,7 +209,9 @@ ifeq ($(AST_DEVMODE),yes)
|
|||||||
ifeq ($(AST_DEVMODE_STRICT),yes)
|
ifeq ($(AST_DEVMODE_STRICT),yes)
|
||||||
_ASTCFLAGS+=-Wshadow
|
_ASTCFLAGS+=-Wshadow
|
||||||
endif
|
endif
|
||||||
ADDL_TARGETS+=validate-docs
|
ifneq ($(DISABLE_XMLDOC),yes)
|
||||||
|
ADDL_TARGETS+=validate-docs
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(findstring BSD,$(OSARCH)),)
|
ifneq ($(findstring BSD,$(OSARCH)),)
|
||||||
@@ -247,6 +249,14 @@ ifneq ($(wildcard .svn),)
|
|||||||
ASTERISKVERSIONNUM:=999999
|
ASTERISKVERSIONNUM:=999999
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(DISABLE_XMLDOC),yes)
|
||||||
|
CORE_XMLDOC=doc/core-en_US.xml
|
||||||
|
FULL_XMLDOC=doc/full-en_US.xml
|
||||||
|
else
|
||||||
|
CORE_XMLDOC=
|
||||||
|
FULL_XMLDOC=
|
||||||
|
endif
|
||||||
|
|
||||||
_ASTCFLAGS+=$(OPTIONS)
|
_ASTCFLAGS+=$(OPTIONS)
|
||||||
|
|
||||||
MOD_SUBDIRS:=third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons $(LOCAL_MOD_SUBDIRS)
|
MOD_SUBDIRS:=third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons $(LOCAL_MOD_SUBDIRS)
|
||||||
@@ -327,9 +337,9 @@ full: _full
|
|||||||
@echo " +-------------------------------------------+"
|
@echo " +-------------------------------------------+"
|
||||||
|
|
||||||
|
|
||||||
_all: makeopts $(SUBDIRS) doc/core-en_US.xml $(ADDL_TARGETS)
|
_all: makeopts $(SUBDIRS) $(CORE_XMLDOC) $(ADDL_TARGETS)
|
||||||
|
|
||||||
_full: makeopts $(SUBDIRS) doc/full-en_US.xml $(ADDL_TARGETS)
|
_full: makeopts $(SUBDIRS) $(FULL_XMLDOC) $(ADDL_TARGETS)
|
||||||
|
|
||||||
makeopts: configure
|
makeopts: configure
|
||||||
@echo "****"
|
@echo "****"
|
||||||
@@ -424,7 +434,7 @@ distclean: $(SUBDIRS_DIST_CLEAN) _clean
|
|||||||
rm -f doc/asterisk-ng-doxygen
|
rm -f doc/asterisk-ng-doxygen
|
||||||
rm -f build_tools/menuselect-deps
|
rm -f build_tools/menuselect-deps
|
||||||
|
|
||||||
datafiles: _all doc/core-en_US.xml
|
datafiles: _all $(CORE_XMLDOC)
|
||||||
CFLAGS="$(_ASTCFLAGS) $(ASTCFLAGS)" build_tools/mkpkgconfig "$(DESTDIR)$(libdir)/pkgconfig";
|
CFLAGS="$(_ASTCFLAGS) $(ASTCFLAGS)" build_tools/mkpkgconfig "$(DESTDIR)$(libdir)/pkgconfig";
|
||||||
|
|
||||||
# # Recursively install contents of the static-http directory, in case
|
# # Recursively install contents of the static-http directory, in case
|
||||||
@@ -436,8 +446,10 @@ datafiles: _all doc/core-en_US.xml
|
|||||||
$(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/$$x" ; \
|
$(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/$$x" ; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
|
ifneq ($(DISABLE_XMLDOC),yes)
|
||||||
$(INSTALL) -m 644 doc/core-en_US.xml "$(DESTDIR)$(ASTDATADIR)/static-http";
|
$(INSTALL) -m 644 doc/core-en_US.xml "$(DESTDIR)$(ASTDATADIR)/static-http";
|
||||||
$(INSTALL) -m 644 doc/appdocsxml.xslt "$(DESTDIR)$(ASTDATADIR)/static-http";
|
$(INSTALL) -m 644 doc/appdocsxml.xslt "$(DESTDIR)$(ASTDATADIR)/static-http";
|
||||||
|
endif
|
||||||
if [ -d doc/tex/asterisk ] ; then \
|
if [ -d doc/tex/asterisk ] ; then \
|
||||||
$(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/static-http/docs" ; \
|
$(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/static-http/docs" ; \
|
||||||
for n in doc/tex/asterisk/* ; do \
|
for n in doc/tex/asterisk/* ; do \
|
||||||
@@ -566,9 +578,11 @@ bininstall: _all installdirs $(SUBDIRS_INSTALL) main-bininstall
|
|||||||
for h in $(OLDHEADERS); do rm -f "$(DESTDIR)$(ASTHEADERDIR)/$$h"; done \
|
for h in $(OLDHEADERS); do rm -f "$(DESTDIR)$(ASTHEADERDIR)/$$h"; done \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ifneq ($(DISABLE_XMLDOC),yes)
|
||||||
$(INSTALL) -m 644 doc/core-*.xml "$(DESTDIR)$(ASTDATADIR)/documentation"
|
$(INSTALL) -m 644 doc/core-*.xml "$(DESTDIR)$(ASTDATADIR)/documentation"
|
||||||
$(INSTALL) -m 644 doc/appdocsxml.xslt "$(DESTDIR)$(ASTDATADIR)/documentation"
|
$(INSTALL) -m 644 doc/appdocsxml.xslt "$(DESTDIR)$(ASTDATADIR)/documentation"
|
||||||
$(INSTALL) -m 644 doc/appdocsxml.dtd "$(DESTDIR)$(ASTDATADIR)/documentation"
|
$(INSTALL) -m 644 doc/appdocsxml.dtd "$(DESTDIR)$(ASTDATADIR)/documentation"
|
||||||
|
endif
|
||||||
$(INSTALL) -m 644 doc/asterisk.8 "$(DESTDIR)$(ASTMANDIR)/man8"
|
$(INSTALL) -m 644 doc/asterisk.8 "$(DESTDIR)$(ASTMANDIR)/man8"
|
||||||
$(INSTALL) -m 644 doc/astdb*.8 "$(DESTDIR)$(ASTMANDIR)/man8"
|
$(INSTALL) -m 644 doc/astdb*.8 "$(DESTDIR)$(ASTMANDIR)/man8"
|
||||||
$(INSTALL) -m 644 contrib/scripts/astgenkey.8 "$(DESTDIR)$(ASTMANDIR)/man8"
|
$(INSTALL) -m 644 contrib/scripts/astgenkey.8 "$(DESTDIR)$(ASTMANDIR)/man8"
|
||||||
|
13
configure
vendored
13
configure
vendored
@@ -718,6 +718,7 @@ PBX_DYNAMIC_LIST
|
|||||||
POW_LIB
|
POW_LIB
|
||||||
PBX_WORKING_FORK
|
PBX_WORKING_FORK
|
||||||
LIBOBJS
|
LIBOBJS
|
||||||
|
DISABLE_XMLDOC
|
||||||
CONFIG_LIBXML2
|
CONFIG_LIBXML2
|
||||||
UUID_LIB
|
UUID_LIB
|
||||||
UUID_INCLUDE
|
UUID_INCLUDE
|
||||||
@@ -14660,16 +14661,20 @@ fi
|
|||||||
# Check whether --enable-xmldoc was given.
|
# Check whether --enable-xmldoc was given.
|
||||||
if test "${enable_xmldoc+set}" = set; then :
|
if test "${enable_xmldoc+set}" = set; then :
|
||||||
enableval=$enable_xmldoc; case "${enableval}" in
|
enableval=$enable_xmldoc; case "${enableval}" in
|
||||||
y|ye|yes) disable_xmldoc=no ;;
|
y|ye|yes) DISABLE_XMLDOC=no ;;
|
||||||
n|no) disable_xmldoc=yes ;;
|
n|no) DISABLE_XMLDOC=yes ;;
|
||||||
*) as_fn_error $? "bad value ${enableval} for --disable-xmldoc" "$LINENO" 5 ;;
|
*) as_fn_error $? "bad value ${enableval} for --disable-xmldoc" "$LINENO" 5 ;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
disable_xmldoc=no
|
DISABLE_XMLDOC=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if test "${disable_xmldoc}" != "yes"; then
|
|
||||||
|
if test "${DISABLE_XMLDOC}" != "yes"; then
|
||||||
|
|
||||||
|
$as_echo "#define AST_XML_DOCS 1" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
if test "x${PBX_LIBXSLT}" != "x1" -a "${USE_LIBXSLT}" != "no"; then
|
if test "x${PBX_LIBXSLT}" != "x1" -a "${USE_LIBXSLT}" != "no"; then
|
||||||
pbxlibdir=""
|
pbxlibdir=""
|
||||||
|
10
configure.ac
10
configure.ac
@@ -690,12 +690,14 @@ AC_ARG_ENABLE([xmldoc],
|
|||||||
[AS_HELP_STRING([--disable-xmldoc],
|
[AS_HELP_STRING([--disable-xmldoc],
|
||||||
[Explicitly disable XML documentation])],
|
[Explicitly disable XML documentation])],
|
||||||
[case "${enableval}" in
|
[case "${enableval}" in
|
||||||
y|ye|yes) disable_xmldoc=no ;;
|
y|ye|yes) DISABLE_XMLDOC=no ;;
|
||||||
n|no) disable_xmldoc=yes ;;
|
n|no) DISABLE_XMLDOC=yes ;;
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-xmldoc) ;;
|
*) AC_MSG_ERROR(bad value ${enableval} for --disable-xmldoc) ;;
|
||||||
esac], [disable_xmldoc=no])
|
esac], [DISABLE_XMLDOC=no])
|
||||||
|
|
||||||
if test "${disable_xmldoc}" != "yes"; then
|
AC_SUBST([DISABLE_XMLDOC])
|
||||||
|
if test "${DISABLE_XMLDOC}" != "yes"; then
|
||||||
|
AC_DEFINE([AST_XML_DOCS], 1, [Define to enable XML documentation.])
|
||||||
AST_EXT_LIB_CHECK([LIBXSLT], [xslt], [xsltLoadStylesheetPI], [libxslt/xsltInternals.h], [${LIBXML2_LIB}], [${LIBXML2_INCLUDE}])
|
AST_EXT_LIB_CHECK([LIBXSLT], [xslt], [xsltLoadStylesheetPI], [libxslt/xsltInternals.h], [${LIBXML2_LIB}], [${LIBXML2_INCLUDE}])
|
||||||
AST_EXT_LIB_CHECK([LIBXSLT_CLEANUP], [xslt], [xsltCleanupGlobals], [libxslt/xsltInternals.h], [${LIBXML2_LIB}], [${LIBXML2_INCLUDE}])
|
AST_EXT_LIB_CHECK([LIBXSLT_CLEANUP], [xslt], [xsltCleanupGlobals], [libxslt/xsltInternals.h], [${LIBXML2_LIB}], [${LIBXML2_INCLUDE}])
|
||||||
|
|
||||||
|
@@ -9,6 +9,9 @@
|
|||||||
/* Define to 1 if internal poll should be used. */
|
/* Define to 1 if internal poll should be used. */
|
||||||
#undef AST_POLL_COMPAT
|
#undef AST_POLL_COMPAT
|
||||||
|
|
||||||
|
/* Define to enable XML documentation. */
|
||||||
|
#undef AST_XML_DOCS
|
||||||
|
|
||||||
/* Define to 1 if your system's implementation of mutexes supports comparison
|
/* Define to 1 if your system's implementation of mutexes supports comparison
|
||||||
of a mutex to its initializer. */
|
of a mutex to its initializer. */
|
||||||
#undef CAN_COMPARE_MUTEX_TO_INIT_VALUE
|
#undef CAN_COMPARE_MUTEX_TO_INIT_VALUE
|
||||||
|
@@ -246,10 +246,5 @@ struct ast_xml_node *ast_xml_xpath_get_first_result(struct ast_xml_xpath_results
|
|||||||
*/
|
*/
|
||||||
struct ast_xml_xpath_results *ast_xml_query(struct ast_xml_doc *doc, const char *xpath_str);
|
struct ast_xml_xpath_results *ast_xml_query(struct ast_xml_doc *doc, const char *xpath_str);
|
||||||
|
|
||||||
/* Features using ast_xml_ */
|
|
||||||
#ifdef HAVE_LIBXML2
|
|
||||||
#define AST_XML_DOCS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _ASTERISK_XML_H */
|
#endif /* _ASTERISK_XML_H */
|
||||||
|
|
||||||
|
@@ -80,7 +80,6 @@ struct aco_option {
|
|||||||
|
|
||||||
#ifdef AST_XML_DOCS
|
#ifdef AST_XML_DOCS
|
||||||
static struct ao2_container *xmldocs;
|
static struct ao2_container *xmldocs;
|
||||||
#endif /* AST_XML_DOCS */
|
|
||||||
|
|
||||||
/*! \brief Value of the aco_option_type enum as strings */
|
/*! \brief Value of the aco_option_type enum as strings */
|
||||||
static char *aco_option_type_string[] = {
|
static char *aco_option_type_string[] = {
|
||||||
@@ -98,6 +97,7 @@ static char *aco_option_type_string[] = {
|
|||||||
"Unsigned Integer", /* OPT_UINT_T, */
|
"Unsigned Integer", /* OPT_UINT_T, */
|
||||||
"Boolean", /* OPT_YESNO_T, */
|
"Boolean", /* OPT_YESNO_T, */
|
||||||
};
|
};
|
||||||
|
#endif /* AST_XML_DOCS */
|
||||||
|
|
||||||
void *aco_pending_config(struct aco_info *info)
|
void *aco_pending_config(struct aco_info *info)
|
||||||
{
|
{
|
||||||
|
@@ -1653,8 +1653,10 @@ static AST_RWLIST_HEAD_STATIC(actions, manager_action);
|
|||||||
/*! \brief list of hooks registered */
|
/*! \brief list of hooks registered */
|
||||||
static AST_RWLIST_HEAD_STATIC(manager_hooks, manager_custom_hook);
|
static AST_RWLIST_HEAD_STATIC(manager_hooks, manager_custom_hook);
|
||||||
|
|
||||||
|
#ifdef AST_XML_DOCS
|
||||||
/*! \brief A container of event documentation nodes */
|
/*! \brief A container of event documentation nodes */
|
||||||
static AO2_GLOBAL_OBJ_STATIC(event_docs);
|
static AO2_GLOBAL_OBJ_STATIC(event_docs);
|
||||||
|
#endif
|
||||||
|
|
||||||
static int __attribute__((format(printf, 9, 0))) __manager_event_sessions(
|
static int __attribute__((format(printf, 9, 0))) __manager_event_sessions(
|
||||||
struct ao2_container *sessions,
|
struct ao2_container *sessions,
|
||||||
@@ -2305,7 +2307,9 @@ static int manager_displayconnects(struct mansession_session *session)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef AST_XML_DOCS
|
||||||
static void print_event_instance(struct ast_cli_args *a, struct ast_xml_doc_item *instance);
|
static void print_event_instance(struct ast_cli_args *a, struct ast_xml_doc_item *instance);
|
||||||
|
#endif
|
||||||
|
|
||||||
static char *handle_showmancmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
static char *handle_showmancmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
||||||
{
|
{
|
||||||
|
@@ -108,6 +108,7 @@ ASTVARRUNDIR = @astvarrundir@
|
|||||||
|
|
||||||
AST_DEVMODE=@AST_DEVMODE@
|
AST_DEVMODE=@AST_DEVMODE@
|
||||||
AST_DEVMODE_STRICT=@AST_DEVMODE_STRICT@
|
AST_DEVMODE_STRICT=@AST_DEVMODE_STRICT@
|
||||||
|
DISABLE_XMLDOC=@DISABLE_XMLDOC@
|
||||||
NOISY_BUILD=@NOISY_BUILD@
|
NOISY_BUILD=@NOISY_BUILD@
|
||||||
|
|
||||||
AST_CODE_COVERAGE=@AST_CODE_COVERAGE@
|
AST_CODE_COVERAGE=@AST_CODE_COVERAGE@
|
||||||
|
Reference in New Issue
Block a user