|
Packit Service |
0057d1 |
dnl AS_DOCBOOK([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
Packit Service |
0057d1 |
dnl checks if xsltproc can build docbook documentation
|
|
Packit Service |
0057d1 |
dnl (which is possible if the catalog is set up properly
|
|
Packit Service |
0057d1 |
dnl I also tried checking for a specific version and type of docbook
|
|
Packit Service |
0057d1 |
dnl but xsltproc seemed to happily run anyway, so we can't check for that
|
|
Packit Service |
0057d1 |
dnl and version
|
|
Packit Service |
0057d1 |
dnl this macro takes inspiration from
|
|
Packit Service |
0057d1 |
dnl http://www.movement.uklinux.net/docs/docbook-autotools/configure.html
|
|
Packit Service |
0057d1 |
AC_DEFUN([AS_DOCBOOK],
|
|
Packit Service |
0057d1 |
[
|
|
Packit Service |
0057d1 |
XSLTPROC_FLAGS=--nonet
|
|
Packit Service |
0057d1 |
DOCBOOK_ROOT=
|
|
Packit Service |
0057d1 |
TYPE_LC=xml
|
|
Packit Service |
0057d1 |
TYPE_UC=XML
|
|
Packit Service |
0057d1 |
DOCBOOK_VERSION=4.1.2
|
|
Packit Service |
0057d1 |
|
|
Packit Service |
0057d1 |
if test -n "$XML_CATALOG_FILES"; then
|
|
Packit Service |
0057d1 |
oldIFS=$IFS
|
|
Packit Service |
0057d1 |
IFS=' '
|
|
Packit Service |
0057d1 |
for xml_catalog_file in $XML_CATALOG_FILES; do
|
|
Packit Service |
0057d1 |
if test -f $xml_catalog_file; then
|
|
Packit Service |
0057d1 |
XML_CATALOG=$xml_catalog_file
|
|
Packit Service |
0057d1 |
CAT_ENTRY_START='
|
|
Packit Service |
0057d1 |
CAT_ENTRY_END='-->'
|
|
Packit Service |
0057d1 |
break
|
|
Packit Service |
0057d1 |
fi
|
|
Packit Service |
0057d1 |
done
|
|
Packit Service |
0057d1 |
IFS=$oldIFS
|
|
Packit Service |
0057d1 |
elif test ! -f /etc/xml/catalog; then
|
|
Packit Service |
0057d1 |
for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/ /usr/local/share/xsl/docbook ;
|
|
Packit Service |
0057d1 |
do
|
|
Packit Service |
0057d1 |
if test -d "$i"; then
|
|
Packit Service |
0057d1 |
DOCBOOK_ROOT=$i
|
|
Packit Service |
0057d1 |
fi
|
|
Packit Service |
0057d1 |
done
|
|
Packit Service |
0057d1 |
else
|
|
Packit Service |
0057d1 |
XML_CATALOG=/etc/xml/catalog
|
|
Packit Service |
0057d1 |
CAT_ENTRY_START='
|
|
Packit Service |
0057d1 |
CAT_ENTRY_END='-->'
|
|
Packit Service |
0057d1 |
fi
|
|
Packit Service |
0057d1 |
|
|
Packit Service |
0057d1 |
dnl We need xsltproc to process the test
|
|
Packit Service |
0057d1 |
AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
|
|
Packit Service |
0057d1 |
XSLTPROC_WORKS=no
|
|
Packit Service |
0057d1 |
if test -n "$XSLTPROC"; then
|
|
Packit Service |
0057d1 |
AC_MSG_CHECKING([whether xsltproc docbook processing works])
|
|
Packit Service |
0057d1 |
|
|
Packit Service |
0057d1 |
if test -n "$XML_CATALOG"; then
|
|
Packit Service |
0057d1 |
DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
|
|
Packit Service |
0057d1 |
else
|
|
Packit Service |
0057d1 |
DB_FILE="$DOCBOOK_ROOT/xhtml/docbook.xsl"
|
|
Packit Service |
0057d1 |
fi
|
|
Packit Service |
0057d1 |
$XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
|
|
Packit Service |
0057d1 |
|
|
Packit Service |
0057d1 |
|
|
Packit Service |
0057d1 |
<book id="test">
|
|
Packit Service |
0057d1 |
</book>
|
|
Packit Service |
0057d1 |
END
|
|
Packit Service |
0057d1 |
if test "$?" = 0; then
|
|
Packit Service |
0057d1 |
XSLTPROC_WORKS=yes
|
|
Packit Service |
0057d1 |
fi
|
|
Packit Service |
0057d1 |
AC_MSG_RESULT($XSLTPROC_WORKS)
|
|
Packit Service |
0057d1 |
fi
|
|
Packit Service |
0057d1 |
|
|
Packit Service |
0057d1 |
if test "x$XSLTPROC_WORKS" = "xyes"; then
|
|
Packit Service |
0057d1 |
dnl execute ACTION-IF-FOUND
|
|
Packit Service |
0057d1 |
ifelse([$1], , :, [$1])
|
|
Packit Service |
0057d1 |
else
|
|
Packit Service |
0057d1 |
dnl execute ACTION-IF-NOT-FOUND
|
|
Packit Service |
0057d1 |
ifelse([$2], , :, [$2])
|
|
Packit Service |
0057d1 |
fi
|
|
Packit Service |
0057d1 |
|
|
Packit Service |
0057d1 |
AC_SUBST(XML_CATALOG)
|
|
Packit Service |
0057d1 |
AC_SUBST(XSLTPROC_FLAGS)
|
|
Packit Service |
0057d1 |
AC_SUBST(DOCBOOK_ROOT)
|
|
Packit Service |
0057d1 |
AC_SUBST(CAT_ENTRY_START)
|
|
Packit Service |
0057d1 |
AC_SUBST(CAT_ENTRY_END)
|
|
Packit Service |
0057d1 |
])
|