[PATCH] build: separate BUILD_SETTING_DOCS from HAVE_INTROSPECTION
- From: Dan Williams <dcbw redhat com>
- To: networkmanager-list gnome org
- Cc: Michael Catanzaro <mcatanzaro gnome org>
- Subject: [PATCH] build: separate BUILD_SETTING_DOCS from HAVE_INTROSPECTION
- Date: Wed, 07 Dec 2016 16:35:53 -0600
Introspection really doesn't depend on whether we're building setting
docs. Split these two up.
---
Makefile.am | 15 +++++++++------
configure.ac | 42 ++++++++++++++++++++++++------------------
2 files changed, 33 insertions(+), 24 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 1daf728..405d248 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -842,7 +842,7 @@ libnm/libnm.typelib: libnm/libnm.gir
INTROSPECTION_GIRS += libnm/NM-1.0.gir
endif
-if HAVE_INTROSPECTION
+if BUILD_SETTING_DOCS
libnm_noinst_data = \
libnm/nm-property-docs.xml \
@@ -3033,7 +3033,7 @@ endif
clients_cli_settings_doc_c = clients/cli/settings-docs.c
-if HAVE_INTROSPECTION
+if BUILD_SETTING_DOCS
$(clients_cli_settings_doc_c): clients/cli/settings-docs.xsl libnm/nm-property-docs.xml
$(AM_V_GEN) $(XSLTPROC) --output $@ $^
DISTCLEANFILES += $(clients_cli_settings_doc_c)
@@ -3926,7 +3926,7 @@ xsltproc_flags = \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0
-if HAVE_INTROSPECTION
+if BUILD_SETTING_DOCS
man/%.1 man/%.5 man/%.7 man/%.8: man/%.xml man/common.ent
$(AM_V_GEN) $(XSLTPROC) --output $@ $(xsltproc_flags)
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@@ -3938,7 +3938,7 @@ man_nm_settings_xml = \
man/nm-settings-keyfile.xml \
man/nm-settings-ifcfg-rh.xml
-if HAVE_INTROSPECTION
+if BUILD_SETTING_DOCS
man/nm-setting%.xml: man/nm-setting%.xsl libnm/nm-setting%-docs.xml
$(AM_V_GEN) $(XSLTPROC) --output $@ $(xsltproc_flags) $^
@@ -3994,20 +3994,23 @@ uninstall-hook-man:
uninstall_hook += uninstall-hook-man
-if HAVE_INTROSPECTION
+if BUILD_SETTING_DOCS
install_manpages = true
man_MANS += $(man_pages)
CLEANFILES += $(man_pages)
+else
if SETTING_DOCS_AVAILABLE
+install_manpages = true
man_MANS += $(man_pages_autogen)
CLEANFILES += $(man_pages_autogen)
-endif
else
if INSTALL_PREGEN_MANPAGES
install_manpages = true
man_MANS += \
$(man_pages) \
$(man_pages_autogen)
+
+endif
endif
endif
diff --git a/configure.ac b/configure.ac
index 0d97428..b2d9a34 100644
--- a/configure.ac
+++ b/configure.ac
@@ -305,6 +305,9 @@ AM_CONDITIONAL(WITH_LEGACY_LIBRARIES, test "$with_libnm_glib" != "no")
PKG_CHECK_MODULES(GUDEV, gudev-1.0 >= 165)
GOBJECT_INTROSPECTION_CHECK([0.9.6])
+if test -n "$INTROSPECTION_MAKEFILE"; then
+ have_introspection=yes
+fi
# Qt4
PKG_CHECK_MODULES(QT, [QtCore >= 4 QtDBus QtNetwork], [have_qt=yes],[have_qt=no])
@@ -1100,28 +1103,31 @@ if test "$enable_gtk_doc" != "yes" \
fi
AM_CONDITIONAL(INSTALL_PREGEN_MANPAGES, test "x${install_pregen_manpages}" = "xyes")
-# check if we can build setting property documentation
-build_setting_docs=no
-if test -n "$INTROSPECTION_MAKEFILE"; then
- # If g-i is installed we know we have python, but we might not have pygobject
- if ! python -c 'from gi.repository import GObject' >& /dev/null; then
- AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires
GObject introspection for python (pygobject)])
+# check if we can build setting property documentation. This requires
+# python, pygobject, xsltproc, and perl
+build_setting_docs="$enable_gtk_doc"
+if test "$have_introspection" = "yes"; then
+ AM_PATH_PYTHON([2.7], [have_python=yes], [have_python=no])
+ if test "$have_python" = "yes"; then
+ # If g-i is installed we know we have python, but we might not have pygobject
+ if ! $PYTHON -c 'from gi.repository import GObject' >& /dev/null; then
+ PYTHON=
+ fi
fi
- AC_PATH_PROG(PERL, perl, no)
- AC_PATH_PROG(XSLTPROC, xsltproc, no)
+ AC_PATH_PROG(PERL, perl)
+ AC_SUBST(PERL)
+ AC_PATH_PROG(XSLTPROC, xsltproc)
+ AC_SUBST(XSLTPROC)
- have_introspection=yes
- if test "$enable_gtk_doc" = "yes"; then
- build_setting_docs=yes
+ if test ! -x "$PYTHON" -o ! -x "$PERL" -o ! -x "$XSLTPROC"; then
+ AC_MSG_WARN(["settings documentation requires pygobject, xsltproc, and perl."])
+ build_setting_docs=no
fi
-else
- if test "$enable_gtk_doc" = "yes"; then
- # large parts of the documentation require introspection/pygobject to extract
- # the documentation out of the source files. You cannot enable gtk-doc without alone.
- AC_MSG_ERROR(["--with-gtk-doc requires --enable-introspection"])
- fi
- have_introspection=no
+elif test "$build_setting_docs" = "yes"; then
+ # large parts of the documentation require introspection/pygobject to extract
+ # the documentation out of the source files. You cannot enable gtk-doc without alone.
+ AC_MSG_ERROR(["--with-gtk-doc requires --enable-introspection"])
fi
# check for pre-built setting docs
--
2.7.4
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]