|
Packit |
2cbdf3 |
# FP_GEN_DOCBOOK_XML
|
|
Packit |
2cbdf3 |
# ------------------
|
|
Packit |
2cbdf3 |
# Generates a DocBook XML V4.2 document in conftest.xml.
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_GEN_DOCBOOK_XML],
|
|
Packit |
2cbdf3 |
[rm -f conftest.xml
|
|
Packit |
2cbdf3 |
cat > conftest.xml << EOF
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
Packit |
2cbdf3 |
<book id="test">
|
|
Packit |
2cbdf3 |
<title>A DocBook Test Document</title>
|
|
Packit |
2cbdf3 |
<chapter id="id-one">
|
|
Packit |
2cbdf3 |
<title>A Chapter Title</title>
|
|
Packit |
2cbdf3 |
<para>This is a paragraph, referencing <xref linkend="id-two"/>.</para>
|
|
Packit |
2cbdf3 |
</chapter>
|
|
Packit |
2cbdf3 |
<chapter id="id-two">
|
|
Packit |
2cbdf3 |
<title>Another Chapter Title</title>
|
|
Packit |
2cbdf3 |
<para>This is another paragraph, referencing <xref linkend="id-one"/>.</para>
|
|
Packit |
2cbdf3 |
</chapter>
|
|
Packit |
2cbdf3 |
</book>
|
|
Packit |
2cbdf3 |
EOF
|
|
Packit |
2cbdf3 |
]) # FP_GEN_DOCBOOK_XML
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
# FP_PROG_XSLTPROC
|
|
Packit |
2cbdf3 |
# ----------------
|
|
Packit |
2cbdf3 |
# Sets the output variable XsltprocCmd to the full path of the XSLT processor
|
|
Packit |
2cbdf3 |
# xsltproc. XsltprocCmd is empty if xsltproc could not be found.
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_PROG_XSLTPROC],
|
|
Packit |
2cbdf3 |
[AC_PATH_PROG([XsltprocCmd], [xsltproc])
|
|
Packit |
2cbdf3 |
if test -z "$XsltprocCmd"; then
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find xsltproc in your PATH, you will not be able to build the documentation])
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
])# FP_PROG_XSLTPROC
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
# FP_DIR_DOCBOOK_XSL(XSL-DIRS)
|
|
Packit |
2cbdf3 |
# ----------------------------
|
|
Packit |
2cbdf3 |
# Check which of the directories XSL-DIRS contains DocBook XSL stylesheets. The
|
|
Packit |
2cbdf3 |
# output variable DIR_DOCBOOK_XSL will contain the first usable directory or
|
|
Packit |
2cbdf3 |
# will be empty if none could be found.
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_DIR_DOCBOOK_XSL],
|
|
Packit |
2cbdf3 |
[AC_REQUIRE([FP_PROG_XSLTPROC])dnl
|
|
Packit |
2cbdf3 |
if test -n "$XsltprocCmd"; then
|
|
Packit |
2cbdf3 |
AC_CACHE_CHECK([for DocBook XSL stylesheet directory], fp_cv_dir_docbook_xsl,
|
|
Packit |
2cbdf3 |
[FP_GEN_DOCBOOK_XML
|
|
Packit |
2cbdf3 |
fp_cv_dir_docbook_xsl=no
|
|
Packit |
2cbdf3 |
for fp_var in $1; do
|
|
Packit |
2cbdf3 |
if $XsltprocCmd ${fp_var}/html/docbook.xsl conftest.xml > /dev/null 2>&1; then
|
|
Packit |
2cbdf3 |
fp_cv_dir_docbook_xsl=$fp_var
|
|
Packit |
2cbdf3 |
break
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
done
|
|
Packit |
2cbdf3 |
rm -rf conftest*])
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
if test x"$fp_cv_dir_docbook_xsl" = xno; then
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find DocBook XSL stylesheets, you will not be able to build the documentation])
|
|
Packit |
2cbdf3 |
DIR_DOCBOOK_XSL=
|
|
Packit |
2cbdf3 |
else
|
|
Packit |
2cbdf3 |
DIR_DOCBOOK_XSL=$fp_cv_dir_docbook_xsl
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
AC_SUBST([DIR_DOCBOOK_XSL])
|
|
Packit |
2cbdf3 |
])# FP_DIR_DOCBOOK_XSL
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
# FP_PROG_XMLLINT
|
|
Packit |
2cbdf3 |
# ----------------
|
|
Packit |
2cbdf3 |
# Sets the output variable XmllintCmd to the full path of the XSLT processor
|
|
Packit |
2cbdf3 |
# xmllint. XmllintCmd is empty if xmllint could not be found.
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_PROG_XMLLINT],
|
|
Packit |
2cbdf3 |
[AC_PATH_PROG([XmllintCmd], [xmllint])
|
|
Packit |
2cbdf3 |
if test -z "$XmllintCmd"; then
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find xmllint in your PATH, you will not be able to validate your documentation])
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
])# FP_PROG_XMLLINT
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
# FP_CHECK_DOCBOOK_DTD
|
|
Packit |
2cbdf3 |
# --------------------
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_CHECK_DOCBOOK_DTD],
|
|
Packit |
2cbdf3 |
[AC_REQUIRE([FP_PROG_XMLLINT])dnl
|
|
Packit |
2cbdf3 |
if test -n "$XmllintCmd"; then
|
|
Packit |
2cbdf3 |
AC_MSG_CHECKING([for DocBook DTD])
|
|
Packit |
2cbdf3 |
FP_GEN_DOCBOOK_XML
|
|
Packit |
2cbdf3 |
if $XmllintCmd --valid --noout conftest.xml > /dev/null 2>&1; then
|
|
Packit |
2cbdf3 |
AC_MSG_RESULT([ok])
|
|
Packit |
2cbdf3 |
else
|
|
Packit |
2cbdf3 |
AC_MSG_RESULT([failed])
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find a DTD for DocBook XML V4.2, you will not be able to validate your documentation])
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([check your XML_CATALOG_FILES environment variable and/or /etc/xml/catalog])
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
rm -rf conftest*
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
])# FP_CHECK_DOCBOOK_DTD
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
# FP_GEN_FO
|
|
Packit |
2cbdf3 |
# ------------------
|
|
Packit |
2cbdf3 |
# Generates a formatting objects document in conftest.fo.
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_GEN_FO],
|
|
Packit |
2cbdf3 |
[rm -f conftest.fo
|
|
Packit |
2cbdf3 |
cat > conftest.fo << EOF
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
|
|
Packit |
2cbdf3 |
<fo:layout-master-set>
|
|
Packit |
2cbdf3 |
<fo:simple-page-master master-name="blank">
|
|
Packit |
2cbdf3 |
<fo:region-body/>
|
|
Packit |
2cbdf3 |
</fo:simple-page-master>
|
|
Packit |
2cbdf3 |
</fo:layout-master-set>
|
|
Packit |
2cbdf3 |
<fo:page-sequence master-reference="blank">
|
|
Packit |
2cbdf3 |
<fo:flow flow-name="xsl-region-body">
|
|
Packit |
2cbdf3 |
<fo:block>
|
|
Packit |
2cbdf3 |
Test!
|
|
Packit |
2cbdf3 |
</fo:block>
|
|
Packit |
2cbdf3 |
</fo:flow>
|
|
Packit |
2cbdf3 |
</fo:page-sequence>
|
|
Packit |
2cbdf3 |
</fo:root>
|
|
Packit |
2cbdf3 |
EOF
|
|
Packit |
2cbdf3 |
]) # FP_GEN_FO
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
# FP_PROG_FOP
|
|
Packit |
2cbdf3 |
# -----------
|
|
Packit |
2cbdf3 |
# Set the output variable 'FopCmd' to the first working 'fop' in the current
|
|
Packit |
2cbdf3 |
# 'PATH'. Note that /usr/bin/fop is broken in SuSE 9.1 (unpatched), so try
|
|
Packit |
2cbdf3 |
# /usr/share/fop/fop.sh in that case (or no 'fop'), too.
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_PROG_FOP],
|
|
Packit |
2cbdf3 |
[AC_PATH_PROGS([FopCmd1], [fop])
|
|
Packit |
2cbdf3 |
if test -n "$FopCmd1"; then
|
|
Packit |
2cbdf3 |
AC_CACHE_CHECK([for $FopCmd1 usability], [fp_cv_fop_usability],
|
|
Packit |
2cbdf3 |
[FP_GEN_FO
|
|
Packit |
2cbdf3 |
if "$FopCmd1" -fo conftest.fo -ps conftest.ps > /dev/null 2>&1; then
|
|
Packit |
2cbdf3 |
fp_cv_fop_usability=yes
|
|
Packit |
2cbdf3 |
else
|
|
Packit |
2cbdf3 |
fp_cv_fop_usability=no
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
rm -rf conftest*])
|
|
Packit |
2cbdf3 |
if test x"$fp_cv_fop_usability" = xyes; then
|
|
Packit |
2cbdf3 |
FopCmd=$FopCmd1
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
if test -z "$FopCmd"; then
|
|
Packit |
2cbdf3 |
AC_PATH_PROGS([FopCmd2], [fop.sh], , [/usr/share/fop])
|
|
Packit |
2cbdf3 |
FopCmd=$FopCmd2
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
AC_SUBST([FopCmd])
|
|
Packit |
2cbdf3 |
])# FP_PROG_FOP
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
|
|
Packit |
2cbdf3 |
# FP_PROG_FO_PROCESSOR
|
|
Packit |
2cbdf3 |
# --------------------
|
|
Packit |
2cbdf3 |
# Try to find an FO processor. PassiveTeX output is sometimes a bit strange, so
|
|
Packit |
2cbdf3 |
# try FOP first. Sets the output variables FopCmd, XmltexCmd, DvipsCmd, and
|
|
Packit |
2cbdf3 |
# PdfxmltexCmd.
|
|
Packit |
2cbdf3 |
AC_DEFUN([FP_PROG_FO_PROCESSOR],
|
|
Packit |
2cbdf3 |
[AC_REQUIRE([FP_PROG_FOP])
|
|
Packit |
2cbdf3 |
AC_PATH_PROG([XmltexCmd], [xmltex])
|
|
Packit |
2cbdf3 |
AC_PATH_PROG([DvipsCmd], [dvips])
|
|
Packit |
2cbdf3 |
if test -z "$FopCmd"; then
|
|
Packit |
2cbdf3 |
if test -z "$XmltexCmd"; then
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find an FO => DVI converter, you will not be able to build DVI or PostScript documentation])
|
|
Packit |
2cbdf3 |
else
|
|
Packit |
2cbdf3 |
if test -z "$DvipsCmd"; then
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find a DVI => PS converter, you will not be able to build PostScript documentation])
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
AC_PATH_PROG([PdfxmltexCmd], [pdfxmltex])
|
|
Packit |
2cbdf3 |
if test -z "$PdfxmltexCmd"; then
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find an FO => PDF converter, you will not be able to build PDF documentation])
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
elif test -z "$XmltexCmd"; then
|
|
Packit |
2cbdf3 |
AC_MSG_WARN([cannot find an FO => DVI converter, you will not be able to build DVI documentation])
|
|
Packit |
2cbdf3 |
fi
|
|
Packit |
2cbdf3 |
])# FP_PROG_FO_PROCESSOR
|