[libvirt] [PATCH] docs: make the location of the xml catalog file a configure option

Justin Clift jclift at redhat.com
Sun Oct 24 07:39:03 UTC 2010


The default location for the XML catalog file, /etc/xml/catalog,
used when validating the generated html docs, isn't correct for
MacOS X.

This commit adds an option to the configure script, allowing the
default to be overridden:

  --with-xml-catalog-file=/path/to/xml/catalog/file
---
Tested on MacOS X 10.6 (using overridden locatin), and Fedora 13 (using the
default location).  Works fine on both.

 configure.ac     |   17 ++++++++++++-----
 docs/Makefile.am |   10 ++++++----
 2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac
index e41f2b5..153fa1f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -171,6 +171,12 @@ AC_ARG_WITH([html-subdir], [AC_HELP_STRING([--with-html-subdir=path],
             [HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
 AC_SUBST([HTML_DIR])
 
+dnl Specific XML catalog file for validation of generated html
+AC_ARG_WITH([xml-catalog-file], [AC_HELP_STRING([--with-xml-catalog-file=path],
+            [path to XML catalog file for validating generated html, default /etc/xml/catalog])],
+            [XML_CATALOG_FILE=$withval], [XML_CATALOG_FILE='/etc/xml/catalog'])
+AC_SUBST([XML_CATALOG_FILE])
+
 dnl if --prefix is /usr, don't use /usr/var for localstatedir
 dnl or /usr/etc for sysconfdir
 dnl as this makes a lot of things break in testing situations
@@ -2416,11 +2422,12 @@ AC_MSG_NOTICE([  Alloc OOM: $enable_oom])
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([Miscellaneous])
 AC_MSG_NOTICE([])
-AC_MSG_NOTICE([     Debug: $enable_debug])
-AC_MSG_NOTICE([  Warnings: $enable_compile_warnings])
-AC_MSG_NOTICE([  Readline: $lv_use_readline])
-AC_MSG_NOTICE([    Python: $with_python])
-AC_MSG_NOTICE([    DTrace: $with_dtrace])
+AC_MSG_NOTICE([        Debug: $enable_debug])
+AC_MSG_NOTICE([     Warnings: $enable_compile_warnings])
+AC_MSG_NOTICE([     Readline: $lv_use_readline])
+AC_MSG_NOTICE([       Python: $with_python])
+AC_MSG_NOTICE([       DTrace: $with_dtrace])
+AC_MSG_NOTICE([  XML Catalog: $XML_CATALOG_FILE])
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([Privileges])
 AC_MSG_NOTICE([])
diff --git a/docs/Makefile.am b/docs/Makefile.am
index ae13c46..27804a2 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -118,10 +118,11 @@ todo:
 
 %.html: %.html.tmp
 	@if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
-	  if $(XMLCATALOG) /etc/xml/catalog \
+	  if $(XMLCATALOG) $(XML_CATALOG_FILE) \
 	    "-//W3C//DTD XHTML 1.0 Strict//EN" > /dev/null ; then \
 	  echo "Validating $@" ; \
-	  $(XMLLINT) --nonet --format --valid $< > $@ \
+	  SGML_CATALOG_FILES=$(XML_CATALOG_FILE) \
+	  $(XMLLINT) --catalogs --nonet --format --valid $< > $@ \
 	  || { rm $@ && exit 1; }; \
 	  else echo "missing XHTML1 DTD" ; fi ; fi
 
@@ -131,10 +132,11 @@ html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
 	  echo "Rebuilding the HTML pages from the XML API" ; \
 	  $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi
 	- at if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
-	  if $(XMLCATALOG) /etc/xml/catalog "-//W3C//DTD XHTML 1.0 Strict//EN" \
+	  if $(XMLCATALOG) $(XML_CATALOG_FILE) "-//W3C//DTD XHTML 1.0 Strict//EN" \
 	    > /dev/null ; then \
 	  echo "Validating the resulting XHTML pages" ; \
-	  $(XMLLINT) --nonet --valid --noout html/*.html ; \
+	  SGML_CATALOG_FILES=$(XML_CATALOG_FILE) \
+	  $(XMLLINT) --catalogs --nonet --valid --noout html/*.html ; \
 	  else echo "missing XHTML1 DTD" ; fi ; fi
 
 $(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
-- 
1.7.3




More information about the libvir-list mailing list