summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/generated/builders.gen254
-rw-r--r--doc/generated/builders.mod36
-rw-r--r--doc/generated/tools.gen127
-rw-r--r--doc/generated/tools.mod2
-rw-r--r--doc/generated/variables.gen188
-rw-r--r--doc/generated/variables.mod40
-rw-r--r--doc/man/scons.xml7
-rw-r--r--src/engine/MANIFEST-xml.in1
-rw-r--r--src/engine/MANIFEST.in1
-rw-r--r--src/engine/SCons/Tool/docbook/__init__.xml576
-rw-r--r--src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/manual.xml388
-rw-r--r--src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/virt.xml33
-rw-r--r--src/engine/SCons/Tool/docbook/test/basic/pdf/image/SConstruct3
-rw-r--r--src/engine/SCons/Tool/docbook/test/basic/pdf/sconstest-pdf.py52
-rw-r--r--src/engine/SCons/Tool/docbook/test/basic/slidespdf/image/SConstruct3
-rw-r--r--src/engine/SCons/Tool/docbook/test/basic/slidespdf/sconstest-slidespdf.py52
-rw-r--r--src/engine/SCons/Tool/docbook/test/basic/xinclude/image/SConstruct3
-rw-r--r--src/engine/SCons/Tool/docbook/test/basic/xinclude/sconstest-xinclude.py52
-rw-r--r--src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/SConstruct3
-rw-r--r--test/Docbook/basedir/htmlchunked/htmlchunked.py (renamed from src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/sconstest-htmlchunked.py)13
-rw-r--r--test/Docbook/basedir/htmlchunked/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/SConstruct)0
-rw-r--r--test/Docbook/basedir/htmlchunked/image/html.xsl (renamed from src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/html.xsl)0
-rw-r--r--test/Docbook/basedir/htmlchunked/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/manual.xml)0
-rw-r--r--test/Docbook/basedir/htmlhelp/htmlhelp.py (renamed from src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/sconstest-htmlhelp.py)13
-rw-r--r--test/Docbook/basedir/htmlhelp/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/SConstruct)0
-rw-r--r--test/Docbook/basedir/htmlhelp/image/htmlhelp.xsl (renamed from src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/htmlhelp.xsl)0
-rw-r--r--test/Docbook/basedir/htmlhelp/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/manual.xml)0
-rw-r--r--test/Docbook/basedir/slideshtml/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/SConstruct)0
-rw-r--r--test/Docbook/basedir/slideshtml/image/slides.xsl (renamed from src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/slides.xsl)0
-rw-r--r--test/Docbook/basedir/slideshtml/image/virt.xml (renamed from src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/virt.xml)0
-rw-r--r--test/Docbook/basedir/slideshtml/slideshtml.py (renamed from src/engine/SCons/Tool/docbook/test/basedir/slideshtml/sconstest-slideshtml.py)13
-rw-r--r--test/Docbook/basic/html/html.py (renamed from src/engine/SCons/Tool/docbook/test/basic/html/sconstest-html.py)13
-rw-r--r--test/Docbook/basic/html/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basic/html/image/SConstruct)0
-rw-r--r--test/Docbook/basic/html/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/pdf/image/manual.xml)0
-rw-r--r--test/Docbook/basic/htmlchunked/htmlchunked.py (renamed from src/engine/SCons/Tool/docbook/test/basic/htmlchunked/sconstest-htmlchunked.py)13
-rw-r--r--test/Docbook/basic/htmlchunked/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basic/htmlchunked/image/SConstruct)0
-rw-r--r--test/Docbook/basic/htmlchunked/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/htmlhelp/image/manual.xml)0
-rw-r--r--test/Docbook/basic/htmlhelp/htmlhelp.py (renamed from src/engine/SCons/Tool/docbook/test/basic/htmlhelp/sconstest-htmlhelp.py)13
-rw-r--r--test/Docbook/basic/htmlhelp/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basic/htmlhelp/image/SConstruct)0
-rw-r--r--test/Docbook/basic/htmlhelp/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/htmlchunked/image/manual.xml)0
-rw-r--r--test/Docbook/basic/man/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basic/man/image/SConstruct)0
-rw-r--r--test/Docbook/basic/man/image/refdb.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/man/image/refdb.xml)0
-rw-r--r--test/Docbook/basic/man/man.py (renamed from src/engine/SCons/Tool/docbook/test/basic/man/sconstest-man.py)13
-rw-r--r--test/Docbook/basic/slideshtml/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/basic/slideshtml/image/SConstruct)0
-rw-r--r--test/Docbook/basic/slideshtml/image/virt.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/slidespdf/image/virt.xml)0
-rw-r--r--test/Docbook/basic/slideshtml/slideshtml.py (renamed from src/engine/SCons/Tool/docbook/test/basic/slideshtml/sconstest-slideshtml.py)13
-rw-r--r--test/Docbook/basic/xinclude/image/SConstruct3
-rw-r--r--test/Docbook/basic/xinclude/image/include.txt (renamed from src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/include.txt)0
-rw-r--r--test/Docbook/basic/xinclude/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/manual.xml)0
-rw-r--r--test/Docbook/basic/xinclude/xinclude.py59
-rw-r--r--test/Docbook/dependencies/xinclude/image/SConstruct3
-rw-r--r--test/Docbook/dependencies/xinclude/image/include.txt (renamed from src/engine/SCons/Tool/docbook/test/basic/xinclude/image/include.txt)0
-rw-r--r--test/Docbook/dependencies/xinclude/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/xinclude/image/manual.xml)0
-rw-r--r--test/Docbook/dependencies/xinclude/xinclude.py (renamed from src/engine/SCons/Tool/docbook/test/dependencies/xinclude/sconstest-xinclude.py)21
-rw-r--r--test/Docbook/rootname/htmlchunked/htmlchunked.py (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/sconstest-htmlchunked.py)13
-rw-r--r--test/Docbook/rootname/htmlchunked/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/SConstruct)0
-rw-r--r--test/Docbook/rootname/htmlchunked/image/html.xsl (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/html.xsl)0
-rw-r--r--test/Docbook/rootname/htmlchunked/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/html/image/manual.xml)0
-rw-r--r--test/Docbook/rootname/htmlhelp/htmlhelp.py (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/sconstest-htmlhelp.py)13
-rw-r--r--test/Docbook/rootname/htmlhelp/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/SConstruct)0
-rw-r--r--test/Docbook/rootname/htmlhelp/image/htmlhelp.xsl (renamed from src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/htmlhelp.xsl)0
-rw-r--r--test/Docbook/rootname/htmlhelp/image/manual.xml (renamed from src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/manual.xml)0
-rw-r--r--test/Docbook/rootname/slideshtml/image/SConstruct (renamed from src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/SConstruct)0
-rw-r--r--test/Docbook/rootname/slideshtml/image/slides.xsl (renamed from src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/slides.xsl)0
-rw-r--r--test/Docbook/rootname/slideshtml/image/virt.xml (renamed from src/engine/SCons/Tool/docbook/test/basic/slideshtml/image/virt.xml)0
-rw-r--r--test/Docbook/rootname/slideshtml/slideshtml.py (renamed from src/engine/SCons/Tool/docbook/test/rootname/slideshtml/sconstest-slideshtml.py)13
66 files changed, 1419 insertions, 631 deletions
diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen
index 0e3073e..eec4711 100644
--- a/doc/generated/builders.gen
+++ b/doc/generated/builders.gen
@@ -84,6 +84,260 @@ env.CXXFile(target = 'bar', source = 'bar.yy')
</example_commands>
</listitem>
</varlistentry>
+ <varlistentry id="b-DocbookHtml">
+ <term>
+ <function>DocbookHtml()</function>
+ </term>
+ <term>
+ <function>env.DocbookHtml()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, providing a Docbook toolchain for HTML output.
+</para>
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtml('manual.html', 'manual.xml')
+</example_commands>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+or simply
+</para>
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtml('manual')
+</example_commands>
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookHtmlChunked">
+ <term>
+ <function>DocbookHtmlChunked()</function>
+ </term>
+ <term>
+ <function>env.DocbookHtmlChunked()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, providing a Docbook toolchain for chunked HTML output.
+It supports the <literal>base.dir</literal> parameter. The
+<filename>chunkfast.xsl</filename> file (requires "EXSLT") is used as the
+default stylesheet. Basic syntax:
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtmlChunked('manual')
+</example_commands>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+where <filename>manual.xml</filename> is the input file.
+</para>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">If you use the <literal>root.filename</literal>
+parameter in your own stylesheets you have to specify the new target name.
+This ensures that the dependencies get correct, especially for the cleanup via <quote><literal>scons -c</literal></quote>:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtmlChunked('mymanual.html', 'manual', xsl='htmlchunk.xsl')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Some basic support for the <literal>base.dir</literal> is provided. You
+can add the <literal>base_dir</literal> keyword to your Builder
+call, and the given prefix gets prepended to all the created filenames:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtmlChunked('manual', xsl='htmlchunk.xsl', base_dir='output/')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Make sure that you don't forget the trailing slash for the base folder, else
+your files get renamed only!
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookHtmlhelp">
+ <term>
+ <function>DocbookHtmlhelp()</function>
+ </term>
+ <term>
+ <function>env.DocbookHtmlhelp()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, providing a Docbook toolchain for HTMLHELP output.
+Its basic syntax is:
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('manual')
+</example_commands>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+where <filename>manual.xml</filename> is the input file.
+</para>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">If you use the <literal>root.filename</literal>
+parameter in your own stylesheets you have to specify the new target name.
+This ensures that the dependencies get correct, especially for the cleanup via <quote><literal>scons -c</literal></quote>:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('mymanual.html', 'manual', xsl='htmlhelp.xsl')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Some basic support for the <literal>base.dir</literal> parameter
+is provided. You can add the <literal>base_dir</literal> keyword to
+your Builder call, and the given prefix gets prepended to all the
+created filenames:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('manual', xsl='htmlhelp.xsl', base_dir='output/')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Make sure that you don't forget the trailing slash for the base folder, else
+your files get renamed only!
+</para>
+
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookMan">
+ <term>
+ <function>DocbookMan()</function>
+ </term>
+ <term>
+ <function>env.DocbookMan()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, providing a Docbook toolchain for Man page output.
+Its basic syntax is:
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookMan('manual')
+</example_commands>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+where <filename>manual.xml</filename> is the input file. Note, that
+you can specify a target name, but the actual output names are automatically
+set from the <literal>refname</literal> entries in your XML source.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookPdf">
+ <term>
+ <function>DocbookPdf()</function>
+ </term>
+ <term>
+ <function>env.DocbookPdf()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, providing a Docbook toolchain for PDF output.
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookPdf('manual.pdf', 'manual.xml')
+</example_commands>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+or simply
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookPdf('manual')
+</example_commands>
+
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookSlidesHtml">
+ <term>
+ <function>DocbookSlidesHtml()</function>
+ </term>
+ <term>
+ <function>env.DocbookSlidesHtml()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, providing a Docbook toolchain for HTML slides output.
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookSlidesHtml('manual')
+</example_commands>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">If you use the <literal>titlefoil.html</literal> parameter in
+your own stylesheets you have to give the new target name. This ensures
+that the dependencies get correct, especially for the cleanup via
+<quote><literal>scons -c</literal></quote>:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookSlidesHtml('mymanual.html','manual', xsl='slideshtml.xsl')
+</screen>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Some basic support for the <literal>base.dir</literal> parameter
+is provided. You
+can add the <literal>base_dir</literal> keyword to your Builder
+call, and the given prefix gets prepended to all the created filenames:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookSlidesHtml('manual', xsl='slideshtml.xsl', base_dir='output/')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Make sure that you don't forget the trailing slash for the base folder, else
+your files get renamed only!
+</para>
+
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookSlidesPdf">
+ <term>
+ <function>DocbookSlidesPdf()</function>
+ </term>
+ <term>
+ <function>env.DocbookSlidesPdf()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, providing a Docbook toolchain for PDF slides output.
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookSlidesPdf('manual.pdf', 'manual.xml')
+</example_commands>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+or simply
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookSlidesPdf('manual')
+</example_commands>
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookXInclude">
+ <term>
+ <function>DocbookXInclude()</function>
+ </term>
+ <term>
+ <function>env.DocbookXInclude()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, for resolving XIncludes in a separate processing step.
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookXInclude('manual_xincluded.xml', 'manual.xml')
+</example_commands>
+</listitem>
+ </varlistentry>
+ <varlistentry id="b-DocbookXslt">
+ <term>
+ <function>DocbookXslt()</function>
+ </term>
+ <term>
+ <function>env.DocbookXslt()</function>
+ </term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+A pseudo-Builder, applying a given XSL transformation to the input file.
+</para>
+
+<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookXslt('manual_transformed.xml', 'manual.xml', xsl='transform.xslt')
+</example_commands>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Note, that this builder requires the <literal>xsl</literal> parameter
+to be set.
+</para>
+</listitem>
+ </varlistentry>
<varlistentry id="b-DVI">
<term>
<function>DVI()</function>
diff --git a/doc/generated/builders.mod b/doc/generated/builders.mod
index 13472db..59900cc 100644
--- a/doc/generated/builders.mod
+++ b/doc/generated/builders.mod
@@ -11,6 +11,15 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY b-CFile "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CFile</function>">
<!ENTITY b-Command "<function xmlns='http://www.scons.org/dbxsd/v1.0'>Command</function>">
<!ENTITY b-CXXFile "<function xmlns='http://www.scons.org/dbxsd/v1.0'>CXXFile</function>">
+<!ENTITY b-DocbookHtml "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookHtml</function>">
+<!ENTITY b-DocbookHtmlChunked "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookHtmlChunked</function>">
+<!ENTITY b-DocbookHtmlhelp "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookHtmlhelp</function>">
+<!ENTITY b-DocbookMan "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookMan</function>">
+<!ENTITY b-DocbookPdf "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookPdf</function>">
+<!ENTITY b-DocbookSlidesHtml "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookSlidesHtml</function>">
+<!ENTITY b-DocbookSlidesPdf "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookSlidesPdf</function>">
+<!ENTITY b-DocbookXInclude "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookXInclude</function>">
+<!ENTITY b-DocbookXslt "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DocbookXslt</function>">
<!ENTITY b-DVI "<function xmlns='http://www.scons.org/dbxsd/v1.0'>DVI</function>">
<!ENTITY b-Install "<function xmlns='http://www.scons.org/dbxsd/v1.0'>Install</function>">
<!ENTITY b-InstallAs "<function xmlns='http://www.scons.org/dbxsd/v1.0'>InstallAs</function>">
@@ -55,6 +64,15 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY b-env-CFile "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.CFile</function>">
<!ENTITY b-env-Command "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.Command</function>">
<!ENTITY b-env-CXXFile "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.CXXFile</function>">
+<!ENTITY b-env-DocbookHtml "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookHtml</function>">
+<!ENTITY b-env-DocbookHtmlChunked "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookHtmlChunked</function>">
+<!ENTITY b-env-DocbookHtmlhelp "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookHtmlhelp</function>">
+<!ENTITY b-env-DocbookMan "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookMan</function>">
+<!ENTITY b-env-DocbookPdf "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookPdf</function>">
+<!ENTITY b-env-DocbookSlidesHtml "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookSlidesHtml</function>">
+<!ENTITY b-env-DocbookSlidesPdf "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookSlidesPdf</function>">
+<!ENTITY b-env-DocbookXInclude "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookXInclude</function>">
+<!ENTITY b-env-DocbookXslt "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DocbookXslt</function>">
<!ENTITY b-env-DVI "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.DVI</function>">
<!ENTITY b-env-Install "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.Install</function>">
<!ENTITY b-env-InstallAs "<function xmlns='http://www.scons.org/dbxsd/v1.0'>env.InstallAs</function>">
@@ -109,6 +127,15 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY b-link-CFile "<link linkend='b-CFile' xmlns='http://www.scons.org/dbxsd/v1.0'><function>CFile</function></link>">
<!ENTITY b-link-Command "<link linkend='b-Command' xmlns='http://www.scons.org/dbxsd/v1.0'><function>Command</function></link>">
<!ENTITY b-link-CXXFile "<link linkend='b-CXXFile' xmlns='http://www.scons.org/dbxsd/v1.0'><function>CXXFile</function></link>">
+<!ENTITY b-link-DocbookHtml "<link linkend='b-DocbookHtml' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookHtml</function></link>">
+<!ENTITY b-link-DocbookHtmlChunked "<link linkend='b-DocbookHtmlChunked' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookHtmlChunked</function></link>">
+<!ENTITY b-link-DocbookHtmlhelp "<link linkend='b-DocbookHtmlhelp' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookHtmlhelp</function></link>">
+<!ENTITY b-link-DocbookMan "<link linkend='b-DocbookMan' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookMan</function></link>">
+<!ENTITY b-link-DocbookPdf "<link linkend='b-DocbookPdf' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookPdf</function></link>">
+<!ENTITY b-link-DocbookSlidesHtml "<link linkend='b-DocbookSlidesHtml' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookSlidesHtml</function></link>">
+<!ENTITY b-link-DocbookSlidesPdf "<link linkend='b-DocbookSlidesPdf' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookSlidesPdf</function></link>">
+<!ENTITY b-link-DocbookXInclude "<link linkend='b-DocbookXInclude' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookXInclude</function></link>">
+<!ENTITY b-link-DocbookXslt "<link linkend='b-DocbookXslt' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DocbookXslt</function></link>">
<!ENTITY b-link-DVI "<link linkend='b-DVI' xmlns='http://www.scons.org/dbxsd/v1.0'><function>DVI</function></link>">
<!ENTITY b-link-Install "<link linkend='b-Install' xmlns='http://www.scons.org/dbxsd/v1.0'><function>Install</function></link>">
<!ENTITY b-link-InstallAs "<link linkend='b-InstallAs' xmlns='http://www.scons.org/dbxsd/v1.0'><function>InstallAs</function></link>">
@@ -153,6 +180,15 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY b-link-env-CFile "<link linkend='b-CFile' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.CFile</function></link>">
<!ENTITY b-link-env-Command "<link linkend='b-Command' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.Command</function></link>">
<!ENTITY b-link-env-CXXFile "<link linkend='b-CXXFile' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.CXXFile</function></link>">
+<!ENTITY b-link-env-DocbookHtml "<link linkend='b-DocbookHtml' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookHtml</function></link>">
+<!ENTITY b-link-env-DocbookHtmlChunked "<link linkend='b-DocbookHtmlChunked' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookHtmlChunked</function></link>">
+<!ENTITY b-link-env-DocbookHtmlhelp "<link linkend='b-DocbookHtmlhelp' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookHtmlhelp</function></link>">
+<!ENTITY b-link-env-DocbookMan "<link linkend='b-DocbookMan' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookMan</function></link>">
+<!ENTITY b-link-env-DocbookPdf "<link linkend='b-DocbookPdf' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookPdf</function></link>">
+<!ENTITY b-link-env-DocbookSlidesHtml "<link linkend='b-DocbookSlidesHtml' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookSlidesHtml</function></link>">
+<!ENTITY b-link-env-DocbookSlidesPdf "<link linkend='b-DocbookSlidesPdf' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookSlidesPdf</function></link>">
+<!ENTITY b-link-env-DocbookXInclude "<link linkend='b-DocbookXInclude' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookXInclude</function></link>">
+<!ENTITY b-link-env-DocbookXslt "<link linkend='b-DocbookXslt' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DocbookXslt</function></link>">
<!ENTITY b-link-env-DVI "<link linkend='b-DVI' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.DVI</function></link>">
<!ENTITY b-link-env-Install "<link linkend='b-Install' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.Install</function></link>">
<!ENTITY b-link-env-InstallAs "<link linkend='b-InstallAs' xmlns='http://www.scons.org/dbxsd/v1.0'><function>env.InstallAs</function></link>">
diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen
index ceea030..57bb0a2 100644
--- a/doc/generated/tools.gen
+++ b/doc/generated/tools.gen
@@ -147,6 +147,133 @@ Sets construction variables for D language compilers
</para>
</listitem>
</varlistentry>
+ <varlistentry id="t-docbook">
+ <term>docbook</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">This tool tries to make working with Docbook in SCons a little easier.
+It provides several toolchains for creating different output formats,
+like HTML or PDF. Contained in the package is
+a distribution of the Docbook XSL stylesheets as of version 1.76.1.
+As long as you don't specify your own stylesheets for customization,
+these official versions are picked as default...which should reduce
+the inevitable setup hassles for you.
+</para>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Implicit dependencies to images and XIncludes are detected automatically
+if you meet the HTML requirements. The additional
+stylesheet <filename>utils/xmldepend.xsl</filename> by Paul DuBois is used for this purpose.
+</para>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Note, that there is no support for XML catalog resolving offered! This tool calls
+the XSLT processors and PDF renderers with the stylesheets you specified, that's it.
+The rest lies in your hands and you still have to know what you're doing when
+resolving names via a catalog.
+</para>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">For activating the tool "docbook", you have to add its name to the Environment constructor,
+like this
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">On its startup, the Docbook tool tries to find a required <literal>xsltproc</literal> processor, and
+a PDF renderer, e.g. <literal>fop</literal>. So make sure that these are added to your system's environment
+<literal>PATH</literal> and can be called directly, without specifying their full path.
+</para>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">For the most basic processing of Docbook to HTML, you need to have installed
+</para>
+<itemizedlist xmlns="http://www.scons.org/dbxsd/v1.0"><listitem><para>the Python <literal>lxml</literal> binding to <literal>libxml2</literal>, or
+</para>
+</listitem>
+<listitem><para>the direct Python bindings for <literal>libxml2/libxslt</literal>, or
+</para>
+</listitem>
+<listitem><para>a standalone XSLT processor, currently detected are <literal>xsltproc</literal>, <literal>saxon</literal>, <literal>saxon-xslt</literal>
+and <literal>xalan</literal>.
+</para>
+</listitem>
+</itemizedlist>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Rendering to PDF requires you to have one of the applications
+<literal>fop</literal> or <literal>xep</literal> installed.
+</para>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Creating a HTML or PDF document is very simple and straightforward. Say
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtml('manual.html', 'manual.xml')
+env.DocbookPdf('manual.pdf', 'manual.xml')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">to get both outputs from your XML source <filename>manual.xml</filename>. As a shortcut, you can
+give the stem of the filenames alone, like this:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtml('manual')
+env.DocbookPdf('manual')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">and get the same result. Target and source lists are also supported:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtml(['manual.html','reference.html'], ['manual.xml','reference.xml'])
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">or even
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtml(['manual','reference'])
+</screen>
+<important xmlns="http://www.scons.org/dbxsd/v1.0"><para>Whenever you leave out the list of sources, you may not specify a file extension! The
+Tool uses the given names as file stems, and adds the suffixes for target and source files
+accordingly.
+</para>
+</important>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">The rules given above are valid for the Builders <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtml"><function>DocbookHtml</function></link>,
+<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookPdf"><function>DocbookPdf</function></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookSlidesPdf"><function>DocbookSlidesPdf</function></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookXInclude"><function>DocbookXInclude</function></link>. For the
+<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookMan"><function>DocbookMan</function></link> transformation you
+can specify a target name, but the actual output names are automatically
+set from the <literal>refname</literal> entries in your XML source.
+</para>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">The Builders <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtmlChunked"><function>DocbookHtmlChunked</function></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtmlhelp"><function>DocbookHtmlhelp</function></link> and
+<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookSlidesHtml"><function>DocbookSlidesHtml</function></link> are special, in that:
+</para>
+<orderedlist xmlns="http://www.scons.org/dbxsd/v1.0"><listitem><para>they create a large set of files, where the exact names and their number depend
+on the content of the source file, and
+</para>
+</listitem>
+<listitem><para>the main target is always named <filename>index.html</filename>, i.e. the output name for the
+XSL transformation is not picked up by the stylesheets.
+</para>
+</listitem>
+</orderedlist>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">As a result, there is simply no use in specifying a target HTML name.
+So the basic syntax for these builders is always:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('manual')
+</screen>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">If you want to use a specific XSL file, you can set the
+additional <literal>xsl</literal> parameter to your
+Builder call as follows:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env.DocbookHtml('other.html', 'manual.xml', xsl='html.xsl')
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">Since this may get tedious if you always use the same local naming for your customized XSL files,
+e.g. <filename>html.xsl</filename> for HTML and <filename>pdf.xsl</filename> for PDF output, a set of
+variables for setting the default XSL name is provided. These are:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">DOCBOOK_DEFAULT_XSL_HTML
+DOCBOOK_DEFAULT_XSL_HTMLCHUNKED
+DOCBOOK_DEFAULT_XSL_HTMLHELP
+DOCBOOK_DEFAULT_XSL_PDF
+DOCBOOK_DEFAULT_XSL_MAN
+DOCBOOK_DEFAULT_XSL_SLIDESPDF
+DOCBOOK_DEFAULT_XSL_SLIDESHTML
+</screen>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">and you can set them when constructing your environment:
+</para>
+<screen xmlns="http://www.scons.org/dbxsd/v1.0">env = Environment(tools=['docbook'],
+ DOCBOOK_DEFAULT_XSL_HTML='html.xsl',
+ DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl')
+env.DocbookHtml('manual') # now uses html.xsl
+</screen>
+<para>Sets: &cv-link-DOCBOOK_DEFAULT_XSL_HTML;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLHELP;, &cv-link-DOCBOOK_DEFAULT_XSL_MAN;, &cv-link-DOCBOOK_DEFAULT_XSL_PDF;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESHTML;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESPDF;, &cv-link-DOCBOOK_FOP;, &cv-link-DOCBOOK_FOPCOM;, &cv-link-DOCBOOK_FOPFLAGS;, &cv-link-DOCBOOK_XMLLINT;, &cv-link-DOCBOOK_XMLLINTCOM;, &cv-link-DOCBOOK_XMLLINTFLAGS;, &cv-link-DOCBOOK_XSLTPROC;, &cv-link-DOCBOOK_XSLTPROCCOM;, &cv-link-DOCBOOK_XSLTPROCFLAGS;, &cv-link-DOCBOOK_XSLTPROCPARAMS;.</para><para>Uses: &cv-link-DOCBOOK_FOPCOMSTR;, &cv-link-DOCBOOK_XMLLINTCOMSTR;, &cv-link-DOCBOOK_XSLTPROCCOMSTR;.</para></listitem>
+ </varlistentry>
<varlistentry id="t-dvi">
<term>dvi</term>
<listitem>
diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod
index bde2470..0a746b0 100644
--- a/doc/generated/tools.mod
+++ b/doc/generated/tools.mod
@@ -24,6 +24,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY t-cXX "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>cXX</literal>">
<!ENTITY t-default "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>default</literal>">
<!ENTITY t-dmd "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>dmd</literal>">
+<!ENTITY t-docbook "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>docbook</literal>">
<!ENTITY t-dvi "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>dvi</literal>">
<!ENTITY t-dvipdf "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>dvipdf</literal>">
<!ENTITY t-dvips "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>dvips</literal>">
@@ -130,6 +131,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY t-link-cXX "<link linkend='t-cXX' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>cXX</literal></link>">
<!ENTITY t-link-default "<link linkend='t-default' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>default</literal></link>">
<!ENTITY t-link-dmd "<link linkend='t-dmd' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>dmd</literal></link>">
+<!ENTITY t-link-docbook "<link linkend='t-docbook' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>docbook</literal></link>">
<!ENTITY t-link-dvi "<link linkend='t-dvi' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>dvi</literal></link>">
<!ENTITY t-link-dvipdf "<link linkend='t-dvipdf' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>dvipdf</literal></link>">
<!ENTITY t-link-dvips "<link linkend='t-dvips' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>dvips</literal></link>">
diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen
index c2e83ae..1828112 100644
--- a/doc/generated/variables.gen
+++ b/doc/generated/variables.gen
@@ -909,6 +909,194 @@ into a list of Dir instances relative to the target being built.
</para>
</listitem>
</varlistentry>
+ <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_HTML">
+ <term>DOCBOOK_DEFAULT_XSL_HTML</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtml"><function>DocbookHtml</function></link> builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED">
+ <term>DOCBOOK_DEFAULT_XSL_HTMLCHUNKED</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtmlChunked"><function>DocbookHtmlChunked</function></link> builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_HTMLHELP">
+ <term>DOCBOOK_DEFAULT_XSL_HTMLHELP</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtmlhelp"><function>DocbookHtmlhelp</function></link> builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_MAN">
+ <term>DOCBOOK_DEFAULT_XSL_MAN</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookMan"><function>DocbookMan</function></link> builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_PDF">
+ <term>DOCBOOK_DEFAULT_XSL_PDF</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookPdf"><function>DocbookPdf</function></link> builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_SLIDESHTML">
+ <term>DOCBOOK_DEFAULT_XSL_SLIDESHTML</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookSlidesHtml"><function>DocbookSlidesHtml</function></link> builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_SLIDESPDF">
+ <term>DOCBOOK_DEFAULT_XSL_SLIDESPDF</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookSlidesPdf"><function>DocbookSlidesPdf</function></link> builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_FOP">
+ <term>DOCBOOK_FOP</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The path to the PDF renderer <literal>fop</literal> or <literal>xep</literal>,
+if one of them is installed (<literal>fop</literal> gets checked first).
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_FOPCOM">
+ <term>DOCBOOK_FOPCOM</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The full command-line for the
+PDF renderer <literal>fop</literal> or <literal>xep</literal>.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_FOPCOMSTR">
+ <term>DOCBOOK_FOPCOMSTR</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The string displayed when a renderer like <literal>fop</literal> or
+<literal>xep</literal> is used to create PDF output from an XML file.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_FOPFLAGS">
+ <term>DOCBOOK_FOPFLAGS</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+Additonal command-line flags for the
+PDF renderer <literal>fop</literal> or <literal>xep</literal>.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XMLLINT">
+ <term>DOCBOOK_XMLLINT</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The path to the external executable <literal>xmllint</literal>, if it's installed.
+Note, that this is only used as last fallback for resolving
+XIncludes, if no libxml2 or lxml Python binding can be imported
+in the current system.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XMLLINTCOM">
+ <term>DOCBOOK_XMLLINTCOM</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The full command-line for the external executable
+<literal>xmllint</literal>.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XMLLINTCOMSTR">
+ <term>DOCBOOK_XMLLINTCOMSTR</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The string displayed when <literal>xmllint</literal> is used to resolve
+XIncludes for a given XML file.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XMLLINTFLAGS">
+ <term>DOCBOOK_XMLLINTFLAGS</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+Additonal command-line flags for the external executable
+<literal>xmllint</literal>.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XSLTPROC">
+ <term>DOCBOOK_XSLTPROC</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The path to the external executable <literal>xsltproc</literal>
+(or <literal>saxon</literal>, <literal>xalan</literal>), if one of them
+is installed.
+Note, that this is only used as last fallback for XSL transformations, if
+no libxml2 or lxml Python binding can be imported in the current system.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XSLTPROCCOM">
+ <term>DOCBOOK_XSLTPROCCOM</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The full command-line for the external executable
+<literal>xsltproc</literal> (or <literal>saxon</literal>,
+<literal>xalan</literal>).
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XSLTPROCCOMSTR">
+ <term>DOCBOOK_XSLTPROCCOMSTR</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+The string displayed when <literal>xsltproc</literal> is used to transform
+an XML file via a given XSLT stylesheet.
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XSLTPROCFLAGS">
+ <term>DOCBOOK_XSLTPROCFLAGS</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+Additonal command-line flags for the external executable
+<literal>xsltproc</literal> (or <literal>saxon</literal>,
+<literal>xalan</literal>).
+</para>
+</listitem>
+ </varlistentry>
+ <varlistentry id="cv-DOCBOOK_XSLTPROCPARAMS">
+ <term>DOCBOOK_XSLTPROCPARAMS</term>
+ <listitem>
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
+Additonal parameters that are not intended for the XSLT processor executable, but
+the XSL processing itself. By default, they get appended at the end of the command line
+for <literal>saxon</literal> and <literal>saxon-xslt</literal>, respectively.
+</para>
+</listitem>
+ </varlistentry>
<varlistentry id="cv-DSUFFIXES">
<term>DSUFFIXES</term>
<listitem>
diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod
index 28b0d41..7247f55 100644
--- a/doc/generated/variables.mod
+++ b/doc/generated/variables.mod
@@ -70,6 +70,26 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-DESCRIPTION_lang "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DESCRIPTION_lang</envar>">
<!ENTITY cv-Dir "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$Dir</envar>">
<!ENTITY cv-Dirs "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$Dirs</envar>">
+<!ENTITY cv-DOCBOOK_DEFAULT_XSL_HTML "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_DEFAULT_XSL_HTML</envar>">
+<!ENTITY cv-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_DEFAULT_XSL_HTMLCHUNKED</envar>">
+<!ENTITY cv-DOCBOOK_DEFAULT_XSL_HTMLHELP "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_DEFAULT_XSL_HTMLHELP</envar>">
+<!ENTITY cv-DOCBOOK_DEFAULT_XSL_MAN "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_DEFAULT_XSL_MAN</envar>">
+<!ENTITY cv-DOCBOOK_DEFAULT_XSL_PDF "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_DEFAULT_XSL_PDF</envar>">
+<!ENTITY cv-DOCBOOK_DEFAULT_XSL_SLIDESHTML "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_DEFAULT_XSL_SLIDESHTML</envar>">
+<!ENTITY cv-DOCBOOK_DEFAULT_XSL_SLIDESPDF "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_DEFAULT_XSL_SLIDESPDF</envar>">
+<!ENTITY cv-DOCBOOK_FOP "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_FOP</envar>">
+<!ENTITY cv-DOCBOOK_FOPCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_FOPCOM</envar>">
+<!ENTITY cv-DOCBOOK_FOPCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_FOPCOMSTR</envar>">
+<!ENTITY cv-DOCBOOK_FOPFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_FOPFLAGS</envar>">
+<!ENTITY cv-DOCBOOK_XMLLINT "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XMLLINT</envar>">
+<!ENTITY cv-DOCBOOK_XMLLINTCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XMLLINTCOM</envar>">
+<!ENTITY cv-DOCBOOK_XMLLINTCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XMLLINTCOMSTR</envar>">
+<!ENTITY cv-DOCBOOK_XMLLINTFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XMLLINTFLAGS</envar>">
+<!ENTITY cv-DOCBOOK_XSLTPROC "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XSLTPROC</envar>">
+<!ENTITY cv-DOCBOOK_XSLTPROCCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XSLTPROCCOM</envar>">
+<!ENTITY cv-DOCBOOK_XSLTPROCCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XSLTPROCCOMSTR</envar>">
+<!ENTITY cv-DOCBOOK_XSLTPROCFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XSLTPROCFLAGS</envar>">
+<!ENTITY cv-DOCBOOK_XSLTPROCPARAMS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DOCBOOK_XSLTPROCPARAMS</envar>">
<!ENTITY cv-DSUFFIXES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DSUFFIXES</envar>">
<!ENTITY cv-DVIPDF "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DVIPDF</envar>">
<!ENTITY cv-DVIPDFCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DVIPDFCOM</envar>">
@@ -630,6 +650,26 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-DESCRIPTION_lang "<link linkend='cv-DESCRIPTION_lang' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DESCRIPTION_lang</envar></link>">
<!ENTITY cv-link-Dir "<link linkend='cv-Dir' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$Dir</envar></link>">
<!ENTITY cv-link-Dirs "<link linkend='cv-Dirs' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$Dirs</envar></link>">
+<!ENTITY cv-link-DOCBOOK_DEFAULT_XSL_HTML "<link linkend='cv-DOCBOOK_DEFAULT_XSL_HTML' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_DEFAULT_XSL_HTML</envar></link>">
+<!ENTITY cv-link-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED "<link linkend='cv-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_DEFAULT_XSL_HTMLCHUNKED</envar></link>">
+<!ENTITY cv-link-DOCBOOK_DEFAULT_XSL_HTMLHELP "<link linkend='cv-DOCBOOK_DEFAULT_XSL_HTMLHELP' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_DEFAULT_XSL_HTMLHELP</envar></link>">
+<!ENTITY cv-link-DOCBOOK_DEFAULT_XSL_MAN "<link linkend='cv-DOCBOOK_DEFAULT_XSL_MAN' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_DEFAULT_XSL_MAN</envar></link>">
+<!ENTITY cv-link-DOCBOOK_DEFAULT_XSL_PDF "<link linkend='cv-DOCBOOK_DEFAULT_XSL_PDF' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_DEFAULT_XSL_PDF</envar></link>">
+<!ENTITY cv-link-DOCBOOK_DEFAULT_XSL_SLIDESHTML "<link linkend='cv-DOCBOOK_DEFAULT_XSL_SLIDESHTML' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_DEFAULT_XSL_SLIDESHTML</envar></link>">
+<!ENTITY cv-link-DOCBOOK_DEFAULT_XSL_SLIDESPDF "<link linkend='cv-DOCBOOK_DEFAULT_XSL_SLIDESPDF' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_DEFAULT_XSL_SLIDESPDF</envar></link>">
+<!ENTITY cv-link-DOCBOOK_FOP "<link linkend='cv-DOCBOOK_FOP' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_FOP</envar></link>">
+<!ENTITY cv-link-DOCBOOK_FOPCOM "<link linkend='cv-DOCBOOK_FOPCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_FOPCOM</envar></link>">
+<!ENTITY cv-link-DOCBOOK_FOPCOMSTR "<link linkend='cv-DOCBOOK_FOPCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_FOPCOMSTR</envar></link>">
+<!ENTITY cv-link-DOCBOOK_FOPFLAGS "<link linkend='cv-DOCBOOK_FOPFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_FOPFLAGS</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XMLLINT "<link linkend='cv-DOCBOOK_XMLLINT' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XMLLINT</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XMLLINTCOM "<link linkend='cv-DOCBOOK_XMLLINTCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XMLLINTCOM</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XMLLINTCOMSTR "<link linkend='cv-DOCBOOK_XMLLINTCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XMLLINTCOMSTR</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XMLLINTFLAGS "<link linkend='cv-DOCBOOK_XMLLINTFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XMLLINTFLAGS</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XSLTPROC "<link linkend='cv-DOCBOOK_XSLTPROC' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XSLTPROC</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XSLTPROCCOM "<link linkend='cv-DOCBOOK_XSLTPROCCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XSLTPROCCOM</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XSLTPROCCOMSTR "<link linkend='cv-DOCBOOK_XSLTPROCCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XSLTPROCCOMSTR</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XSLTPROCFLAGS "<link linkend='cv-DOCBOOK_XSLTPROCFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XSLTPROCFLAGS</envar></link>">
+<!ENTITY cv-link-DOCBOOK_XSLTPROCPARAMS "<link linkend='cv-DOCBOOK_XSLTPROCPARAMS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DOCBOOK_XSLTPROCPARAMS</envar></link>">
<!ENTITY cv-link-DSUFFIXES "<link linkend='cv-DSUFFIXES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DSUFFIXES</envar></link>">
<!ENTITY cv-link-DVIPDF "<link linkend='cv-DVIPDF' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DVIPDF</envar></link>">
<!ENTITY cv-link-DVIPDFCOM "<link linkend='cv-DVIPDFCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DVIPDFCOM</envar></link>">
diff --git a/doc/man/scons.xml b/doc/man/scons.xml
index a7ed37e..7d8a53f 100644
--- a/doc/man/scons.xml
+++ b/doc/man/scons.xml
@@ -60,9 +60,12 @@
</copyright>
<releaseinfo>version &buildversion;</releaseinfo>
-
</referenceinfo>
-
+
+ <title>SCons &buildversion;</title>
+ <subtitle>MAN page</subtitle>
+
+
<refentry id='scons1'>
<refmeta>
<refentrytitle>SCONS</refentrytitle>
diff --git a/src/engine/MANIFEST-xml.in b/src/engine/MANIFEST-xml.in
index d2df751..920a603 100644
--- a/src/engine/MANIFEST-xml.in
+++ b/src/engine/MANIFEST-xml.in
@@ -30,6 +30,7 @@ SCons/Tool/cc.xml
SCons/Tool/cvf.xml
SCons/Tool/default.xml
SCons/Tool/dmd.xml
+SCons/Tool/docbook/__init__.xml
SCons/Tool/dvi.xml
SCons/Tool/dvipdf.xml
SCons/Tool/dvips.xml
diff --git a/src/engine/MANIFEST.in b/src/engine/MANIFEST.in
index b12848a..7d3999a 100644
--- a/src/engine/MANIFEST.in
+++ b/src/engine/MANIFEST.in
@@ -78,6 +78,7 @@ SCons/Tool/cvf.py
SCons/Tool/CVS.py
SCons/Tool/default.py
SCons/Tool/dmd.py
+SCons/Tool/docbook/__init__.xml
SCons/Tool/dvi.py
SCons/Tool/dvipdf.py
SCons/Tool/dvips.py
diff --git a/src/engine/SCons/Tool/docbook/__init__.xml b/src/engine/SCons/Tool/docbook/__init__.xml
new file mode 100644
index 0000000..be2f2ca
--- /dev/null
+++ b/src/engine/SCons/Tool/docbook/__init__.xml
@@ -0,0 +1,576 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+__COPYRIGHT__
+
+This file is processed by the bin/SConsDoc.py module.
+See its __doc__ string for a discussion of the format.
+-->
+
+<!DOCTYPE sconsdoc [
+<!ENTITY % scons SYSTEM '../../../../../doc/scons.mod'>
+%scons;
+<!ENTITY % builders-mod SYSTEM '../../../../../doc/generated/builders.mod'>
+%builders-mod;
+<!ENTITY % functions-mod SYSTEM '../../../../../doc/generated/functions.mod'>
+%functions-mod;
+<!ENTITY % tools-mod SYSTEM '../../../../../doc/generated/tools.mod'>
+%tools-mod;
+<!ENTITY % variables-mod SYSTEM '../../../../../doc/generated/variables.mod'>
+%variables-mod;
+]>
+
+<sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0/scons.xsd scons.xsd">
+
+<tool name="docbook">
+<summary>
+<para>This tool tries to make working with Docbook in SCons a little easier.
+It provides several toolchains for creating different output formats,
+like HTML or PDF. Contained in the package is
+a distribution of the Docbook XSL stylesheets as of version 1.76.1.
+As long as you don't specify your own stylesheets for customization,
+these official versions are picked as default...which should reduce
+the inevitable setup hassles for you.
+</para>
+<para>Implicit dependencies to images and XIncludes are detected automatically
+if you meet the HTML requirements. The additional
+stylesheet <filename>utils/xmldepend.xsl</filename> by Paul DuBois is used for this purpose.
+</para>
+<para>Note, that there is no support for XML catalog resolving offered! This tool calls
+the XSLT processors and PDF renderers with the stylesheets you specified, that's it.
+The rest lies in your hands and you still have to know what you're doing when
+resolving names via a catalog.
+</para>
+<para>For activating the tool "docbook", you have to add its name to the Environment constructor,
+like this
+</para>
+<screen>env = Environment(tools=['docbook'])
+</screen>
+<para>On its startup, the Docbook tool tries to find a required <literal>xsltproc</literal> processor, and
+a PDF renderer, e.g. <literal>fop</literal>. So make sure that these are added to your system's environment
+<literal>PATH</literal> and can be called directly, without specifying their full path.
+</para>
+<para>For the most basic processing of Docbook to HTML, you need to have installed
+</para>
+<itemizedlist><listitem><para>the Python <literal>lxml</literal> binding to <literal>libxml2</literal>, or
+</para>
+</listitem>
+<listitem><para>the direct Python bindings for <literal>libxml2/libxslt</literal>, or
+</para>
+</listitem>
+<listitem><para>a standalone XSLT processor, currently detected are <literal>xsltproc</literal>, <literal>saxon</literal>, <literal>saxon-xslt</literal>
+and <literal>xalan</literal>.
+</para>
+</listitem>
+</itemizedlist>
+<para>Rendering to PDF requires you to have one of the applications
+<literal>fop</literal> or <literal>xep</literal> installed.
+</para>
+
+<para>Creating a HTML or PDF document is very simple and straightforward. Say
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtml('manual.html', 'manual.xml')
+env.DocbookPdf('manual.pdf', 'manual.xml')
+</screen>
+<para>to get both outputs from your XML source <filename>manual.xml</filename>. As a shortcut, you can
+give the stem of the filenames alone, like this:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtml('manual')
+env.DocbookPdf('manual')
+</screen>
+<para>and get the same result. Target and source lists are also supported:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtml(['manual.html','reference.html'], ['manual.xml','reference.xml'])
+</screen>
+<para>or even
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtml(['manual','reference'])
+</screen>
+<important><para>Whenever you leave out the list of sources, you may not specify a file extension! The
+Tool uses the given names as file stems, and adds the suffixes for target and source files
+accordingly.
+</para>
+</important>
+<para>The rules given above are valid for the Builders &b-link-DocbookHtml;,
+&b-link-DocbookPdf;, &b-link-DocbookSlidesPdf; and &b-link-DocbookXInclude;. For the
+&b-link-DocbookMan; transformation you
+can specify a target name, but the actual output names are automatically
+set from the <literal>refname</literal> entries in your XML source.
+</para>
+
+<para>The Builders &b-link-DocbookHtmlChunked;, &b-link-DocbookHtmlhelp; and
+&b-link-DocbookSlidesHtml; are special, in that:
+</para>
+<orderedlist><listitem><para>they create a large set of files, where the exact names and their number depend
+on the content of the source file, and
+</para>
+</listitem>
+<listitem><para>the main target is always named <filename>index.html</filename>, i.e. the output name for the
+XSL transformation is not picked up by the stylesheets.
+</para>
+</listitem>
+</orderedlist>
+<para>As a result, there is simply no use in specifying a target HTML name.
+So the basic syntax for these builders is always:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('manual')
+</screen>
+
+<para>If you want to use a specific XSL file, you can set the
+additional <literal>xsl</literal> parameter to your
+Builder call as follows:
+</para>
+<screen>env.DocbookHtml('other.html', 'manual.xml', xsl='html.xsl')
+</screen>
+<para>Since this may get tedious if you always use the same local naming for your customized XSL files,
+e.g. <filename>html.xsl</filename> for HTML and <filename>pdf.xsl</filename> for PDF output, a set of
+variables for setting the default XSL name is provided. These are:
+</para>
+<screen>DOCBOOK_DEFAULT_XSL_HTML
+DOCBOOK_DEFAULT_XSL_HTMLCHUNKED
+DOCBOOK_DEFAULT_XSL_HTMLHELP
+DOCBOOK_DEFAULT_XSL_PDF
+DOCBOOK_DEFAULT_XSL_MAN
+DOCBOOK_DEFAULT_XSL_SLIDESPDF
+DOCBOOK_DEFAULT_XSL_SLIDESHTML
+</screen>
+<para>and you can set them when constructing your environment:
+</para>
+<screen>env = Environment(tools=['docbook'],
+ DOCBOOK_DEFAULT_XSL_HTML='html.xsl',
+ DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl')
+env.DocbookHtml('manual') # now uses html.xsl
+</screen>
+</summary>
+<sets>
+<item>DOCBOOK_DEFAULT_XSL_HTML</item>
+<item>DOCBOOK_DEFAULT_XSL_HTMLCHUNKED</item>
+<item>DOCBOOK_DEFAULT_XSL_HTMLHELP</item>
+<item>DOCBOOK_DEFAULT_XSL_PDF</item>
+<item>DOCBOOK_DEFAULT_XSL_MAN</item>
+<item>DOCBOOK_DEFAULT_XSL_SLIDESPDF</item>
+<item>DOCBOOK_DEFAULT_XSL_SLIDESHTML</item>
+<item>DOCBOOK_XSLTPROC</item>
+<item>DOCBOOK_XMLLINT</item>
+<item>DOCBOOK_FOP</item>
+<item>DOCBOOK_XSLTPROCFLAGS</item>
+<item>DOCBOOK_XMLLINTFLAGS</item>
+<item>DOCBOOK_FOPFLAGS</item>
+<item>DOCBOOK_XSLTPROCPARAMS</item>
+<item>DOCBOOK_XSLTPROCCOM</item>
+<item>DOCBOOK_XMLLINTCOM</item>
+<item>DOCBOOK_FOPCOM</item>
+</sets>
+<uses>
+<item>DOCBOOK_XSLTPROCCOMSTR</item>
+<item>DOCBOOK_XMLLINTCOMSTR</item>
+<item>DOCBOOK_FOPCOMSTR</item>
+</uses>
+</tool>
+
+
+<cvar name="DOCBOOK_DEFAULT_XSL_HTML">
+<summary>
+<para>
+The default XSLT file for the &b-link-DocbookHtml; builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</summary>
+</cvar>
+
+
+<cvar name="DOCBOOK_DEFAULT_XSL_HTMLCHUNKED">
+<summary>
+<para>
+The default XSLT file for the &b-link-DocbookHtmlChunked; builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_DEFAULT_XSL_HTMLHELP">
+<summary>
+<para>
+The default XSLT file for the &b-link-DocbookHtmlhelp; builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_DEFAULT_XSL_PDF">
+<summary>
+<para>
+The default XSLT file for the &b-link-DocbookPdf; builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_DEFAULT_XSL_MAN">
+<summary>
+<para>
+The default XSLT file for the &b-link-DocbookMan; builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_DEFAULT_XSL_SLIDESPDF">
+<summary>
+<para>
+The default XSLT file for the &b-link-DocbookSlidesPdf; builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_DEFAULT_XSL_SLIDESHTML">
+<summary>
+<para>
+The default XSLT file for the &b-link-DocbookSlidesHtml; builder within the
+current environment, if no other XSLT gets specified via keyword.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XSLTPROC">
+<summary>
+<para>
+The path to the external executable <literal>xsltproc</literal>
+(or <literal>saxon</literal>, <literal>xalan</literal>), if one of them
+is installed.
+Note, that this is only used as last fallback for XSL transformations, if
+no libxml2 or lxml Python binding can be imported in the current system.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XMLLINT">
+<summary>
+<para>
+The path to the external executable <literal>xmllint</literal>, if it's installed.
+Note, that this is only used as last fallback for resolving
+XIncludes, if no libxml2 or lxml Python binding can be imported
+in the current system.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_FOP">
+<summary>
+<para>
+The path to the PDF renderer <literal>fop</literal> or <literal>xep</literal>,
+if one of them is installed (<literal>fop</literal> gets checked first).
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XSLTPROCFLAGS">
+<summary>
+<para>
+Additonal command-line flags for the external executable
+<literal>xsltproc</literal> (or <literal>saxon</literal>,
+<literal>xalan</literal>).
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XMLLINTFLAGS">
+<summary>
+<para>
+Additonal command-line flags for the external executable
+<literal>xmllint</literal>.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_FOPFLAGS">
+<summary>
+<para>
+Additonal command-line flags for the
+PDF renderer <literal>fop</literal> or <literal>xep</literal>.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XSLTPROCPARAMS">
+<summary>
+<para>
+Additonal parameters that are not intended for the XSLT processor executable, but
+the XSL processing itself. By default, they get appended at the end of the command line
+for <literal>saxon</literal> and <literal>saxon-xslt</literal>, respectively.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XSLTPROCCOM">
+<summary>
+<para>
+The full command-line for the external executable
+<literal>xsltproc</literal> (or <literal>saxon</literal>,
+<literal>xalan</literal>).
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XMLLINTCOM">
+<summary>
+<para>
+The full command-line for the external executable
+<literal>xmllint</literal>.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_FOPCOM">
+<summary>
+<para>
+The full command-line for the
+PDF renderer <literal>fop</literal> or <literal>xep</literal>.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XSLTPROCCOMSTR">
+<summary>
+<para>
+The string displayed when <literal>xsltproc</literal> is used to transform
+an XML file via a given XSLT stylesheet.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_XMLLINTCOMSTR">
+<summary>
+<para>
+The string displayed when <literal>xmllint</literal> is used to resolve
+XIncludes for a given XML file.
+</para>
+</summary>
+</cvar>
+
+<cvar name="DOCBOOK_FOPCOMSTR">
+<summary>
+<para>
+The string displayed when a renderer like <literal>fop</literal> or
+<literal>xep</literal> is used to create PDF output from an XML file.
+</para>
+</summary>
+</cvar>
+
+<builder name="DocbookHtml">
+<summary>
+<para>
+A pseudo-Builder, providing a Docbook toolchain for HTML output.
+</para>
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookHtml('manual.html', 'manual.xml')
+</example_commands>
+<para>
+or simply
+</para>
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookHtml('manual')
+</example_commands>
+</summary>
+</builder>
+
+<builder name="DocbookHtmlChunked">
+<summary>
+<para>
+A pseudo-Builder, providing a Docbook toolchain for chunked HTML output.
+It supports the <literal>base.dir</literal> parameter. The
+<filename>chunkfast.xsl</filename> file (requires &quot;EXSLT&quot;) is used as the
+default stylesheet. Basic syntax:
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookHtmlChunked('manual')
+</example_commands>
+<para>
+where <filename>manual.xml</filename> is the input file.
+</para>
+<para>If you use the <literal>root.filename</literal>
+parameter in your own stylesheets you have to specify the new target name.
+This ensures that the dependencies get correct, especially for the cleanup via <quote><literal>scons -c</literal></quote>:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtmlChunked('mymanual.html', 'manual', xsl='htmlchunk.xsl')
+</screen>
+<para>Some basic support for the <literal>base.dir</literal> is provided. You
+can add the <literal>base_dir</literal> keyword to your Builder
+call, and the given prefix gets prepended to all the created filenames:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtmlChunked('manual', xsl='htmlchunk.xsl', base_dir='output/')
+</screen>
+<para>Make sure that you don't forget the trailing slash for the base folder, else
+your files get renamed only!
+</para>
+</summary>
+</builder>
+
+<builder name="DocbookHtmlhelp">
+<summary>
+<para>
+A pseudo-Builder, providing a Docbook toolchain for HTMLHELP output.
+Its basic syntax is:
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('manual')
+</example_commands>
+<para>
+where <filename>manual.xml</filename> is the input file.
+</para>
+
+<para>If you use the <literal>root.filename</literal>
+parameter in your own stylesheets you have to specify the new target name.
+This ensures that the dependencies get correct, especially for the cleanup via <quote><literal>scons -c</literal></quote>:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('mymanual.html', 'manual', xsl='htmlhelp.xsl')
+</screen>
+<para>Some basic support for the <literal>base.dir</literal> parameter
+is provided. You can add the <literal>base_dir</literal> keyword to
+your Builder call, and the given prefix gets prepended to all the
+created filenames:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookHtmlhelp('manual', xsl='htmlhelp.xsl', base_dir='output/')
+</screen>
+<para>Make sure that you don't forget the trailing slash for the base folder, else
+your files get renamed only!
+</para>
+
+</summary>
+</builder>
+
+<builder name="DocbookPdf">
+<summary>
+<para>
+A pseudo-Builder, providing a Docbook toolchain for PDF output.
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookPdf('manual.pdf', 'manual.xml')
+</example_commands>
+
+<para>
+or simply
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookPdf('manual')
+</example_commands>
+
+</summary>
+</builder>
+
+<builder name="DocbookMan">
+<summary>
+<para>
+A pseudo-Builder, providing a Docbook toolchain for Man page output.
+Its basic syntax is:
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookMan('manual')
+</example_commands>
+<para>
+where <filename>manual.xml</filename> is the input file. Note, that
+you can specify a target name, but the actual output names are automatically
+set from the <literal>refname</literal> entries in your XML source.
+</para>
+</summary>
+</builder>
+
+<builder name="DocbookSlidesPdf">
+<summary>
+<para>
+A pseudo-Builder, providing a Docbook toolchain for PDF slides output.
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookSlidesPdf('manual.pdf', 'manual.xml')
+</example_commands>
+
+<para>
+or simply
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookSlidesPdf('manual')
+</example_commands>
+</summary>
+</builder>
+
+<builder name="DocbookSlidesHtml">
+<summary>
+<para>
+A pseudo-Builder, providing a Docbook toolchain for HTML slides output.
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookSlidesHtml('manual')
+</example_commands>
+
+<para>If you use the <literal>titlefoil.html</literal> parameter in
+your own stylesheets you have to give the new target name. This ensures
+that the dependencies get correct, especially for the cleanup via
+<quote><literal>scons -c</literal></quote>:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookSlidesHtml('mymanual.html','manual', xsl='slideshtml.xsl')
+</screen>
+
+<para>Some basic support for the <literal>base.dir</literal> parameter
+is provided. You
+can add the <literal>base_dir</literal> keyword to your Builder
+call, and the given prefix gets prepended to all the created filenames:
+</para>
+<screen>env = Environment(tools=['docbook'])
+env.DocbookSlidesHtml('manual', xsl='slideshtml.xsl', base_dir='output/')
+</screen>
+<para>Make sure that you don't forget the trailing slash for the base folder, else
+your files get renamed only!
+</para>
+
+</summary>
+</builder>
+
+<builder name="DocbookXInclude">
+<summary>
+<para>
+A pseudo-Builder, for resolving XIncludes in a separate processing step.
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookXInclude('manual_xincluded.xml', 'manual.xml')
+</example_commands>
+</summary>
+</builder>
+
+<builder name="DocbookXslt">
+<summary>
+<para>
+A pseudo-Builder, applying a given XSL transformation to the input file.
+</para>
+
+<example_commands>env = Environment(tools=['docbook'])
+env.DocbookXslt('manual_transformed.xml', 'manual.xml', xsl='transform.xslt')
+</example_commands>
+
+<para>Note, that this builder requires the <literal>xsl</literal> parameter
+to be set.
+</para>
+</summary>
+</builder>
+
+</sconsdoc>
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/manual.xml b/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/manual.xml
deleted file mode 100644
index ca12e0e..0000000
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/manual.xml
+++ /dev/null
@@ -1,388 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2001-2010 The SCons Foundation
-
- 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 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.
-
--->
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<article>
- <title>The SCons qt4 tool</title>
-
- <articleinfo>
- <author>
- <surname>Dirk Baechle</surname>
- </author>
-
- <pubdate>2010-12-06</pubdate>
- </articleinfo>
-
- <section id="basics">
- <title>Basics</title>
-
- <para>This tool can be used to compile Qt projects, designed for versions
- 4.x.y and higher. It is not usable for Qt3 and older versions, since some
- of the helper tools (<literal>moc</literal>, <literal>uic</literal>)
- behave different.</para>
-
- <section id="install">
- <title>Install</title>
-
- <para>Installing it, requires you to copy (or, even better: checkout)
- the contents of the package's <literal>qt4</literal> folder to</para>
-
- <orderedlist>
- <listitem>
- <para><quote><literal>/path_to_your_project/site_scons/site_tools/qt4</literal></quote>,
- if you need the Qt4 Tool in one project only, or</para>
- </listitem>
-
- <listitem>
- <para><quote><literal>~/.scons/site_scons/site_tools/qt4</literal></quote>,
- for a system-wide installation under your current login.</para>
- </listitem>
- </orderedlist>
-
- <para>For more infos about this, please refer to</para>
-
- <itemizedlist>
- <listitem>
- <para>the SCons User's Guide, chap. 17.7 "Where to put your custom
- Builders and Tools" and</para>
- </listitem>
-
- <listitem>
- <para>the SCons Tools Wiki page at <ulink
- url="http://scons.org/wiki/ToolsIndex">http://scons.org/wiki/ToolsIndex</ulink>.</para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section id="activation">
- <title>How to activate</title>
-
- <para>For activating the tool "qt4", you have to add its name to the
- Environment constructor, like this</para>
-
- <screen>env = Environment(tools=['default','qt4'])
-</screen>
-
- <para>On its startup, the Qt4 tool tries to read the variable
- <literal>QT4DIR</literal> from the current Environment and
- <literal>os.environ</literal>. If it is not set, the value of
- <literal>QTDIR</literal> (in Environment/<literal>os.environ</literal>)
- is used as a fallback.</para>
-
- <para>So, you either have to explicitly give the path of your Qt4
- installation to the Environment with</para>
-
- <screen>env['QT4DIR'] = '/usr/local/Trolltech/Qt-4.2.3'
-</screen>
-
- <para>or set the <literal>QT4DIR</literal> as environment variable in
- your shell.</para>
- </section>
-
- <section id="requirements">
- <title>Requirements</title>
-
- <para>Under Linux, "qt4" uses the system tool
- <literal>pkg-config</literal> for automatically setting the required
- compile and link flags of the single Qt4 modules (like QtCore,
- QtGui,...). This means that</para>
-
- <orderedlist>
- <listitem>
- <para>you should have <literal>pkg-config</literal> installed,
- and</para>
- </listitem>
-
- <listitem>
- <para>you additionally have to set
- <literal>PKG_CONFIG_PATH</literal> in your shell environment, such
- that it points to $<literal>QT4DIR/lib/pkgconfig</literal> (or
- $<literal>QT4DIR/lib</literal> for some older versions).</para>
- </listitem>
- </orderedlist>
-
- <para>Based on these two environment variables
- (<literal>QT4DIR</literal> and <literal>PKG_CONFIG_PATH</literal>), the
- "qt4" tool initializes all <literal>QT4_*</literal> construction
- variables listed in the Reference manual. This happens when the tool is
- "detected" during Environment construction. As a consequence, the setup
- of the tool gets a two-stage process, if you want to override the values
- provided by your current shell settings:</para>
-
- <screen># Stage 1: create plain environment
-qtEnv = Environment()
-# Set new vars
-qtEnv['QT4DIR'] = '/usr/local/Trolltech/Qt-4.2.3
-qtEnv['ENV']['PKG_CONFIG_PATH'] = '/usr/local/Trolltech/Qt-4.2.3/lib/pkgconfig'
-# Stage 2: add qt4 tool
-qtEnv.Tool('qt4')
-</screen>
- </section>
- </section>
-
- <section id="boilerplate">
- <title>Suggested boilerplate</title>
-
- <para>Based on the requirements above, we suggest a simple ready-to-go
- setup as follows:</para>
-
- <para>SConstruct</para>
-
- <screen># Detect Qt version
-qtdir = detectLatestQtDir()
-
-# Create base environment
-baseEnv = Environment()
-#...further customization of base env
-
-# Clone Qt environment
-qtEnv = baseEnv.Clone()
-# Set QT4DIR and PKG_CONFIG_PATH
-qtEnv['ENV']['PKG_CONFIG_PATH'] = os.path.join(qtdir, 'lib/pkgconfig')
-qtEnv['QT4DIR'] = qtdir
-# Add qt4 tool
-qtEnv.Tool('qt4')
-#...further customization of qt env
-
-# Export environments
-Export('baseEnv qtEnv')
-
-# Your other stuff...
-# ...including the call to your SConscripts
-</screen>
-
- <para>In a SConscript</para>
-
- <screen># Get the Qt4 environment
-Import('qtEnv')
-# Clone it
-env = qtEnv.clone()
-# Patch it
-env.Append(CCFLAGS=['-m32']) # or whatever
-# Use it
-env.StaticLibrary('foo', Glob('*.cpp'))
-</screen>
-
- <para>The detection of the Qt directory could be as simple as directly
- assigning a fixed path</para>
-
- <screen>def detectLatestQtDir():
- return "/usr/local/qt4.3.2"
-</screen>
-
- <para>or a little more sophisticated</para>
-
- <screen># Tries to detect the path to the installation of Qt with
-# the highest version number
-def detectLatestQtDir():
- if sys.platform.startswith("linux"):
- # Simple check: inspect only '/usr/local/Trolltech'
- paths = glob.glob('/usr/local/Trolltech/*')
- if len(paths):
- paths.sort()
- return paths[-1]
- else:
- return ""
- else:
- # Simple check: inspect only 'C:\Qt'
- paths = glob.glob('C:\\Qt\\*')
- if len(paths):
- paths.sort()
- return paths[-1]
- else:
- return os.environ.get("QTDIR","")
-</screen>
- </section>
-
- <section id="firstproject">
- <title>A first project</title>
-
- <para>The following SConscript is for a simple project with some cxx
- files, using the QtCore, QtGui and QtNetwork modules:</para>
-
- <screen>Import('qtEnv')
-env = qtEnv.Clone()
-env.EnableQt4Modules([
- 'QtGui',
- 'QtCore',
- 'QtNetwork'
- ])
-# Add your CCFLAGS and CPPPATHs to env here...
-
-env.Program('foo', Glob('*.cpp'))
-</screen>
- </section>
-
- <section id="mocup">
- <title>MOC it up</title>
-
- <para>For the basic support of automocing, nothing needs to be done by the
- user. The tool usually detects the <literal>Q_OBJECT</literal> macro and
- calls the <quote><literal>moc</literal></quote> executable
- accordingly.</para>
-
- <para>If you don't want this, you can switch off the automocing by
- a</para>
-
- <screen>env['QT4_AUTOSCAN'] = 0
-</screen>
-
- <para>in your SConscript file. Then, you have to moc your files
- explicitly, using the Moc4 builder.</para>
-
- <para>You can also switch to an extended automoc strategy with</para>
-
- <screen>env['QT4_AUTOSCAN_STRATEGY'] = 1
-</screen>
-
- <para>Please read the description of the
- <literal>QT4_AUTOSCAN_STRATEGY</literal> variable in the Reference manual
- for details.</para>
-
- <para>For debugging purposes, you can set the variable
- <literal>QT4_DEBUG</literal> with</para>
-
- <screen>env['QT4_DEBUG'] = 1
-</screen>
-
- <para>which outputs a lot of messages during automocing.</para>
- </section>
-
- <section id="forms">
- <title>Forms (.ui)</title>
-
- <para>The header files with setup code for your GUI classes, are not
- compiled automatically from your <literal>.ui</literal> files. You always
- have to call the Uic4 builder explicitly like</para>
-
- <screen>env.Uic4(Glob('*.ui'))
-env.Program('foo', Glob('*.cpp'))
-</screen>
- </section>
-
- <section id="resources">
- <title>Resource files (.qrc)</title>
-
- <para>Resource files are not built automatically, you always have to add
- the names of the <literal>.qrc</literal> files to the source list for your
- program or library:</para>
-
- <screen>env.Program('foo', Glob('*.cpp')+Glob('*.qrc'))
-</screen>
-
- <para>For each of the Resource input files, its prefix defines the name of
- the resulting resource. An appropriate
- <quote><literal>-name</literal></quote> option is added to the call of the
- <literal>rcc</literal> executable by default.</para>
-
- <para>You can also call the Qrc4 builder explicitly as</para>
-
- <screen>qrccc = env.Qrc4('foo') # ['foo.qrc'] -&gt; ['qrc_foo.cc']
-</screen>
-
- <para>or (overriding the default suffix)</para>
-
- <screen>qrccc = env.Qrc4('myprefix_foo.cxx','foo.qrc') # -&gt; ['qrc_myprefix_foo.cxx']
-</screen>
-
- <para>and then add the resulting cxx file to the sources of your
- Program/Library:</para>
-
- <screen>env.Program('foo', Glob('*.cpp') + qrccc)
-</screen>
- </section>
-
- <section id="translation">
- <title>Translation files</title>
-
- <para>The update of the <literal>.ts</literal> files and the conversion to
- binary <literal>.qm</literal> files is not done automatically. You have to
- call the corresponding builders on your own.</para>
-
- <para>Example for updating a translation file:</para>
-
- <screen>env.Ts4('foo.ts','.') # -&gt; ['foo.ts']
-</screen>
-
- <para>By default, the <literal>.ts</literal> files are treated as
- <emphasis>precious</emphasis> targets. This means that they are not
- removed prior to a rebuild, but simply get updated. Additionally, they do
- not get cleaned on a <quote><literal>scons -c</literal></quote>. If you
- want to delete the translation files on the
- <quote><literal>-c</literal></quote> SCons command, you can set the
- variable <quote><literal>QT4_CLEAN_TS</literal></quote> like this</para>
-
- <screen>env['QT4_CLEAN_TS']=1
-</screen>
-
- <para>Example for releasing a translation file, i.e. compiling it to a
- <literal>.qm</literal> binary file:</para>
-
- <screen>env.Qm4('foo') # ['foo.ts'] -&gt; ['foo.qm']
-</screen>
-
- <para>or (overriding the output prefix)</para>
-
- <screen>env.Qm4('myprefix','foo') # ['foo.ts'] -&gt; ['myprefix.qm']
-</screen>
-
- <para>As an extension both, the Ts4() and Qm4 builder, support the
- definition of multiple targets. So, calling</para>
-
- <screen>env.Ts4(['app_en','app_de'], Glob('*.cpp'))
-</screen>
-
- <para>and</para>
-
- <screen>env.Qm4(['app','copy'], Glob('*.ts'))
-</screen>
-
- <para>should work fine.</para>
-
- <para>Finally, two short notes about the support of directories for the
- Ts4() builder. You can pass an arbitrary mix of cxx files and subdirs to
- it, as in</para>
-
- <screen>env.Ts4('app_en',['sub1','appwindow.cpp','main.cpp']))
-</screen>
-
- <para>where <literal>sub1</literal> is a folder that gets scanned
- recursively for cxx files by <literal>lupdate</literal>. But like this,
- you lose all dependency information for the subdir, i.e. if a file inside
- the folder changes, the .ts file is not updated automatically! In this
- case you should tell SCons to always update the target:</para>
-
- <screen>ts = env.Ts4('app_en',['sub1','appwindow.cpp','main.cpp'])
-env.AlwaysBuild(ts)
-</screen>
-
- <para>Last note: specifying the current folder
- <quote><literal>.</literal></quote> as input to Ts4() and storing the
- resulting .ts file in the same directory, leads to a dependency cycle! You
- then have to store the .ts and .qm files outside of the current folder, or
- use <literal>Glob('*.cpp'))</literal> instead.</para>
- </section>
-</article>
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/virt.xml b/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/virt.xml
deleted file mode 100644
index aec1fd7..0000000
--- a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/virt.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE slides PUBLIC "-//Norman Walsh//DTD Slides XML V3.3.1//EN"
-"file:///usr/share/xml/docbook/custom/slides/3.3.1/schema/dtd/slides.dtd">
-<slides>
- <slidesinfo>
- <title>Virtuelles Kopieren</title>
-
- <titleabbrev>Virtuelles Kopieren</titleabbrev>
-
- <copyright>
- <year>2007</year>
-
- <holder>Femutec GmbH</holder>
- </copyright>
-
- <author>
- <firstname>Dirk</firstname>
-
- <surname>Baechle</surname>
- </author>
-
- <pubdate>09.07.2007</pubdate>
- </slidesinfo>
-
-<foilgroup>
-<title>Group</title>
- <foil>
- <title>sfForming</title>
-
- </foil>
-</foilgroup>
-</slides>
-
diff --git a/src/engine/SCons/Tool/docbook/test/basic/pdf/image/SConstruct b/src/engine/SCons/Tool/docbook/test/basic/pdf/image/SConstruct
deleted file mode 100644
index 01b2c7f..0000000
--- a/src/engine/SCons/Tool/docbook/test/basic/pdf/image/SConstruct
+++ /dev/null
@@ -1,3 +0,0 @@
-env = Environment(tools=['docbook'])
-env.DocbookPdf('manual')
-
diff --git a/src/engine/SCons/Tool/docbook/test/basic/pdf/sconstest-pdf.py b/src/engine/SCons/Tool/docbook/test/basic/pdf/sconstest-pdf.py
deleted file mode 100644
index aacb5c5..0000000
--- a/src/engine/SCons/Tool/docbook/test/basic/pdf/sconstest-pdf.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (c) 2001-2010 The SCons Foundation
-#
-# 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 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.
-#
-
-"""
-Test the PDF builder.
-"""
-
-import TestSCons
-
-test = TestSCons.TestSCons()
-
-test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
-
-# Normal invocation
-test.run(stderr=None)
-test.must_exist(test.workpath('manual.fo'))
-test.must_exist(test.workpath('manual.pdf'))
-
-# Cleanup
-test.run(arguments='-c')
-test.must_not_exist(test.workpath('manual.fo'))
-test.must_not_exist(test.workpath('manual.pdf'))
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4:
diff --git a/src/engine/SCons/Tool/docbook/test/basic/slidespdf/image/SConstruct b/src/engine/SCons/Tool/docbook/test/basic/slidespdf/image/SConstruct
deleted file mode 100644
index ab72a37..0000000
--- a/src/engine/SCons/Tool/docbook/test/basic/slidespdf/image/SConstruct
+++ /dev/null
@@ -1,3 +0,0 @@
-env = Environment(tools=['docbook'])
-env.DocbookSlidesPdf('slides','virt')
-
diff --git a/src/engine/SCons/Tool/docbook/test/basic/slidespdf/sconstest-slidespdf.py b/src/engine/SCons/Tool/docbook/test/basic/slidespdf/sconstest-slidespdf.py
deleted file mode 100644
index 27aa3ae..0000000
--- a/src/engine/SCons/Tool/docbook/test/basic/slidespdf/sconstest-slidespdf.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (c) 2001-2010 The SCons Foundation
-#
-# 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 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.
-#
-
-"""
-Test the Slides PDF builder.
-"""
-
-import TestSCons
-
-test = TestSCons.TestSCons()
-
-test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
-
-# Normal invocation
-test.run(stderr=None)
-test.must_exist(test.workpath('slides.fo'))
-test.must_exist(test.workpath('slides.pdf'))
-
-# Cleanup
-test.run(arguments='-c')
-test.must_not_exist(test.workpath('slides.fo'))
-test.must_not_exist(test.workpath('slides.pdf'))
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4:
diff --git a/src/engine/SCons/Tool/docbook/test/basic/xinclude/image/SConstruct b/src/engine/SCons/Tool/docbook/test/basic/xinclude/image/SConstruct
deleted file mode 100644
index abf7271..0000000
--- a/src/engine/SCons/Tool/docbook/test/basic/xinclude/image/SConstruct
+++ /dev/null
@@ -1,3 +0,0 @@
-env = Environment(tools=['docbook'])
-env.DocbookXInclude('manual')
-
diff --git a/src/engine/SCons/Tool/docbook/test/basic/xinclude/sconstest-xinclude.py b/src/engine/SCons/Tool/docbook/test/basic/xinclude/sconstest-xinclude.py
deleted file mode 100644
index 56d0575..0000000
--- a/src/engine/SCons/Tool/docbook/test/basic/xinclude/sconstest-xinclude.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (c) 2001-2010 The SCons Foundation
-#
-# 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 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.
-#
-
-"""
-Test the XInclude builder.
-"""
-
-import TestSCons
-
-test = TestSCons.TestSCons()
-
-test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
-
-# Normal invocation
-test.run()
-test.must_exist(test.workpath('xincluded_manual.xml'))
-test.must_contain(test.workpath('xincluded_manual.xml'),'<para>This is an included text.')
-
-
-# Cleanup
-test.run(arguments='-c')
-test.must_not_exist(test.workpath('xincluded_manual.xml'))
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4:
diff --git a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/SConstruct b/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/SConstruct
deleted file mode 100644
index abf7271..0000000
--- a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/SConstruct
+++ /dev/null
@@ -1,3 +0,0 @@
-env = Environment(tools=['docbook'])
-env.DocbookXInclude('manual')
-
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/sconstest-htmlchunked.py b/test/Docbook/basedir/htmlchunked/htmlchunked.py
index 8095c73..c581701 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/sconstest-htmlchunked.py
+++ b/test/Docbook/basedir/htmlchunked/htmlchunked.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -43,6 +48,8 @@ test.must_exist(test.workpath('output/index.html'))
test.run(arguments='-c')
test.must_not_exist(test.workpath('output/index.html'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/SConstruct b/test/Docbook/basedir/htmlchunked/image/SConstruct
index 0066271..0066271 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/SConstruct
+++ b/test/Docbook/basedir/htmlchunked/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/html.xsl b/test/Docbook/basedir/htmlchunked/image/html.xsl
index eac0a67..eac0a67 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlchunked/image/html.xsl
+++ b/test/Docbook/basedir/htmlchunked/image/html.xsl
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/manual.xml b/test/Docbook/basedir/htmlchunked/image/manual.xml
index ca12e0e..ca12e0e 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/manual.xml
+++ b/test/Docbook/basedir/htmlchunked/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/sconstest-htmlhelp.py b/test/Docbook/basedir/htmlhelp/htmlhelp.py
index 3fc4759..736f732 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/sconstest-htmlhelp.py
+++ b/test/Docbook/basedir/htmlhelp/htmlhelp.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -47,6 +52,8 @@ test.must_not_exist(test.workpath('output/index.html'))
test.must_not_exist(test.workpath('htmlhelp.hhp'))
test.must_not_exist(test.workpath('toc.hhc'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/SConstruct b/test/Docbook/basedir/htmlhelp/image/SConstruct
index cb2893f..cb2893f 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/SConstruct
+++ b/test/Docbook/basedir/htmlhelp/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/htmlhelp.xsl b/test/Docbook/basedir/htmlhelp/image/htmlhelp.xsl
index 1015ecc..1015ecc 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/htmlhelp.xsl
+++ b/test/Docbook/basedir/htmlhelp/image/htmlhelp.xsl
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/manual.xml b/test/Docbook/basedir/htmlhelp/image/manual.xml
index ca12e0e..ca12e0e 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/manual.xml
+++ b/test/Docbook/basedir/htmlhelp/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/SConstruct b/test/Docbook/basedir/slideshtml/image/SConstruct
index 0620efb..0620efb 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/SConstruct
+++ b/test/Docbook/basedir/slideshtml/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/slides.xsl b/test/Docbook/basedir/slideshtml/image/slides.xsl
index e3f0f21..e3f0f21 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/image/slides.xsl
+++ b/test/Docbook/basedir/slideshtml/image/slides.xsl
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/virt.xml b/test/Docbook/basedir/slideshtml/image/virt.xml
index aec1fd7..aec1fd7 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/virt.xml
+++ b/test/Docbook/basedir/slideshtml/image/virt.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/sconstest-slideshtml.py b/test/Docbook/basedir/slideshtml/slideshtml.py
index 3dc8a7d..505d36d 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/slideshtml/sconstest-slideshtml.py
+++ b/test/Docbook/basedir/slideshtml/slideshtml.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -49,6 +54,8 @@ test.must_not_exist(test.workpath('output/toc.html'))
test.must_not_exist(test.workpath('output/foil01.html'))
test.must_not_exist(test.workpath('output/foilgroup01.html'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/basic/html/sconstest-html.py b/test/Docbook/basic/html/html.py
index 6fc99e3..0cb4fb6 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/html/sconstest-html.py
+++ b/test/Docbook/basic/html/html.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run()
@@ -43,6 +48,8 @@ test.must_exist(test.workpath('manual.html'))
test.run(arguments='-c')
test.must_not_exist(test.workpath('manual.html'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/basic/html/image/SConstruct b/test/Docbook/basic/html/image/SConstruct
index 954e639..954e639 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/html/image/SConstruct
+++ b/test/Docbook/basic/html/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basic/pdf/image/manual.xml b/test/Docbook/basic/html/image/manual.xml
index ca12e0e..ca12e0e 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/pdf/image/manual.xml
+++ b/test/Docbook/basic/html/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basic/htmlchunked/sconstest-htmlchunked.py b/test/Docbook/basic/htmlchunked/htmlchunked.py
index 5127ac6..46cc8dc 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/htmlchunked/sconstest-htmlchunked.py
+++ b/test/Docbook/basic/htmlchunked/htmlchunked.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -43,6 +48,8 @@ test.must_exist(test.workpath('index.html'))
test.run(arguments='-c')
test.must_not_exist(test.workpath('index.html'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/basic/htmlchunked/image/SConstruct b/test/Docbook/basic/htmlchunked/image/SConstruct
index 0004f8b..0004f8b 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/htmlchunked/image/SConstruct
+++ b/test/Docbook/basic/htmlchunked/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basic/htmlhelp/image/manual.xml b/test/Docbook/basic/htmlchunked/image/manual.xml
index ca12e0e..ca12e0e 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/htmlhelp/image/manual.xml
+++ b/test/Docbook/basic/htmlchunked/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basic/htmlhelp/sconstest-htmlhelp.py b/test/Docbook/basic/htmlhelp/htmlhelp.py
index 8a1a988..9b00bbd 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/htmlhelp/sconstest-htmlhelp.py
+++ b/test/Docbook/basic/htmlhelp/htmlhelp.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -47,6 +52,8 @@ test.must_not_exist(test.workpath('index.html'))
test.must_not_exist(test.workpath('htmlhelp.hhp'))
test.must_not_exist(test.workpath('toc.hhc'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/basic/htmlhelp/image/SConstruct b/test/Docbook/basic/htmlhelp/image/SConstruct
index 0c793d4..0c793d4 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/htmlhelp/image/SConstruct
+++ b/test/Docbook/basic/htmlhelp/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basic/htmlchunked/image/manual.xml b/test/Docbook/basic/htmlhelp/image/manual.xml
index ca12e0e..ca12e0e 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/htmlchunked/image/manual.xml
+++ b/test/Docbook/basic/htmlhelp/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basic/man/image/SConstruct b/test/Docbook/basic/man/image/SConstruct
index ddfcfbc..ddfcfbc 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/man/image/SConstruct
+++ b/test/Docbook/basic/man/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basic/man/image/refdb.xml b/test/Docbook/basic/man/image/refdb.xml
index de5f94e..de5f94e 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/man/image/refdb.xml
+++ b/test/Docbook/basic/man/image/refdb.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basic/man/sconstest-man.py b/test/Docbook/basic/man/man.py
index 79751f8..c1f164d 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/man/sconstest-man.py
+++ b/test/Docbook/basic/man/man.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -45,6 +50,8 @@ test.run(arguments='-c')
test.must_not_exist(test.workpath('refdb.8'))
test.must_not_exist(test.workpath('refdb.sh.8'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/basic/slideshtml/image/SConstruct b/test/Docbook/basic/slideshtml/image/SConstruct
index 034a3c7..034a3c7 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/slideshtml/image/SConstruct
+++ b/test/Docbook/basic/slideshtml/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/basic/slidespdf/image/virt.xml b/test/Docbook/basic/slideshtml/image/virt.xml
index aec1fd7..aec1fd7 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/slidespdf/image/virt.xml
+++ b/test/Docbook/basic/slideshtml/image/virt.xml
diff --git a/src/engine/SCons/Tool/docbook/test/basic/slideshtml/sconstest-slideshtml.py b/test/Docbook/basic/slideshtml/slideshtml.py
index 3f4fb76..d4636d4 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/slideshtml/sconstest-slideshtml.py
+++ b/test/Docbook/basic/slideshtml/slideshtml.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -49,6 +54,8 @@ test.must_not_exist(test.workpath('toc.html'))
test.must_not_exist(test.workpath('foil01.html'))
test.must_not_exist(test.workpath('foilgroup01.html'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/test/Docbook/basic/xinclude/image/SConstruct b/test/Docbook/basic/xinclude/image/SConstruct
new file mode 100644
index 0000000..91d92e6
--- /dev/null
+++ b/test/Docbook/basic/xinclude/image/SConstruct
@@ -0,0 +1,3 @@
+env = Environment(tools=['docbook'])
+env.DocbookXInclude('manual_xi.xml','manual.xml')
+
diff --git a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/include.txt b/test/Docbook/basic/xinclude/image/include.txt
index 095a94b..095a94b 100644
--- a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/include.txt
+++ b/test/Docbook/basic/xinclude/image/include.txt
diff --git a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/manual.xml b/test/Docbook/basic/xinclude/image/manual.xml
index 520d309..520d309 100644
--- a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/image/manual.xml
+++ b/test/Docbook/basic/xinclude/image/manual.xml
diff --git a/test/Docbook/basic/xinclude/xinclude.py b/test/Docbook/basic/xinclude/xinclude.py
new file mode 100644
index 0000000..2d87713
--- /dev/null
+++ b/test/Docbook/basic/xinclude/xinclude.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python
+#
+# Copyright (c) 2001-2010 The SCons Foundation
+#
+# 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 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.
+#
+
+"""
+Test the XInclude builder.
+"""
+
+import TestSCons
+
+test = TestSCons.TestSCons()
+
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
+test.dir_fixture('image')
+
+# Normal invocation
+test.run()
+test.must_exist(test.workpath('manual_xi.xml'))
+test.must_contain(test.workpath('manual_xi.xml'),'<para>This is an included text.')
+
+
+# Cleanup
+test.run(arguments='-c')
+test.must_not_exist(test.workpath('manual_xi.xml'))
+
+test.pass_test()
+
+# Local Variables:
+# tab-width:4
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=4 shiftwidth=4:
diff --git a/test/Docbook/dependencies/xinclude/image/SConstruct b/test/Docbook/dependencies/xinclude/image/SConstruct
new file mode 100644
index 0000000..91d92e6
--- /dev/null
+++ b/test/Docbook/dependencies/xinclude/image/SConstruct
@@ -0,0 +1,3 @@
+env = Environment(tools=['docbook'])
+env.DocbookXInclude('manual_xi.xml','manual.xml')
+
diff --git a/src/engine/SCons/Tool/docbook/test/basic/xinclude/image/include.txt b/test/Docbook/dependencies/xinclude/image/include.txt
index 095a94b..095a94b 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/xinclude/image/include.txt
+++ b/test/Docbook/dependencies/xinclude/image/include.txt
diff --git a/src/engine/SCons/Tool/docbook/test/basic/xinclude/image/manual.xml b/test/Docbook/dependencies/xinclude/image/manual.xml
index 520d309..520d309 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/xinclude/image/manual.xml
+++ b/test/Docbook/dependencies/xinclude/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/sconstest-xinclude.py b/test/Docbook/dependencies/xinclude/xinclude.py
index e72f016..84d9ce7 100644
--- a/src/engine/SCons/Tool/docbook/test/dependencies/xinclude/sconstest-xinclude.py
+++ b/test/Docbook/dependencies/xinclude/xinclude.py
@@ -30,15 +30,20 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run()
-test.must_exist(test.workpath('xincluded_manual.xml'))
-test.must_contain(test.workpath('xincluded_manual.xml'),'<para>This is an included text.')
+test.must_exist(test.workpath('manual_xi.xml'))
+test.must_contain(test.workpath('manual_xi.xml'),'<para>This is an included text.')
# Change included file
test.write('include.txt', 'This is another text.')
@@ -48,8 +53,10 @@ test.not_up_to_date(options='-n', arguments='.')
# The new file should contain the changes
test.run()
-test.must_exist(test.workpath('xincluded_manual.xml'))
-test.must_contain(test.workpath('xincluded_manual.xml'),'<para>This is another text.')
+test.must_exist(test.workpath('manual_xi.xml'))
+test.must_contain(test.workpath('manual_xi.xml'),'<para>This is another text.')
+
+test.pass_test()
# Local Variables:
# tab-width:4
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/sconstest-htmlchunked.py b/test/Docbook/rootname/htmlchunked/htmlchunked.py
index 7c5511e..2489019 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/sconstest-htmlchunked.py
+++ b/test/Docbook/rootname/htmlchunked/htmlchunked.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -43,6 +48,8 @@ test.must_exist(test.workpath('manual.html'))
test.run(arguments='-c')
test.must_not_exist(test.workpath('manual.html'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/SConstruct b/test/Docbook/rootname/htmlchunked/image/SConstruct
index 905eec1..905eec1 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/SConstruct
+++ b/test/Docbook/rootname/htmlchunked/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/html.xsl b/test/Docbook/rootname/htmlchunked/image/html.xsl
index 49824df..49824df 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlchunked/image/html.xsl
+++ b/test/Docbook/rootname/htmlchunked/image/html.xsl
diff --git a/src/engine/SCons/Tool/docbook/test/basic/html/image/manual.xml b/test/Docbook/rootname/htmlchunked/image/manual.xml
index ca12e0e..ca12e0e 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/html/image/manual.xml
+++ b/test/Docbook/rootname/htmlchunked/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/sconstest-htmlhelp.py b/test/Docbook/rootname/htmlhelp/htmlhelp.py
index 02c69b0..84be5d9 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/sconstest-htmlhelp.py
+++ b/test/Docbook/rootname/htmlhelp/htmlhelp.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -47,6 +52,8 @@ test.must_not_exist(test.workpath('manual.html'))
test.must_not_exist(test.workpath('htmlhelp.hhp'))
test.must_not_exist(test.workpath('toc.hhc'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/SConstruct b/test/Docbook/rootname/htmlhelp/image/SConstruct
index 913240b..913240b 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/SConstruct
+++ b/test/Docbook/rootname/htmlhelp/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/htmlhelp.xsl b/test/Docbook/rootname/htmlhelp/image/htmlhelp.xsl
index 4544b94..4544b94 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/htmlhelp/image/htmlhelp.xsl
+++ b/test/Docbook/rootname/htmlhelp/image/htmlhelp.xsl
diff --git a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/manual.xml b/test/Docbook/rootname/htmlhelp/image/manual.xml
index ca12e0e..ca12e0e 100644
--- a/src/engine/SCons/Tool/docbook/test/basedir/htmlhelp/image/manual.xml
+++ b/test/Docbook/rootname/htmlhelp/image/manual.xml
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/SConstruct b/test/Docbook/rootname/slideshtml/image/SConstruct
index 769314c..769314c 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/SConstruct
+++ b/test/Docbook/rootname/slideshtml/image/SConstruct
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/slides.xsl b/test/Docbook/rootname/slideshtml/image/slides.xsl
index 23fb3e8..23fb3e8 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/image/slides.xsl
+++ b/test/Docbook/rootname/slideshtml/image/slides.xsl
diff --git a/src/engine/SCons/Tool/docbook/test/basic/slideshtml/image/virt.xml b/test/Docbook/rootname/slideshtml/image/virt.xml
index aec1fd7..aec1fd7 100644
--- a/src/engine/SCons/Tool/docbook/test/basic/slideshtml/image/virt.xml
+++ b/test/Docbook/rootname/slideshtml/image/virt.xml
diff --git a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/sconstest-slideshtml.py b/test/Docbook/rootname/slideshtml/slideshtml.py
index 820a615..c316ada 100644
--- a/src/engine/SCons/Tool/docbook/test/rootname/slideshtml/sconstest-slideshtml.py
+++ b/test/Docbook/rootname/slideshtml/slideshtml.py
@@ -30,10 +30,15 @@ import TestSCons
test = TestSCons.TestSCons()
+try:
+ import libxml2
+except:
+ try:
+ import lxml
+ except:
+ test.skip_test('Cannot find installed Python binding for libxml2 or lxml, skipping test.\n')
+
test.dir_fixture('image')
-test.file_fixture('../../../__init__.py','site_scons/site_tools/docbook/__init__.py')
-test.dir_fixture('../../../docbook-xsl-1.76.1','site_scons/site_tools/docbook/docbook-xsl-1.76.1')
-test.dir_fixture('../../../utils','site_scons/site_tools/docbook/utils')
# Normal invocation
test.run(stderr=None)
@@ -49,6 +54,8 @@ test.must_not_exist(test.workpath('toc.html'))
test.must_not_exist(test.workpath('foil01.html'))
test.must_not_exist(test.workpath('foilgroup01.html'))
+test.pass_test()
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil