diff --git a/configure.ac b/configure.ac index e23274c67..ba6bacb7f 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 @@ -2151,8 +2152,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 b9015bcf6..e8634fd80 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 000000000..0d40e0d22 --- /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 000000000..aaf5a1267 --- /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 290f0d3eb..69cd30eb0 100644 --- a/doc/xml/dtrace/Xserver-DTrace.xml +++ b/doc/dtrace/Xserver-DTrace.xml @@ -576,4 +576,3 @@ Xserver$1:::client-disconnect - diff --git a/doc/xml/Makefile.am b/doc/xml/Makefile.am index b793e7bf0..b35ceec48 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 Xinput.xml # Developer's documentation is not installed diff --git a/doc/xml/dtrace/.gitignore b/doc/xml/dtrace/.gitignore deleted file mode 100644 index e2a21d1e2..000000000 --- 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 1a5ad1511..000000000 --- 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 000000000..50a542efb --- /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)