| AC_DEFUN([AG_GST_DOCBOOK_CHECK], |
| [ |
| dnl choose a location to install docbook docs in |
| if test "x$PACKAGE_TARNAME" = "x" |
| then |
| AC_MSG_ERROR([Internal error - PACKAGE_TARNAME not set]) |
| fi |
| docdir="\$(datadir)/doc/$PACKAGE_TARNAME-$GST_API_VERSION" |
| |
| dnl enable/disable docbook documentation building |
| AC_ARG_ENABLE(docbook, |
| AC_HELP_STRING([--enable-docbook], |
| [use docbook to build documentation [default=no]]),, |
| enable_docbook=no) |
| |
| have_docbook=no |
| |
| if test x$enable_docbook = xyes; then |
| dnl check if we actually have everything we need |
| |
| dnl check for docbook tools |
| AC_CHECK_PROG(HAVE_DOCBOOK2PS, docbook2ps, yes, no) |
| AC_CHECK_PROG(HAVE_DOCBOOK2HTML, docbook2html, yes, no) |
| AC_CHECK_PROG(HAVE_JADETEX, jadetex, yes, no) |
| AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, yes, no) |
| |
| # -V option appeared in 0.6.10 |
| docbook2html_min_version=0.6.10 |
| if test "x$HAVE_DOCBOOK2HTML" != "xno"; then |
| docbook2html_version=`docbook2html --version` |
| AC_MSG_CHECKING([docbook2html version ($docbook2html_version) >= $docbook2html_min_version]) |
| if perl -w <<EOF |
| (\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$docbook2html_min_version" =~ /(\d+)\.(\d+)\.(\d+)/; |
| (\$docbook2html_version_major, \$docbook2html_version_minor, \$docbook2html_version_micro ) = "$docbook2html_version" =~ /(\d+)\.(\d+)\.(\d+)/; |
| exit (((\$docbook2html_version_major > \$min_version_major) || |
| ((\$docbook2html_version_major == \$min_version_major) && |
| (\$docbook2html_version_minor >= \$min_version_minor)) || |
| ((\$docbook2html_version_major == \$min_version_major) && |
| (\$docbook2html_version_minor >= \$min_version_minor) && |
| (\$docbook2html_version_micro >= \$min_version_micro))) |
| ? 0 : 1); |
| EOF |
| then |
| AC_MSG_RESULT(yes) |
| else |
| AC_MSG_RESULT(no) |
| HAVE_DOCBOOK2HTML=no |
| fi |
| fi |
| |
| dnl check if we can process docbook stuff |
| AS_DOCBOOK(have_docbook=yes, have_docbook=no) |
| |
| dnl check for extra tools |
| AC_CHECK_PROG(HAVE_DVIPS, dvips, yes, no) |
| AC_CHECK_PROG(HAVE_XMLLINT, xmllint, yes, no) |
| |
| dnl check for image conversion tools |
| AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, yes, no) |
| if test "x$HAVE_FIG2DEV" = "xno" ; then |
| AC_MSG_WARN([Did not find fig2dev (from xfig), images will not be generated.]) |
| fi |
| |
| dnl The following is a hack: if fig2dev doesn't display an error message |
| dnl for the desired type, we assume it supports it. |
| HAVE_FIG2DEV_EPS=no |
| if test "x$HAVE_FIG2DEV" = "xyes" ; then |
| fig2dev_quiet=`fig2dev -L eps </dev/null 2>&1 >/dev/null` |
| if test "x$fig2dev_quiet" = "x" ; then |
| HAVE_FIG2DEV_EPS=yes |
| fi |
| fi |
| HAVE_FIG2DEV_PNG=no |
| if test "x$HAVE_FIG2DEV" = "xyes" ; then |
| fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null` |
| if test "x$fig2dev_quiet" = "x" ; then |
| HAVE_FIG2DEV_PNG=yes |
| fi |
| fi |
| HAVE_FIG2DEV_PDF=no |
| if test "x$HAVE_FIG2DEV" = "xyes" ; then |
| fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null` |
| if test "x$fig2dev_quiet" = "x" ; then |
| HAVE_FIG2DEV_PDF=yes |
| fi |
| fi |
| |
| AC_CHECK_PROG(HAVE_PNGTOPNM, pngtopnm, yes, no) |
| AC_CHECK_PROG(HAVE_PNMTOPS, pnmtops, yes, no) |
| AC_CHECK_PROG(HAVE_EPSTOPDF, epstopdf, yes, no) |
| |
| dnl check if we can generate HTML |
| if test "x$HAVE_DOCBOOK2HTML" = "xyes" && \ |
| test "x$enable_docbook" = "xyes" && \ |
| test "x$HAVE_XMLLINT" = "xyes" && \ |
| test "x$HAVE_FIG2DEV_PNG" = "xyes"; then |
| DOC_HTML=yes |
| AC_MSG_NOTICE(Will output HTML documentation) |
| else |
| DOC_HTML=no |
| AC_MSG_NOTICE(Will not output HTML documentation) |
| fi |
| |
| dnl check if we can generate PS |
| if test "x$HAVE_DOCBOOK2PS" = "xyes" && \ |
| test "x$enable_docbook" = "xyes" && \ |
| test "x$HAVE_XMLLINT" = "xyes" && \ |
| test "x$HAVE_JADETEX" = "xyes" && \ |
| test "x$HAVE_FIG2DEV_EPS" = "xyes" && \ |
| test "x$HAVE_DVIPS" = "xyes" && \ |
| test "x$HAVE_PNGTOPNM" = "xyes" && \ |
| test "x$HAVE_PNMTOPS" = "xyes"; then |
| DOC_PS=yes |
| AC_MSG_NOTICE(Will output PS documentation) |
| else |
| DOC_PS=no |
| AC_MSG_NOTICE(Will not output PS documentation) |
| fi |
| |
| dnl check if we can generate PDF - using only ps2pdf |
| if test "x$DOC_PS" = "xyes" && \ |
| test "x$enable_docbook" = "xyes" && \ |
| test "x$HAVE_XMLLINT" = "xyes" && \ |
| test "x$HAVE_PS2PDF" = "xyes"; then |
| DOC_PDF=yes |
| AC_MSG_NOTICE(Will output PDF documentation) |
| else |
| DOC_PDF=no |
| AC_MSG_NOTICE(Will not output PDF documentation) |
| fi |
| |
| dnl if we don't have everything, we should disable |
| if test "x$have_docbook" != "xyes"; then |
| enable_docbook=no |
| fi |
| fi |
| |
| dnl if we're going to install documentation, tell us where |
| if test "x$have_docbook" = "xyes"; then |
| AC_MSG_NOTICE(Installing documentation in $docdir) |
| AC_SUBST(docdir) |
| fi |
| |
| AM_CONDITIONAL(ENABLE_DOCBOOK, test x$enable_docbook = xyes) |
| AM_CONDITIONAL(DOC_HTML, test x$DOC_HTML = xyes) |
| AM_CONDITIONAL(DOC_PDF, test x$DOC_PDF = xyes) |
| AM_CONDITIONAL(DOC_PS, test x$DOC_PS = xyes) |
| ]) |