Blame common/m4/as-docbook.m4

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