[PATCH v2 wayland 3/4] doc: Provide a fallback solution when Publican is not found
Pekka Paalanen
ppaalanen at gmail.com
Mon Nov 19 05:55:59 PST 2012
On Mon, 19 Nov 2012 10:32:59 -0200
Tiago Vignatti <tiago.vignatti at intel.com> wrote:
> It provides a simple HTML solution extracted from DocBook. Also now XSLTPROC
> is a strong requirement for building all the documentation (which is fair,
> because is used for building both man-pages and the Wayland Manual).
>
> Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
> ---
> - changes since v1: now it uses a URL in the catalog file to find the given
> stylesheet (xhtml/docbook.xsl). This is the recommended way to do it. Also,
> this version strictly requires XSLTPROC for building all the documentation.
>
> configure.ac | 24 +++++++++++++++---------
> doc/Wayland/Makefile.am | 5 ++++-
> doc/man/Makefile.am | 4 ----
> 3 files changed, 19 insertions(+), 14 deletions(-)
Hi Tiago,
all the changes you did are good, and the build succeeds without any
tweaking, but I'm still getting this:
make[3]: Entering directory `/home/pq/git/wayland/doc/Wayland'
/bin/mkdir -p en-US/images
/usr/bin/xsltproc ./protocol-to-docbook.xsl \
../../protocol/wayland.xml > en-US/ProtocolSpec.xml
/bin/mkdir -p en-US/images
/usr/bin/xsltproc ./protocol-interfaces-to-docbook.xsl \
../../protocol/wayland.xml > en-US/ProtocolInterfaces.xml
/bin/mkdir -p en-US/images
mv ../../doc/doxygen/xml/wayland-client_8h.xml \
../../doc/doxygen/
/usr/bin/xsltproc ../../doc/doxygen/xml/combine.xslt \
../../doc/doxygen/xml/index.xml > \
../../doc/doxygen/xml/clientAPI.xml
warning: failed to load external entity "../../doc/doxygen/xml/wayland-client_8h.xml"
mv ../../doc/doxygen/wayland-client_8h.xml \
../../doc/doxygen/xml
/usr/bin/xsltproc ./doxygen-to-docbook.xsl \
../../doc/doxygen/xml/clientAPI.xml > en-US/WaylandClientAPI.xml
Notice the warning, though I'm not sure anything is actually missing in
the result.
Do we need xmllint when xsltproc has --xinclude switch, too?
Thanks,
pq
> diff --git a/configure.ac b/configure.ac
> index a451948..7352a6f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -73,31 +73,37 @@ if test "x$enable_scanner" = "xyes"; then
> AC_SUBST(EXPAT_LIBS)
> fi
>
> -AC_PATH_PROG(XSLTPROC, xsltproc)
> -AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
> -
> +# Documentation
> AM_CONDITIONAL(BUILD_DOCS, [test x$enable_documentation = xyes])
> if test "x$enable_documentation" = "xyes"; then
> - AC_PATH_PROG(DOXYGEN, doxygen)
>
> - if test "x$DOXYGEN" = "x"; then
> - AC_MSG_ERROR([Documentation build requested but doxygen not found. Install doxygen or disable the documentation using --disable-documentation])
> + AC_PATH_PROG(DOXYGEN, doxygen)
> + if test "x$DOXYGEN" = "x" ; then
> + AC_MSG_ERROR([Documentation build requested, but doxygen not installed.])
> + fi
> + AC_PATH_PROG(XSLTPROC, xsltproc)
> + if test "x$XSLTPROC" = "x"; then
> + AC_MSG_ERROR([Documentation build requested, but xsltproc not installed.])
> fi
>
> AC_PATH_PROG(PUBLICAN, publican)
> -
> if test "x$PUBLICAN" != "x"; then
> PUBLICAN_VERSION=`$PUBLICAN -v | cut -d'=' -f2`
>
> if test [ 1 -eq `echo "${PUBLICAN_VERSION} < 2.8" | bc` ]; then
> - AC_MSG_ERROR([Publican version is not supported. Install publican >= 2.8 or disable the documentation using --disable-documentation])
> + AC_MSG_ERROR([Documentation build requested, but Publican version is < 2.8.])
> + fi
> + else
> + AC_PATH_PROG(XMLLINT, xmllint)
> + if test "x$XMLLINT" = "x"; then
> + AC_MSG_ERROR([Documentation build requested, but requirements not found.])
> fi
> + AC_MSG_WARN([Publican not found; a fallback will be used for HTML documentation])
> fi
>
> AC_CONFIG_FILES([
> doc/doxygen/wayland.doxygen
> ])
> -
> fi
> AM_CONDITIONAL([HAVE_PUBLICAN], [test "x$PUBLICAN" != "x"])
>
> diff --git a/doc/Wayland/Makefile.am b/doc/Wayland/Makefile.am
> index 6c328ea..f120a01 100644
> --- a/doc/Wayland/Makefile.am
> +++ b/doc/Wayland/Makefile.am
> @@ -68,7 +68,10 @@ Wayland: $(doc_targets)
> @touch Wayland
> else
> Wayland: $(doc_targets)
> - $(AM_V_GEN)mkdir -p $(srcdir)/Wayland
> + $(AM_V_GEN)$(mkdir_p) $(srcdir)/Wayland/en-US/html/
> + $(AM_V_GEN)cp -rf $(srcdir)/en-US/images/ $(srcdir)/Wayland/en-US/html/
> + $(AM_V_GEN)$(XMLLINT) --xinclude $(builddir)/en-US/Wayland.xml > $(builddir)/en-US/resolved.xml
> + $(AM_V_GEN)$(XSLTPROC) http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $(builddir)/en-US/resolved.xml > $(srcdir)/Wayland/en-US/html/index.html
> endif
>
> CLEANFILES = en-US/ProtocolSpec.xml en-US/ProtocolInterfaces.xml en-US/WaylandClientAPI.xml $(doc_targets)
> diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
> index a6a5072..bace65e 100644
> --- a/doc/man/Makefile.am
> +++ b/doc/man/Makefile.am
> @@ -15,8 +15,6 @@ CLEANFILES =
> EXTRA_DIST =
> man_MANS =
>
> -if HAVE_XSLTPROC
> -
> CLEANFILES += $(MANPAGES) $(MANPAGES_ALIASES)
> EXTRA_DIST += $(MANPAGES) $(MANPAGES_ALIASES) $(XML_FILES)
> man_MANS += $(MANPAGES) $(MANPAGES_ALIASES)
> @@ -45,5 +43,3 @@ XSLTPROC_PROCESS_MAN = \
> $(XSLTPROC_PROCESS_MAN)
>
> wl_display_connect_to_fd.3: wl_display_connect.3
> -
> -endif # HAVE_XSLTPROC
More information about the wayland-devel
mailing list