[PATCH xserver 7/9] doc: add external doc references support to Xserver-DTrace

Gaetan Nadon memsize at videotron.ca
Thu Apr 28 18:16:14 PDT 2011


This makefile is used to build the 60+ docbooks in xorg.
Dtrace is a user document and should be located under doc subdir.

This user document can now refer to external user/specs docs
or can be referred to by such documnets.

Reviewed-by Jeremy Huddleston <jeremyhu at apple.com>
Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
---
 configure.ac                            |    5 +-
 doc/Makefile.am                         |    2 +-
 doc/dtrace/.gitignore                   |    5 ++
 doc/dtrace/Makefile.am                  |   17 ++++++
 doc/{xml => }/dtrace/Xserver-DTrace.xml |    1 -
 doc/xml/Makefile.am                     |    1 -
 doc/xml/dtrace/.gitignore               |    3 -
 doc/xml/dtrace/Makefile.am              |   36 ------------
 docbook.am                              |   96 +++++++++++++++++++++++++++++++
 9 files changed, 122 insertions(+), 44 deletions(-)
 create mode 100644 doc/dtrace/.gitignore
 create mode 100644 doc/dtrace/Makefile.am
 rename doc/{xml => }/dtrace/Xserver-DTrace.xml (99%)
 delete mode 100644 doc/xml/dtrace/.gitignore
 delete mode 100644 doc/xml/dtrace/Makefile.am
 create mode 100644 docbook.am

diff --git a/configure.ac b/configure.ac
index cd811ef..7ead83b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,11 +38,12 @@ m4_ifndef([XORG_MACROS_VERSION],
 XORG_MACROS_VERSION(1.13)
 XORG_DEFAULT_OPTIONS
 XORG_WITH_DOXYGEN(1.6.1)
-XORG_CHECK_SGML_DOCTOOLS(1.5)
+XORG_CHECK_SGML_DOCTOOLS(1.7)
 XORG_ENABLE_DOCS
 XORG_ENABLE_DEVEL_DOCS
 XORG_WITH_XMLTO(0.0.20)
 XORG_WITH_FOP
+XORG_WITH_XSLTPROC
 XORG_ENABLE_UNIT_TESTS
 XORG_LD_WRAP
 
@@ -2137,8 +2138,8 @@ damageext/Makefile
 dbe/Makefile
 dix/Makefile
 doc/Makefile
+doc/dtrace/Makefile
 doc/xml/Makefile
-doc/xml/dtrace/Makefile
 doc/xml/xserver.ent
 man/Makefile
 fb/Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
index b9015bc..e8634fd 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,3 +1,3 @@
-SUBDIRS = xml
+SUBDIRS = dtrace xml
 
 dist_noinst_DATA = smartsched
diff --git a/doc/dtrace/.gitignore b/doc/dtrace/.gitignore
new file mode 100644
index 0000000..0d40e0d
--- /dev/null
+++ b/doc/dtrace/.gitignore
@@ -0,0 +1,5 @@
+*.html
+*.pdf
+*.ps
+*.txt
+*.db
diff --git a/doc/dtrace/Makefile.am b/doc/dtrace/Makefile.am
new file mode 100644
index 0000000..aaf5a12
--- /dev/null
+++ b/doc/dtrace/Makefile.am
@@ -0,0 +1,17 @@
+
+if ENABLE_DOCS
+if HAVE_XMLTO
+if XSERVER_DTRACE
+
+# Main DocBook/XML files (DOCTYPE book)
+docbook = Xserver-DTrace.xml
+
+# The location where the DocBook/XML files and their generated formats are installed
+shelfdir = $(docdir)
+
+# Generate DocBook/XML output formats with or without stylesheets
+include $(top_srcdir)/docbook.am
+
+endif XSERVER_DTRACE
+endif HAVE_XMLTO
+endif ENABLE_DOCS
diff --git a/doc/xml/dtrace/Xserver-DTrace.xml b/doc/dtrace/Xserver-DTrace.xml
similarity index 99%
rename from doc/xml/dtrace/Xserver-DTrace.xml
rename to doc/dtrace/Xserver-DTrace.xml
index 290f0d3..69cd30e 100644
--- a/doc/xml/dtrace/Xserver-DTrace.xml
+++ b/doc/dtrace/Xserver-DTrace.xml
@@ -576,4 +576,3 @@ Xserver$1:::client-disconnect
   </sect1>
 
 </article>
-
diff --git a/doc/xml/Makefile.am b/doc/xml/Makefile.am
index 6c8178a..0236038 100644
--- a/doc/xml/Makefile.am
+++ b/doc/xml/Makefile.am
@@ -21,7 +21,6 @@
 # DEALINGS IN THE SOFTWARE.
 #
 
-SUBDIRS = dtrace
 doc_sources =  Xserver-spec.xml
 
 # Developer's documentation is not installed
diff --git a/doc/xml/dtrace/.gitignore b/doc/xml/dtrace/.gitignore
deleted file mode 100644
index e2a21d1..0000000
--- a/doc/xml/dtrace/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-Xserver-DTrace.html
-Xserver-DTrace.pdf
-Xserver-DTrace.txt
diff --git a/doc/xml/dtrace/Makefile.am b/doc/xml/dtrace/Makefile.am
deleted file mode 100644
index 1a5ad15..0000000
--- a/doc/xml/dtrace/Makefile.am
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-
-doc_sources =  Xserver-DTrace.xml
-
-if ENABLE_DOCS
-
-# This user's documentation is installed only if tracing is available
-if XSERVER_DTRACE
-include $(top_srcdir)/doc/xml/xmlrules-inst.in
-else
-include $(top_srcdir)/doc/xml/xmlrules-noinst.in
-endif
-
-endif
-
diff --git a/docbook.am b/docbook.am
new file mode 100644
index 0000000..50a542e
--- /dev/null
+++ b/docbook.am
@@ -0,0 +1,96 @@
+#
+# Generate output formats for a single DocBook/XML with/without chapters
+#
+# Variables set by the calling Makefile:
+# shelfdir: the location where the docs/specs are installed. Typically $(docdir)
+# docbook:  the main DocBook/XML file, no chapters, appendix or image files
+# chapters: all files pulled in by an XInclude statement and images.
+#
+
+#
+# This makefile is intended for Users Documentation and Functional Specifications.
+# Do not use for Developer Documentation which is not installed and does not require olink.
+# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393
+# for an explanation on documents classification.
+#
+
+# DocBook/XML generated output formats to be installed
+shelf_DATA =
+
+# DocBook/XML file with chapters, appendix and images it includes
+dist_shelf_DATA = $(docbook) $(chapters)
+
+#
+# Generate DocBook/XML output formats with or without stylesheets
+#
+
+# Stylesheets are available if the package xorg-sgml-doctools is installed
+if HAVE_STYLESHEETS
+
+# The location where all cross reference databases are installed
+sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs
+masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml"
+XMLTO_FLAGS =							\
+	--searchpath "$(XORG_SGML_PATH)/X11"			\
+	--searchpath "$(abs_top_builddir)/doc/xml"		\
+	--stringparam target.database.document=$(masterdb)	\
+	--stringparam current.docid="$(<:.xml=)"		\
+	--stringparam collect.xref.targets="no"
+
+XMLTO_XHTML_FLAGS = \
+	-x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
+	--stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
+
+XMLTO_FO_FLAGS = \
+	-x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
+endif HAVE_STYLESHEETS
+
+shelf_DATA += $(docbook:.xml=.html)
+%.html: %.xml  $(chapters)
+	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $<
+
+if HAVE_FOP
+shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
+%.pdf: %.xml $(chapters)
+	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $<
+%.ps: %.xml $(chapters)
+	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $<
+endif HAVE_FOP
+
+if HAVE_XMLTO_TEXT
+shelf_DATA += $(docbook:.xml=.txt)
+%.txt: %.xml $(chapters)
+	$(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $<
+endif HAVE_XMLTO_TEXT
+
+#
+# Generate documents cross-reference target databases
+#
+
+# This is only possible if the xorg-sgml-doctools package is installed
+if HAVE_STYLESHEETS
+if HAVE_XSLTPROC
+
+# DocBook/XML generated document cross-reference database
+sgmldbs_DATA = $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db)
+
+# Generate DocBook/XML document cross-reference database
+# Flags for the XSL Transformation processor generating xref target databases
+XSLTPROC_FLAGS =					\
+	--path "$(XORG_SGML_PATH)/X11"			\
+	--stringparam targets.filename "$@"		\
+	--stringparam collect.xref.targets "only"	\
+	--nonet --xinclude
+
+%.html.db: %.xml  $(chapters)
+	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
+	http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $<
+
+%.fo.db: %.xml $(chapters)
+	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
+	http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
+
+endif HAVE_XSLTPROC
+endif HAVE_STYLESHEETS
+
+CLEANFILES = $(shelf_DATA) $(sgmldbs_DATA)
-- 
1.6.0.4



More information about the xorg-devel mailing list