Check for stylesheets required for man page
Macros copied from gtk-doc. https://bugzilla.gnome.org/show_bug.cgi?id=743255
This commit is contained in:
parent
9498561cf6
commit
fa4f2c798b
3 changed files with 85 additions and 2 deletions
10
configure.ac
10
configure.ac
|
@ -95,8 +95,14 @@ AS_IF([test "x$enable_man_pages" != "xno"],
|
|||
[AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||
AS_IF([test "xac_cv_path_XSLTPROC" = "x"], [have_xsltproc=no],
|
||||
[have_xsltproc=yes])
|
||||
dnl TODO: Also check for the required stylesheets.
|
||||
AS_IF([test "x$have_xsltproc" = "xyes"],
|
||||
JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.2//EN],
|
||||
[DocBook XML DTD V4.2], [have_docbookdtd=yes],
|
||||
[have_docbookdtd=no])
|
||||
JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/html/refentry.xsl],
|
||||
[DocBook XSL Stylesheets], [have_docbookxsl=yes],
|
||||
[have_docbookxsl=no])
|
||||
AS_IF([test "x$have_xsltproc" = "xyes" -a "x$have_docbookdtd" = "xyes" \
|
||||
-a "x$have_docbookxsl" = "xyes"],
|
||||
[have_manutils=yes],
|
||||
[AS_IF([test "x$enable_man_pages" = "xyes"],
|
||||
[AC_MSG_ERROR([man page requested but required utilities were not found])])
|
||||
|
|
16
m4/gtkdoc_jh_check_xml_catalog.m4
Normal file
16
m4/gtkdoc_jh_check_xml_catalog.m4
Normal file
|
@ -0,0 +1,16 @@
|
|||
dnl Checks if a particular URI appears in the XML catalog
|
||||
dnl Usage:
|
||||
dnl JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
AC_DEFUN([JH_CHECK_XML_CATALOG],
|
||||
[
|
||||
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
|
||||
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
|
||||
if $jh_found_xmlcatalog && \
|
||||
AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
|
||||
AC_MSG_RESULT([found])
|
||||
ifelse([$3],,,[$3])
|
||||
else
|
||||
AC_MSG_RESULT([not found])
|
||||
ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4])
|
||||
fi
|
||||
])
|
61
m4/gtkdoc_jh_path_xml_catalog.m4
Normal file
61
m4/gtkdoc_jh_path_xml_catalog.m4
Normal file
|
@ -0,0 +1,61 @@
|
|||
dnl Checks the location of the XML Catalog
|
||||
dnl Usage:
|
||||
dnl JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
dnl Defines XMLCATALOG and XML_CATALOG_FILE substitutions
|
||||
AC_DEFUN([JH_PATH_XML_CATALOG],
|
||||
[
|
||||
dnl check for the presence of the XML catalog
|
||||
AC_ARG_WITH([xml-catalog],
|
||||
AS_HELP_STRING([--with-xml-catalog=CATALOG],
|
||||
[path to xml catalog to use]),,
|
||||
[with_xml_catalog=''])
|
||||
AC_MSG_CHECKING([for XML catalog])
|
||||
if test -n "$with_xml_catalog"; then
|
||||
dnl path was explicitly given. check that it exists.
|
||||
if test -f "$with_xml_catalog"; then
|
||||
jh_found_xmlcatalog=true
|
||||
else
|
||||
jh_found_xmlcatalog=false
|
||||
fi
|
||||
else
|
||||
dnl if one was not explicitly specified, try some guesses
|
||||
dnl we look first in /etc/xml/catalog, then XDG_DATA_DIRS/xml/catalog
|
||||
if test -z "$XDG_DATA_DIRS"; then
|
||||
dnl if we have no XDG_DATA_DIRS, use the default
|
||||
jh_xml_catalog_searchdirs="/etc:/usr/local/share:/usr/share"
|
||||
else
|
||||
jh_xml_catalog_searchdirs="/etc:$XDG_DATA_DIRS"
|
||||
fi
|
||||
jh_found_xmlcatalog=false
|
||||
dnl take care to iterate based on ':', allowing whitespace to appear in paths
|
||||
jh_xml_catalog_saved_ifs="$IFS"
|
||||
IFS=':'
|
||||
for d in $jh_xml_catalog_searchdirs; do
|
||||
if test -f "$d/xml/catalog"; then
|
||||
with_xml_catalog="$d/xml/catalog"
|
||||
jh_found_xmlcatalog=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$jh_xml_catalog_saved_ifs"
|
||||
fi
|
||||
if $jh_found_xmlcatalog; then
|
||||
AC_MSG_RESULT([$with_xml_catalog])
|
||||
else
|
||||
AC_MSG_RESULT([not found])
|
||||
fi
|
||||
XML_CATALOG_FILE="$with_xml_catalog"
|
||||
AC_SUBST([XML_CATALOG_FILE])
|
||||
|
||||
dnl check for the xmlcatalog program
|
||||
AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
|
||||
if test "x$XMLCATALOG" = xno; then
|
||||
jh_found_xmlcatalog=false
|
||||
fi
|
||||
|
||||
if $jh_found_xmlcatalog; then
|
||||
ifelse([$1],,[:],[$1])
|
||||
else
|
||||
ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
|
||||
fi
|
||||
])
|
Loading…
Add table
Add a link
Reference in a new issue