@@ -1,5 +1,7 @@
SUBDIRS = src tests
+if MANPAGE_DOCBOOK_XSL
dist_man_MANS = evmctl.1
+endif
doc_DATA = examples/ima-genkey-self.sh examples/ima-genkey.sh examples/ima-gen-local-ca.sh
EXTRA_DIST = autogen.sh $(doc_DATA)
@@ -23,6 +25,7 @@ rpm: $(tarname)
cp $(tarname) $(SRCS)/
rpmbuild -ba --nodeps $(SPEC)
+if MANPAGE_DOCBOOK_XSL
evmctl.1.html: README
@asciidoc -o $@ $<
@@ -35,5 +38,6 @@ rmman:
rm -f evmctl.1
doc: evmctl.1.html rmman evmctl.1
+endif
.PHONY: $(tarname)
@@ -79,4 +79,5 @@ echo " debug: $pkg_cv_enable_debug"
echo " openssl-conf: $enable_openssl_conf"
echo " tss2-esys: $ac_cv_lib_tss2_esys_Esys_PCR_Read"
echo " tss2-rc-decode: $ac_cv_lib_tss2_rc_Tss2_RC_Decode"
+echo " doc: $have_doc"
echo
@@ -2,6 +2,9 @@ dnl Copyright (c) 2018-2020 Petr Vorel <pvorel@suse.cz>
dnl Find docbook manpage stylesheet
AC_DEFUN([EVMCTL_MANPAGE_DOCBOOK_XSL], [
+ DOCBOOK_XSL_URI="http://docbook.sourceforge.net/release/xsl/current"
+ DOCBOOK_XSL_PATH="manpages/docbook.xsl"
+
AC_PATH_PROGS(XMLCATALOG, xmlcatalog)
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
@@ -9,20 +12,37 @@ AC_DEFUN([EVMCTL_MANPAGE_DOCBOOK_XSL], [
[with_xml_catalog=/etc/xml/catalog])
XML_CATALOG_FILE="$with_xml_catalog"
AC_SUBST([XML_CATALOG_FILE])
- AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
- if test -f "$XML_CATALOG_FILE"; then
- have_xmlcatalog_file=yes
- AC_MSG_RESULT([found])
+
+ if test "x${XMLCATALOG}" = "x"; then
+ AC_MSG_WARN([xmlcatalog not found, cannot search for $DOCBOOK_XSL_PATH])
else
- AC_MSG_RESULT([not found])
+ AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
+ if test -f "$XML_CATALOG_FILE"; then
+ have_xmlcatalog_file=yes
+ AC_MSG_RESULT([found])
+ else
+ AC_MSG_RESULT([not found, cannot search for $DOCBOOK_XSL_PATH])
+ fi
fi
+
if test "x${XMLCATALOG}" != "x" -a "x$have_xmlcatalog_file" = "xyes"; then
- DOCBOOK_XSL_URI="http://docbook.sourceforge.net/release/xsl/current"
- DOCBOOK_XSL_PATH="manpages/docbook.xsl"
MANPAGE_DOCBOOK_XSL=$(${XMLCATALOG} ${XML_CATALOG_FILE} ${DOCBOOK_XSL_URI}/${DOCBOOK_XSL_PATH} | sed 's|^file:/\+|/|')
fi
+
if test "x${MANPAGE_DOCBOOK_XSL}" = "x"; then
MANPAGE_DOCBOOK_XSL="/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl"
+ AC_MSG_WARN([trying a default path for $DOCBOOK_XSL_PATH])
fi
+
+ if test -f "$MANPAGE_DOCBOOK_XSL"; then
+ have_doc=yes
+ AC_MSG_NOTICE([using $MANPAGE_DOCBOOK_XSL for generating doc])
+ else
+ AC_MSG_WARN([$DOCBOOK_XSL_PATH not found, generating doc will be skipped])
+ MANPAGE_DOCBOOK_XSL=
+ have_doc=no
+ fi
+ AM_CONDITIONAL(MANPAGE_DOCBOOK_XSL, test "x$have_doc" = xyes)
+
AC_SUBST(MANPAGE_DOCBOOK_XSL)
])
As requiring manpages/docbook.xsl breaks build if not found. Also rewrite the check to add more debug info. Signed-off-by: Petr Vorel <pvorel@suse.cz> --- Hi Mimi, Maybe you'd prefer --without-doc configure switch. Kind regards, Petr Makefile.am | 4 ++++ configure.ac | 1 + m4/manpage-docbook-xsl.m4 | 34 +++++++++++++++++++++++++++------- 3 files changed, 32 insertions(+), 7 deletions(-)