summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bin/SConsDoc.py199
-rw-r--r--bin/docs-update-generated.py4
-rw-r--r--bin/docs-validate.py10
-rw-r--r--bin/scons-proc.py2
-rw-r--r--doc/design/MANIFEST2
-rw-r--r--doc/design/acks.xml16
-rw-r--r--doc/design/bground.xml16
-rw-r--r--doc/design/copyright.xml14
-rw-r--r--doc/design/engine.xml20
-rw-r--r--doc/design/goals.xml16
-rw-r--r--doc/design/install.xml20
-rw-r--r--doc/design/intro.xml16
-rw-r--r--doc/design/issues.xml16
-rw-r--r--doc/design/main.xml110
-rw-r--r--doc/design/native.xml16
-rw-r--r--doc/design/overview.xml16
-rw-r--r--doc/design/scons.mod429
-rw-r--r--doc/design/summary.xml53
-rw-r--r--doc/developer/architecture.xml14
-rw-r--r--doc/developer/branches.xml14
-rw-r--r--doc/developer/copyright.xml12
-rw-r--r--doc/developer/cycle.xml14
-rw-r--r--doc/developer/main.xml68
-rw-r--r--doc/developer/packaging.xml14
-rw-r--r--doc/developer/preface.xml14
-rw-r--r--doc/developer/sourcetree.xml14
-rw-r--r--doc/developer/testing.xml14
-rw-r--r--doc/man/scons.xml318
-rw-r--r--doc/python10/MANIFEST3
-rw-r--r--doc/python10/abstract.xml37
-rw-r--r--doc/python10/acks.xml39
-rw-r--r--doc/python10/arch.eps134
-rw-r--r--doc/python10/arch.svg124
-rw-r--r--doc/python10/builder.eps325
-rw-r--r--doc/python10/copyright.xml14
-rw-r--r--doc/python10/design.xml99
-rw-r--r--doc/python10/future.xml39
-rw-r--r--doc/python10/install.xml39
-rw-r--r--doc/python10/intro.xml39
-rw-r--r--doc/python10/job-task.eps238
-rw-r--r--doc/python10/job-task.svg244
-rw-r--r--doc/python10/main.xml85
-rw-r--r--doc/python10/node.eps351
-rw-r--r--doc/python10/node.svg414
-rw-r--r--doc/python10/process.xml39
-rw-r--r--doc/python10/scanner.eps168
-rw-r--r--doc/python10/scanner.svg160
-rw-r--r--doc/python10/scons.mod428
-rw-r--r--doc/python10/sig.eps147
-rw-r--r--doc/python10/sig.svg124
-rw-r--r--doc/python10/summary.xml52
-rw-r--r--doc/reference/Alias.xml16
-rw-r--r--doc/reference/CFile.xml16
-rw-r--r--doc/reference/CXXFile.xml16
-rw-r--r--doc/reference/Command.xml16
-rw-r--r--doc/reference/Install.xml16
-rw-r--r--doc/reference/InstallAs.xml16
-rw-r--r--doc/reference/Library.xml16
-rw-r--r--doc/reference/Object.xml16
-rw-r--r--doc/reference/PCH.xml16
-rw-r--r--doc/reference/PDF.xml16
-rw-r--r--doc/reference/PostScript.xml16
-rw-r--r--doc/reference/Program.xml16
-rw-r--r--doc/reference/RES.xml16
-rw-r--r--doc/reference/SharedLibrary.xml16
-rw-r--r--doc/reference/SharedObject.xml16
-rw-r--r--doc/reference/StaticLibrary.xml16
-rw-r--r--doc/reference/StaticObject.xml16
-rw-r--r--doc/reference/copyright.xml14
-rw-r--r--doc/reference/errors.xml16
-rw-r--r--doc/reference/main.xml189
-rw-r--r--doc/reference/preface.xml16
-rw-r--r--doc/scons.mod1
-rw-r--r--doc/user/builders-built-in.xml2
74 files changed, 2418 insertions, 2905 deletions
diff --git a/bin/SConsDoc.py b/bin/SConsDoc.py
index c6d4785..7cd06f8 100644
--- a/bin/SConsDoc.py
+++ b/bin/SConsDoc.py
@@ -115,38 +115,43 @@ import sys
# Do we have libxml2/libxslt/lxml?
has_libxml2 = True
-has_lxml = True
try:
import libxml2
import libxslt
except:
has_libxml2 = False
-try:
- import lxml
-except:
- has_lxml = False
+ try:
+ import lxml
+ except:
+ print("Failed to import either libxml2/libxslt or lxml")
+ sys.exit(1)
-try:
- from lxml import etree
-except ImportError:
- try:
- # Python 2.5
- import xml.etree.cElementTree as etree
- except ImportError:
+has_etree = False
+if not has_libxml2:
try:
- # Python 2.5
- import xml.etree.ElementTree as etree
+ from lxml import etree
+ has_etree = True
+ except ImportError:
+ pass
+if not has_etree:
+ try:
+ # Python 2.5
+ import xml.etree.cElementTree as etree
except ImportError:
- try:
- # normal cElementTree install
- import cElementTree as etree
- except ImportError:
try:
- # normal ElementTree install
- import elementtree.ElementTree as etree
+ # Python 2.5
+ import xml.etree.ElementTree as etree
except ImportError:
- print("Failed to import ElementTree from any known place")
- sys.exit(1)
+ try:
+ # normal cElementTree install
+ import cElementTree as etree
+ except ImportError:
+ try:
+ # normal ElementTree install
+ import elementtree.ElementTree as etree
+ except ImportError:
+ print("Failed to import ElementTree from any known place")
+ sys.exit(1)
re_entity = re.compile("\&([^;]+);")
re_entity_header = re.compile("<!DOCTYPE\s+sconsdoc\s+[^\]]+\]>")
@@ -168,6 +173,21 @@ generated_comment = """
THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
"""
+def isSConsXml(fpath):
+ """ Check whether the given file is a SCons XML file, i.e. it
+ contains the default target namespace definition.
+ """
+ try:
+ f = open(fpath,'r')
+ content = f.read()
+ f.close()
+ if content.find(dbxsd) >= 0:
+ return True
+ except:
+ pass
+
+ return False
+
def xml_tree(root, comment=generated_comment):
""" Return a XML file tree with the correct namespaces set,
the element root as top entry and the given header comment.
@@ -182,8 +202,6 @@ def xml_tree(root, comment=generated_comment):
c = etree.Comment(comment)
t.append(c)
- # print etree.tostring(t, xml_declaration=True, encoding="UTF-8", pretty_print=True)
-
return t
def remove_entities(content):
@@ -196,75 +214,73 @@ def remove_entities(content):
default_xsd = os.path.join('doc','xsd','scons.xsd')
+ARG = "dbscons"
+
+class Libxml2ValidityHandler:
+
+ def __init__(self):
+ self.errors = []
+ self.warnings = []
+
+ def error(self, msg, data):
+ if data != ARG:
+ raise Exception, "Error handler did not receive correct argument"
+ self.errors.append(msg)
+
+ def warning(self, msg, data):
+ if data != ARG:
+ raise Exception, "Warning handler did not receive correct argument"
+ self.warnings.append(msg)
+
def validate_xml(fpath, xmlschema_context):
if not has_libxml2:
- # At the moment we prefer libxml2 over lxml, the latter can lead
- # to conflicts when installed together with libxml2.
- if has_lxml:
- # Use lxml
- xmlschema = etree.XMLSchema(xmlschema_context)
- doc = etree.parse(fpath)
- try:
- xmlschema.assertValid(doc)
- except:
- return False
- return True
- else:
- # Try xmllint as a last fallback
- try:
- import subprocess
- p = subprocess.Popen(['xmllint','--noout','--noent','--schema',default_xsd,fpath],
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- sout, serr = p.communicate()
- if serr and not 'validates' in serr:
- print serr
- return False
-
- return True
-
- except:
- print "Can't validate %s! Neither lxml/libxml2, nor xmllint found." % fpath
- return False
-
+ # Use lxml
+ xmlschema = etree.XMLSchema(xmlschema_context)
+ doc = etree.parse(fpath)
+ doc.xinclude()
+ try:
+ xmlschema.assertValid(doc)
+ except Exception, e:
+ print e
+ print "%s fails to validate" % fpath
+ return False
+ return True
+
+ # Create validation context
+ validation_context = xmlschema_context.schemaNewValidCtxt()
+ # Set error/warning handlers
+ eh = Libxml2ValidityHandler()
+ validation_context.setValidityErrorHandler(eh.error, eh.warning, ARG)
# Read file and resolve entities
doc = libxml2.readFile(fpath, None, libxml2.XML_PARSE_NOENT)
- err = xmlschema_context.schemaValidateDoc(doc)
+ doc.xincludeProcessFlags(libxml2.XML_PARSE_NOENT)
+ err = validation_context.schemaValidateDoc(doc)
# Cleanup
doc.freeDoc()
-
- if err:
- # TODO: print error message "Haha",err
+ del validation_context
+
+ if err or eh.errors:
+ for e in eh.errors:
+ print e.rstrip("\n")
+ print "%s fails to validate" % fpath
return False
return True
def prettyprint_xml(fpath):
if not has_libxml2:
- # At the moment we prefer libxml2 over lxml, the latter can lead
- # to conflicts when installed together with libxml2.
- if has_lxml:
- # Use lxml
- fin = open(fpath,'r')
- tree = etree.parse(fin)
- pretty_content = etree.tostring(tree, pretty_print=True)
- fin.close()
-
- fout = open(fpath,'w')
- fout.write(pretty_content)
- fout.close()
- else:
- # Use xmllint as a last fallback
- try:
- import subprocess
- p = subprocess.Popen(['xmllint', '-o', fpath, '--format', fpath],
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- sout, serr = p.communicate()
- except:
- print "Can't prettyprint %s! Neither lxml/libxml2, nor xmllint found." % fpath
- return False
+ # Use lxml
+ fin = open(fpath,'r')
+ tree = etree.parse(fin)
+ pretty_content = etree.tostring(tree, pretty_print=True)
+ fin.close()
+
+ fout = open(fpath,'w')
+ fout.write(pretty_content)
+ fout.close()
# Read file and resolve entities
- doc = libxml2.readFile(fpath, None, libxml2.XML_PARSE_NOENT)
+ doc = libxml2.readFile(fpath, None, libxml2d.XML_PARSE_NOENT)
err = xmlschema_context.schemaValidateDoc(doc)
# Cleanup
doc.freeDoc()
@@ -272,27 +288,25 @@ def prettyprint_xml(fpath):
perc="%"
-def validate_all_xml(dpath='src', xsdfile=default_xsd):
+def validate_all_xml(dpaths, xsdfile=default_xsd):
xmlschema_context = None
if not has_libxml2:
- # At the moment we prefer libxml2 over lxml, the latter can lead
- # to conflicts when installed together with libxml2.
- if has_lxml:
- # Use lxml
- xmlschema_context = etree.parse(xsdfile)
+ # Use lxml
+ xmlschema_context = etree.parse(xsdfile)
else:
# Use libxml2 and prepare the schema validation context
ctxt = libxml2.schemaNewParserCtxt(xsdfile)
- schema = ctxt.schemaParse()
+ xmlschema_context = ctxt.schemaParse()
del ctxt
- xmlschema_context = schema.schemaNewValidCtxt()
fpaths = []
- for path, dirs, files in os.walk(dpath):
- for f in files:
- if f.endswith('.xml'):
- fp = os.path.join(path, f)
- fpaths.append(fp)
+ for dp in dpaths:
+ for path, dirs, files in os.walk(dp):
+ for f in files:
+ if f.endswith('.xml'):
+ fp = os.path.join(path, f)
+ if isSConsXml(fp):
+ fpaths.append(fp)
fails = []
for idx, fp in enumerate(fpaths):
@@ -307,7 +321,6 @@ def validate_all_xml(dpath='src', xsdfile=default_xsd):
if has_libxml2:
# Cleanup
del xmlschema_context
- del schema
if fails:
return False
diff --git a/bin/docs-update-generated.py b/bin/docs-update-generated.py
index 2a78b9f..e689903 100644
--- a/bin/docs-update-generated.py
+++ b/bin/docs-update-generated.py
@@ -8,6 +8,7 @@
#
import os
+import SConsDoc
# Directory where all generated files are stored
gen_folder = 'doc/generated'
@@ -28,7 +29,8 @@ def generate_all():
for f in files:
if f.endswith('.xml'):
fpath = os.path.join(path, f)
- flist.append(fpath)
+ if SConsDoc.isSConsXml(fpath):
+ flist.append(fpath)
if flist:
# Does the destination folder exist
diff --git a/bin/docs-validate.py b/bin/docs-validate.py
index 2bc70a9..fc90ee7 100644
--- a/bin/docs-validate.py
+++ b/bin/docs-validate.py
@@ -8,10 +8,18 @@
# use different XML editors...
#
+import os
import SConsDoc
if __name__ == "__main__":
- if SConsDoc.validate_all_xml():
+ if SConsDoc.validate_all_xml(['src',
+ os.path.join('doc','design'),
+ os.path.join('doc','developer'),
+ os.path.join('doc','man'),
+ os.path.join('doc','python10'),
+ os.path.join('doc','reference'),
+ os.path.join('doc','user')
+ ]):
print "OK"
else:
print "Validation failed! Please correct the errors above and try again."
diff --git a/bin/scons-proc.py b/bin/scons-proc.py
index e17a339..d6bc1a2 100644
--- a/bin/scons-proc.py
+++ b/bin/scons-proc.py
@@ -360,7 +360,7 @@ os.system('python bin/docs-correct-mod-paths.py')
# Step 3: Validating all input files
print "Validating files against SCons XSD..."
-if SConsDoc.validate_all_xml():
+if SConsDoc.validate_all_xml(['src']):
print "OK"
else:
print "Validation failed! Please correct the errors above and try again."
diff --git a/doc/design/MANIFEST b/doc/design/MANIFEST
index 33ab8f0..c477ad9 100644
--- a/doc/design/MANIFEST
+++ b/doc/design/MANIFEST
@@ -11,4 +11,4 @@ issues.xml
main.xml
native.xml
overview.xml
-scons.mod
+summary.xml
diff --git a/doc/design/acks.xml b/doc/design/acks.xml
index b1a8a58..b613c7c 100644
--- a/doc/design/acks.xml
+++ b/doc/design/acks.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-acks"
+ 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">
+<title>Acknowledgements</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -177,3 +189,5 @@
</varlistentry>
</variablelist>
+
+</chapter>
diff --git a/doc/design/bground.xml b/doc/design/bground.xml
index c404e86..3a7370e 100644
--- a/doc/design/bground.xml
+++ b/doc/design/bground.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-background"
+ 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">
+<title>Background</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -84,3 +96,5 @@
it would be a teensy bit easier to type.
</para>
+
+</chapter>
diff --git a/doc/design/copyright.xml b/doc/design/copyright.xml
index d73906e..ea8a1a3 100644
--- a/doc/design/copyright.xml
+++ b/doc/design/copyright.xml
@@ -1,6 +1,16 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<legalnotice 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">
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -37,3 +47,5 @@
</para>
</blockquote>
+
+</legalnotice>
diff --git a/doc/design/engine.xml b/doc/design/engine.xml
index afe9877..e5a61d0 100644
--- a/doc/design/engine.xml
+++ b/doc/design/engine.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-engine"
+ 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">
+<title>Build Engine API</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -964,7 +976,7 @@ you set it up with another environment...
<para>
&Builder; objects referenced in the &BUILDERMAP; do not need to be
- listed separately in the &BUILDERS; variable. The &consenv; will
+ listed separately in the <literal>BUILDERS</literal> variable. The &consenv; will
bind the union of the &Builder; objects listed in both variables.
</para>
@@ -1292,7 +1304,7 @@ Comments?
<para>
&Scanner; objects referenced in the &SCANNERMAP; do not need to
- be listed separately in the &SCANNERS; variable. The &consenv;
+ be listed separately in the <literal>SCANNERS</literal> variable. The &consenv;
will bind the union of the &Scanner; objects listed
in both variables.
@@ -1962,3 +1974,5 @@ I need to write that up...
</programlisting>
</section>
+
+</chapter>
diff --git a/doc/design/goals.xml b/doc/design/goals.xml
index f2e6b7c..3b7598b 100644
--- a/doc/design/goals.xml
+++ b/doc/design/goals.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-goals"
+ 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">
+<title>Goals</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -214,3 +226,5 @@ To be written.
</para>
</section>
+
+</chapter>
diff --git a/doc/design/install.xml b/doc/design/install.xml
index e670e83..25e4b49 100644
--- a/doc/design/install.xml
+++ b/doc/design/install.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-install"
+ 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">
+<title>Installation</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -26,3 +38,9 @@
<!--
THIS CHAPTER NEEDS TO BE DISCUSSED AND WRITTEN.
-->
+
+<para>
+
+</para>
+
+</chapter>
diff --git a/doc/design/intro.xml b/doc/design/intro.xml
index 561baa4..296cc67 100644
--- a/doc/design/intro.xml
+++ b/doc/design/intro.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-intro"
+ 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">
+<title>Introduction</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -109,3 +121,5 @@ I'm especially eager to hear it.
-->
</section>
+
+</chapter>
diff --git a/doc/design/issues.xml b/doc/design/issues.xml
index 1f9a78c..a65a853 100644
--- a/doc/design/issues.xml
+++ b/doc/design/issues.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-issues"
+ 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">
+<title>Other Issues</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -193,3 +205,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/design/main.xml b/doc/design/main.xml
index e991b36..b01c498 100644
--- a/doc/design/main.xml
+++ b/doc/design/main.xml
@@ -2,7 +2,7 @@
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -25,44 +25,19 @@
-->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
+<!DOCTYPE sconsdoc [
- <!--
- We haven't updated the design document in ages.
- Rather than fool people into thinking that it's
- actually up-to-date and reflects the current design,
- hard-code the version from back when we last updated it.
<!ENTITY % version SYSTEM "../version.xml">
%version;
- -->
- <!ENTITY builddate "2001/12/13 20:55:46">
- <!ENTITY buildversion "0.91">
- <!ENTITY buildrevision "0.01.D177">
-
- <!--
- Also freeze the scons.mod DTD extensions
- to what they were way back when.
+
<!ENTITY % scons SYSTEM "../scons.mod">
- -->
- <!ENTITY % scons SYSTEM "scons.mod">
%scons;
- <!ENTITY acks SYSTEM "acks.xml">
- <!ENTITY bground SYSTEM "bground.xml">
- <!ENTITY copyright SYSTEM "copyright.xml">
- <!ENTITY engine SYSTEM "engine.xml">
- <!ENTITY goals SYSTEM "goals.xml">
- <!ENTITY install SYSTEM "install.xml">
- <!ENTITY intro SYSTEM "intro.xml">
- <!ENTITY issues SYSTEM "issues.xml">
- <!ENTITY native SYSTEM "native.xml">
- <!ENTITY overview SYSTEM "overview.xml">
-
]>
-<book>
+<book 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">
<bookinfo>
<title>SCons Design version &buildversion;</title>
@@ -80,79 +55,34 @@
<holder>Steven Knight</holder>
</copyright>
- <legalnotice>
- &copyright;
- </legalnotice>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="copyright.xml"/>
<releaseinfo>version &buildversion;</releaseinfo>
</bookinfo>
- <chapter id="chap-intro">
- <title>Introduction</title>
- &intro;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="intro.xml"/>
- <chapter id="chap-goals">
- <title>Goals</title>
- &goals;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="goals.xml"/>
- <chapter id="chap-overview">
- <title>Overview</title>
- &overview;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="overview.xml"/>
- <chapter id="chap-engine">
- <title>Build Engine API</title>
- &engine;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="engine.xml"/>
- <chapter id="chap-native">
- <title>Native Python Interface</title>
- &native;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="native.xml"/>
<!--
- <chapter id="chap-install">
- <title>Installation</title>
- &install;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="install.xml"/>
-->
- <chapter id="chap-issues">
- <title>Other Issues</title>
- &issues;
- </chapter>
-
- <chapter id="chap-background">
- <title>Background</title>
- &bground;
- </chapter>
-
- <chapter id="chap-summary">
- <title>Summary</title>
- <para>
-
- &SCons; offers a robust and feature-rich design for an SC-build
- tool. With a Build Engine based on the proven design of
- the &Cons; utility, it offers increased simplification of the
- user interface for unsophisticated users with the addition
- of the "do-the-right-thing" <function>env.Make</function>
- method, increased flexibility for sophisticated users with the
- addition of &Builder; and &Scanner; objects, a mechanism to
- allow tool-masters (and users) to share working construction
- environments, and embeddability to provide reliable dependency
- management in a variety of environments and interfaces.
-
- </para>
- </chapter>
-
- <chapter id="chap-acks">
- <title>Acknowledgements</title>
- &acks;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="issues.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bground.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="summary.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acks.xml"/>
</book>
diff --git a/doc/design/native.xml b/doc/design/native.xml
index c665e0c..60be9dd 100644
--- a/doc/design/native.xml
+++ b/doc/design/native.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-native"
+ 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">
+<title>Native Python Interface</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -362,3 +374,5 @@ beyond what the man page will have.
<!-- END HTML -->
</section>
+
+</chapter>
diff --git a/doc/design/overview.xml b/doc/design/overview.xml
index 266c9e8..72bf583 100644
--- a/doc/design/overview.xml
+++ b/doc/design/overview.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-overview"
+ 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">
+<title>Overview</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -496,3 +508,5 @@ This is where it will go, anyway...
</section>
</section>
+
+</chapter>
diff --git a/doc/design/scons.mod b/doc/design/scons.mod
deleted file mode 100644
index 5b246a4..0000000
--- a/doc/design/scons.mod
+++ /dev/null
@@ -1,429 +0,0 @@
-<!--
-
- __COPYRIGHT__
-
- An SCons-specific DTD module, for use with SCons DocBook
- documentation, that contains names, phrases, acronyms, etc. used
- throughout the SCons documentation.
-
--->
-
-
-
-<!--
-
- Other applications that we reference.
-
--->
-
-<!ENTITY Aegis "<application>Aegis</application>">
-<!ENTITY Ant "<application>Ant</application>">
-<!ENTITY Autoconf "<application>Autoconf</application>">
-<!ENTITY Automake "<application>Automake</application>">
-<!ENTITY cc "<application>cc</application>">
-<!ENTITY Cons "<application>Cons</application>">
-<!ENTITY cp "<application>cp</application>">
-<!ENTITY csh "<application>csh</application>">
-<!ENTITY gcc "<application>gcc</application>">
-<!ENTITY Jam "<application>Jam</application>">
-<!ENTITY jar "<application>jar</application>">
-<!ENTITY javac "<application>javac</application>">
-<!ENTITY javah "<application>javah</application>">
-<!ENTITY Make "<application>Make</application>">
-<!ENTITY Makepp "<application>Make++</application>">
-<!ENTITY Python "<application>Python</application>">
-<!ENTITY ranlib "<application>ranlib</application>">
-<!ENTITY rmic "<application>rmic</application>">
-<!ENTITY SCons "<application>SCons</application>">
-<!ENTITY scons "<application>scons</application>">
-<!ENTITY ScCons "<application>ScCons</application>">
-<!ENTITY tar "<application>tar</application>">
-<!ENTITY touch "<application>touch</application>">
-<!ENTITY zip "<application>zip</application>">
-
-
-<!--
-
- Classes.
-
--->
-
-<!ENTITY Action "<classname>Action</classname>">
-<!ENTITY ActionBase "<classname>ActionBase</classname>">
-<!ENTITY CommandAction "<classname>CommandAction</classname>">
-<!ENTITY FunctionAction "<classname>FunctionAction</classname>">
-<!ENTITY ListAction "<classname>ListAction</classname>">
-<!ENTITY Builder "<classname>Builder</classname>">
-<!ENTITY BuilderBase "<classname>BuilderBase</classname>">
-<!ENTITY CompositeBuilder "<classname>CompositeBuilder</classname>">
-<!ENTITY MultiStepBuilder "<classname>MultiStepBuilder</classname>">
-<!ENTITY Job "<classname>Job</classname>">
-<!ENTITY Jobs "<classname>Jobs</classname>">
-<!ENTITY Serial "<classname>Serial</classname>">
-<!ENTITY Parallel "<classname>Parallel</classname>">
-<!ENTITY Node "<classname>Node</classname>">
-<!ENTITY Node_FS "<classname>Node.FS</classname>">
-<!ENTITY Scanner "<classname>Scanner</classname>">
-<!ENTITY Sig "<classname>Sig</classname>">
-<!ENTITY Signature "<classname>Signature</classname>">
-<!ENTITY Taskmaster "<classname>Taskmaster</classname>">
-<!ENTITY TimeStamp "<classname>TimeStamp</classname>">
-<!ENTITY Walker "<classname>Walker</classname>">
-<!ENTITY Wrapper "<classname>Wrapper</classname>">
-
-
-
-<!--
-
- Options, command-line.
-
--->
-
-<!ENTITY debug-explain "<literal>--debug=explain</literal>">
-<!ENTITY implicit-cache "<literal>--implicit-cache</literal>">
-<!ENTITY implicit-deps-changed "<literal>--implicit-deps-changed</literal>">
-<!ENTITY implicit-deps-unchanged "<literal>--implicit-deps-unchanged</literal>">
-<!ENTITY Q "<literal>-Q</literal>">
-
-<!--
-
- Options, SConscript-settable.
-
--->
-
-<!ENTITY implicit_cache "<literal>implicit_cache</literal>">
-<!ENTITY implicit_deps_changed "<literal>implicit_deps_changed</literal>">
-<!ENTITY implicit_deps_unchanged "<literal>implicit_deps_unchanged</literal>">
-
-
-
-<!--
-
- File and directory names.
-
--->
-
-<!ENTITY build "<filename>build</filename>">
-<!ENTITY Makefile "<filename>Makefile</filename>">
-<!ENTITY Makefiles "<filename>Makefiles</filename>">
-<!ENTITY SConscript "<filename>SConscript</filename>">
-<!ENTITY SConstruct "<filename>SConstruct</filename>">
-<!ENTITY Sconstruct "<filename>Sconstruct</filename>">
-<!ENTITY sconstruct "<filename>sconstruct</filename>">
-<!ENTITY sconsign "<filename>.sconsign</filename>">
-<!ENTITY src "<filename>src</filename>">
-
-
-
-<!--
-
- Methods and functions. This includes functions from both
- the Build Engine and the Native Python Interface.
-
--->
-
-<!ENTITY Add "<function>Add</function>">
-<!ENTITY AddOptions "<function>AddOptions</function>">
-<!ENTITY Alias "<function>Alias</function>">
-<!ENTITY Aliases "<function>Aliases</function>">
-<!ENTITY Append "<function>Append</function>">
-<!ENTITY BoolOption "<function>BoolOption</function>">
-<!ENTITY Build "<function>Build</function>">
-<!ENTITY CacheDir "<function>CacheDir</function>">
-<!ENTITY Clean "<function>Clean</function>">
-<!ENTITY Clone "<function>Clone</function>">
-<!ENTITY Command "<function>Command</function>">
-<!ENTITY Configure "<function>Configure</function>">
-<!ENTITY Copy "<function>Copy</function>">
-<!ENTITY Default "<function>Default</function>">
-<!ENTITY DefaultRules "<function>DefaultRules</function>">
-<!ENTITY Depends "<function>Depends</function>">
-<!ENTITY Dir "<function>Dir</function>">
-<!ENTITY Entry "<function>Entry</function>">
-<!ENTITY EnumOption "<function>EnumOption</function>">
-<!ENTITY Environment "<function>Environment</function>">
-<!ENTITY Export "<function>Export</function>">
-<!ENTITY File "<function>File</function>">
-<!ENTITY Finish "<function>Finish</function>">
-<!ENTITY GenerateHelpText "<function>GenerateHelpText</function>">
-<!ENTITY Help "<function>Help</function>">
-<!ENTITY Ignore "<function>Ignore</function>">
-<!ENTITY Import "<function>Import</function>">
-<!ENTITY Install "<function>Install</function>">
-<!ENTITY InstallAs "<function>InstallAs</function>">
-<!ENTITY Link "<function>Link</function>">
-<!ENTITY ListOption "<function>ListOption</function>">
-<!ENTITY Local "<function>Local</function>">
-<!ENTITY Module "<function>Module</function>">
-<!ENTITY NoClean "<function>NoClean</function>">
-<!ENTITY Objects "<function>Objects</function>">
-<!ENTITY Options "<function>Options</function>">
-<!ENTITY PackageOption "<function>PackageOption</function>">
-<!ENTITY PathOption "<function>PathOption</function>">
-<!ENTITY Precious "<function>Precious</function>">
-<!ENTITY Prepend "<function>Prepend</function>">
-<!ENTITY Replace "<function>Replace</function>">
-<!ENTITY Repository "<function>Repository</function>">
-<!ENTITY Return "<function>Return</function>">
-<!ENTITY RuleSet "<function>RuleSet</function>">
-<!ENTITY Salt "<function>Salt</function>">
-<!ENTITY SetBuildSignatureType "<function>SetBuildSignatureType</function>">
-<!ENTITY SetContentSignatureType "<function>SetContentSignatureType</function>">
-<!ENTITY SourceSignature "<function>SourceSignature</function>">
-<!ENTITY SourceSignatures "<function>SourceSignatures</function>">
-<!ENTITY Split "<function>Split</function>">
-<!ENTITY TargetSignatures "<function>TargetSignatures</function>">
-<!ENTITY Task "<function>Task</function>">
-
-<!-- Environment methods -->
-<!ENTITY subst "<function>subst</function>">
-
-<!-- Configure context functions -->
-<!ENTITY Message "<function>Message</function>">
-<!ENTITY Result "<function>Result</function>">
-<!ENTITY CheckCHeader "<function>CheckCHeader</function>">
-<!ENTITY CheckCXXHeader "<function>CheckCXXHeader</function>">
-<!ENTITY CheckFunc "<function>CheckFunc</function>">
-<!ENTITY CheckHeader "<function>CheckHeader</function>">
-<!ENTITY CheckLib "<function>CheckLib</function>">
-<!ENTITY CheckLibWithHeader "<function>CheckLibWithHeader</function>">
-<!ENTITY CheckType "<function>CheckType</function>">
-<!ENTITY TryAction "<function>TryAction</function>">
-<!ENTITY TryBuild "<function>TryBuild</function>">
-<!ENTITY TryCompile "<function>TryCompile</function>">
-<!ENTITY TryLink "<function>TryLink</function>">
-<!ENTITY TryRun "<function>TryRun</function>">
-
-<!-- Python functions -->
-<!ENTITY str "<function>str</function>">
-<!ENTITY zipfile "<function>zipfile</function>">
-
-<!-- Obsolete, but referenced in old documents. -->
-<!ENTITY Cache "<function>Cache</function>">
-
-
-
-<!--
-
- Global variables.
-
--->
-
-<!ENTITY ARGUMENTS "<varname>ARGUMENTS</varname>">
-<!ENTITY BUILD_TARGETS "<varname>BUILD_TARGETS</varname>">
-<!ENTITY COMMAND_LINE_TARGETS "<varname>COMMAND_LINE_TARGETS</varname>">
-<!ENTITY DEFAULT_TARGETS "<varname>DEFAULT_TARGETS</varname>">
-
-
-
-<!--
-
- Construction variables.
-
--->
-
-<!ENTITY BUILDERMAP "<varname>BUILDERMAP</varname>">
-<!ENTITY BUILDERS "<varname>BUILDERS</varname>">
-<!ENTITY CC "<varname>CC</varname>">
-<!ENTITY CCFLAGS "<varname>CCFLAGS</varname>">
-<!ENTITY CCCOM "<varname>CCCOM</varname>">
-<!ENTITY COLOR "<varname>COLOR</varname>">
-<!ENTITY COLORS "<varname>COLORS</varname>">
-<!ENTITY CONFIG "<varname>CONFIG</varname>">
-<!ENTITY CPPDEFINES "<varname>CPPDEFINES</varname>">
-<!ENTITY ENV "<varname>ENV</varname>">
-<!ENTITY JAVACLASSDIR "<varname>JAVACLASSDIR</varname>">
-<!ENTITY LIBDIRPREFIX "<varname>LIBDIRPREFIX</varname>">
-<!ENTITY LIBDIRSUFFIX "<varname>LIBDIRSUFFIX</varname>">
-<!ENTITY LIBLINKPREFIX "<varname>LIBLINKPREFIX</varname>">
-<!ENTITY LIBLINKSUFFIX "<varname>LIBLINKSUFFIX</varname>">
-<!ENTITY LIBPATH "<varname>LIBPATH</varname>">
-<!ENTITY LIBS "<varname>LIBS</varname>">
-<!ENTITY LINK "<varname>LINK</varname>">
-<!ENTITY LINKCOM "<varname>LINKCOM</varname>">
-<!ENTITY LINKFLAGS "<varname>LINKFLAGS</varname>">
-<!ENTITY RELEASE "<varname>RELEASE</varname>">
-<!ENTITY RELEASE_BUILD "<varname>RELEASE_BUILD</varname>">
-<!ENTITY SCANNERMAP "<varname>SCANNERMAP</varname>">
-<!ENTITY SCANNERS "<varname>SCANNERS</varname>">
-<!ENTITY TARFLAGS "<varname>TARFLAGS</varname>">
-<!ENTITY TARSUFFIX "<varname>TARSUFFIX</varname>">
-
-
-
-<!--
-
- Environment variables.
-
--->
-
-<!ENTITY PATH "<varname>PATH</varname>">
-<!ENTITY PYTHONPATH "<varname>PYTHONPATH</varname>">
-<!ENTITY SCONSFLAGS "<varname>SCONSFLAGS</varname>">
-
-
-
-<!--
-
- Function and method arguments.
-
--->
-
-<!ENTITY allowed_values "<varname>allowed_values</varname>">
-<!ENTITY build_dir "<varname>build_dir</varname>">
-<!ENTITY map "<varname>map</varname>">
-<!ENTITY ignorecase "<varname>ignorecase</varname>">
-<!ENTITY options "<varname>options</varname>">
-<!ENTITY exports "<varname>exports</varname>">
-<!ENTITY source "<varname>source</varname>">
-<!ENTITY target "<varname>target</varname>">
-
-
-
-<!--
-
- Values of function and method arguments.
-
--->
-
-<!ENTITY all "<literal>all</literal>">
-<!ENTITY none "<literal>none</literal>">
-
-
-
-<!--
-
- Builder and Scanner objects.
-
--->
-
-<!ENTITY BuildDir "<function>BuildDir</function>">
-<!ENTITY CFile "<function>CFile</function>">
-<!ENTITY CXXFile "<function>CXXFile</function>">
-<!ENTITY DVI "<function>DVI</function>">
-<!ENTITY Jar "<function>Jar</function>">
-<!ENTITY Java "<function>Java</function>">
-<!ENTITY JavaH "<function>JavaH</function>">
-<!ENTITY Library "<function>Library</function>">
-<!ENTITY Object "<function>Object</function>">
-<!ENTITY PCH "<function>PCH</function>">
-<!ENTITY PDF "<function>PDF</function>">
-<!ENTITY PostScript "<function>PostScript</function>">
-<!ENTITY Program "<function>Program</function>">
-<!ENTITY RES "<function>RES</function>">
-<!ENTITY RMIC "<function>RMIC</function>">
-<!ENTITY SharedLibrary "<function>SharedLibrary</function>">
-<!ENTITY SharedObject "<function>SharedObject</function>">
-<!ENTITY StaticLibrary "<function>StaticLibrary</function>">
-<!ENTITY StaticObject "<function>StaticObject</function>">
-<!ENTITY Tar "<function>Tar</function>">
-<!ENTITY Zip "<function>Zip</function>">
-
-<!-- Obsolete, but referenced in old documents. -->
-<!ENTITY MakeBuilder "<function>Make</function>">
-
-
-
-<!--
-
- Terms. Define both singular and plural forms in various
- case-sensitive combinations for use in titles, in-line, etc.
-
--->
-
-<!ENTITY buildfunc "<literal>builder function</literal>">
-<!ENTITY builder_method "<literal>builder method</literal>">
-
-<!ENTITY Configure_Contexts "<literal>Configure Contexts</literal>">
-<!ENTITY configure_context "<literal>configure context</literal>">
-
-<!ENTITY ConsEnv "<literal>Construction Environment</literal>">
-<!ENTITY ConsEnvs "<literal>Construction Environments</literal>">
-<!ENTITY Consenv "<literal>Construction environment</literal>">
-<!ENTITY Consenvs "<literal>Construction environments</literal>">
-<!ENTITY consenv "<literal>construction environment</literal>">
-<!ENTITY consenvs "<literal>construction environments</literal>">
-
-<!ENTITY ConsVar "<literal>Construction Variable</literal>">
-<!ENTITY ConsVars "<literal>Construction Variables</literal>">
-<!ENTITY Consvar "<literal>Construction variable</literal>">
-<!ENTITY Consvars "<literal>Construction variables</literal>">
-<!ENTITY consvar "<literal>construction variable</literal>">
-<!ENTITY consvars "<literal>construction variables</literal>">
-
-<!ENTITY CPPPATH "<literal>CPPPATH</literal>">
-
-<!ENTITY Dictionary "<literal>Dictionary</literal>">
-
-<!ENTITY Emitter "<literal>Emitter</literal>">
-<!ENTITY emitter "<literal>emitter</literal>">
-<!ENTITY Generator "<literal>Generator</literal>">
-<!ENTITY generator "<literal>generator</literal>">
-
-<!ENTITY Nodes "<literal>Nodes</literal>">
-
-<!ENTITY signature "<literal>signature</literal>">
-<!ENTITY buildsignature "<literal>build signature</literal>">
-
-<!ENTITY true "<literal>true</literal>">
-<!ENTITY false "<literal>false</literal>">
-
-<!ENTITY typedef "<literal>typedef</literal>">
-
-<!--
-
- File and program names used in examples.
-
--->
-
-<!ENTITY bar "<application>bar</application>">
-<!ENTITY common1_c "<filename>common1.c</filename>">
-<!ENTITY common2_c "<filename>common2.c</filename>">
-<!ENTITY custom_py "<filename>custom.py</filename>">
-<!ENTITY goodbye "<application>goodbye</application>">
-<!ENTITY goodbye_o "<filename>goodbye.o</filename>">
-<!ENTITY goodbye_obj "<filename>goodbye.obj</filename>">
-<!ENTITY file_dll "<filename>file.dll</filename>">
-<!ENTITY file_in "<filename>file.in</filename>">
-<!ENTITY file_lib "<filename>file.lib</filename>">
-<!ENTITY file_o "<filename>file.o</filename>">
-<!ENTITY file_obj "<filename>file.obj</filename>">
-<!ENTITY file_out "<filename>file.out</filename>">
-<!ENTITY foo "<application>foo</application>">
-<!ENTITY foo_o "<filename>foo.o</filename>">
-<!ENTITY foo_obj "<filename>foo.obj</filename>">
-<!ENTITY hello "<application>hello</application>">
-<!ENTITY hello_c "<filename>hello.c</filename>">
-<!ENTITY hello_exe "<filename>hello.exe</filename>">
-<!ENTITY hello_h "<filename>hello.h</filename>">
-<!ENTITY hello_o "<filename>hello.o</filename>">
-<!ENTITY hello_obj "<filename>hello.obj</filename>">
-<!ENTITY libfile_a "<filename>libfile_a</filename>">
-<!ENTITY libfile_so "<filename>libfile_so</filename>">
-<!ENTITY new_hello "<application>new_hello</application>">
-<!ENTITY new_hello_exe "<application>new_hello.exe</application>">
-<!ENTITY prog "<filename>prog</filename>">
-<!ENTITY prog1 "<filename>prog1</filename>">
-<!ENTITY prog2 "<filename>prog2</filename>">
-<!ENTITY prog_c "<filename>prog.c</filename>">
-<!ENTITY prog_exe "<filename>prog.exe</filename>">
-<!ENTITY stdio_h "<filename>stdio.h</filename>">
-
-<!--
-
- Punctuation.
-
--->
-
-<!ENTITY plus "<literal>+</literal>">
-<!ENTITY hash "<literal>#</literal>">
-
-<!--
-
- Mailing lists
-
--->
-
-<!ENTITY scons-announce "<literal>announce@scons.tigris.org</literal>">
-<!ENTITY scons-devel "<literal>dev@scons.tigris.org</literal>">
-<!ENTITY scons-users "<literal>users@scons.tigris.org</literal>">
diff --git a/doc/design/summary.xml b/doc/design/summary.xml
new file mode 100644
index 0000000..36e1a90
--- /dev/null
+++ b/doc/design/summary.xml
@@ -0,0 +1,53 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-summary"
+ 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">
+<title>Summary</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
+ <para>
+
+ &SCons; offers a robust and feature-rich design for an SC-build
+ tool. With a Build Engine based on the proven design of
+ the &Cons; utility, it offers increased simplification of the
+ user interface for unsophisticated users with the addition
+ of the "do-the-right-thing" <function>env.Make</function>
+ method, increased flexibility for sophisticated users with the
+ addition of &Builder; and &Scanner; objects, a mechanism to
+ allow tool-masters (and users) to share working construction
+ environments, and embeddability to provide reliable dependency
+ management in a variety of environments and interfaces.
+
+ </para>
+
+</chapter>
diff --git a/doc/developer/architecture.xml b/doc/developer/architecture.xml
index 0fc357f..22caadf 100644
--- a/doc/developer/architecture.xml
+++ b/doc/developer/architecture.xml
@@ -1,3 +1,15 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-architecture"
+ 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">
+<title>Architecture</title>
+
<!--
__COPYRIGHT__
@@ -38,3 +50,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/developer/branches.xml b/doc/developer/branches.xml
index abba398..7f7fcc6 100644
--- a/doc/developer/branches.xml
+++ b/doc/developer/branches.xml
@@ -1,3 +1,15 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-branches"
+ 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">
+<title>Branches</title>
+
<!--
__COPYRIGHT__
@@ -38,3 +50,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/developer/copyright.xml b/doc/developer/copyright.xml
index d926f5b..2bb2db6 100644
--- a/doc/developer/copyright.xml
+++ b/doc/developer/copyright.xml
@@ -1,3 +1,13 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<legalnotice 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">
+
<!--
__COPYRIGHT__
@@ -30,3 +40,5 @@
</para>
</blockquote>
+
+</legalnotice>
diff --git a/doc/developer/cycle.xml b/doc/developer/cycle.xml
index 629a1a8..ecde3f8 100644
--- a/doc/developer/cycle.xml
+++ b/doc/developer/cycle.xml
@@ -1,3 +1,15 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-development-cycle"
+ 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">
+<title>Development Cycle</title>
+
<!--
__COPYRIGHT__
@@ -38,3 +50,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/developer/main.xml b/doc/developer/main.xml
index e2e414c..335cfa7 100644
--- a/doc/developer/main.xml
+++ b/doc/developer/main.xml
@@ -25,9 +25,7 @@
-->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
+<!DOCTYPE sconsdoc [
<!ENTITY % version SYSTEM "../version.xml">
%version;
@@ -35,18 +33,11 @@
<!ENTITY % scons SYSTEM "../scons.mod">
%scons;
- <!ENTITY architecture SYSTEM "architecture.xml">
- <!ENTITY branches SYSTEM "branches.xml">
- <!ENTITY copyright SYSTEM "copyright.xml">
- <!ENTITY cycle SYSTEM "cycle.xml">
- <!ENTITY packaging SYSTEM "packaging.xml">
- <!ENTITY preface SYSTEM "preface.xml">
- <!ENTITY sourcetree SYSTEM "sourcetree.xml">
- <!ENTITY testing SYSTEM "testing.xml">
-
]>
-<book>
+<book 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">
<bookinfo>
<title>SCons Developer's Guide &buildversion;</title>
@@ -64,47 +55,24 @@
<holder>Steven Knight</holder>
</copyright>
- <legalnotice>
- &copyright;
- </legalnotice>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="copyright.xml"/>
<releaseinfo>version &buildversion;</releaseinfo>
</bookinfo>
- <preface id="chap-preface">
- <title>Preface</title>
- &preface;
- </preface>
-
- <chapter id="chap-development-cycle">
- <title>Development Cycle</title>
- &cycle;
- </chapter>
-
- <chapter id="chap-source-tree">
- <title>Source Tree</title>
- &sourcetree;
- </chapter>
-
- <chapter id="chap-testing">
- <title>Testing</title>
- &testing;
- </chapter>
-
- <chapter id="chap-branches">
- <title>Branches</title>
- &branches;
- </chapter>
-
- <chapter id="chap-packaging">
- <title>Packaging</title>
- &packaging;
- </chapter>
-
- <chapter id="chap-architecture">
- <title>Architecture</title>
- &architecture;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="preface.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="cycle.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sourcetree.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="testing.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="branches.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="packaging.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/>
</book>
diff --git a/doc/developer/packaging.xml b/doc/developer/packaging.xml
index 3860ee7..cfea6dc 100644
--- a/doc/developer/packaging.xml
+++ b/doc/developer/packaging.xml
@@ -1,3 +1,15 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-packaging"
+ 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">
+<title>Packaging</title>
+
<!--
__COPYRIGHT__
@@ -38,3 +50,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/developer/preface.xml b/doc/developer/preface.xml
index 39ef93a..7102671 100644
--- a/doc/developer/preface.xml
+++ b/doc/developer/preface.xml
@@ -1,3 +1,15 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-preface"
+ 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">
+<title>Preface</title>
+
<!--
__COPYRIGHT__
@@ -173,3 +185,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/developer/sourcetree.xml b/doc/developer/sourcetree.xml
index be1c45a..9455f99 100644
--- a/doc/developer/sourcetree.xml
+++ b/doc/developer/sourcetree.xml
@@ -1,3 +1,15 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-source-tree"
+ 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">
+<title>Source Tree</title>
+
<!--
__COPYRIGHT__
@@ -38,3 +50,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/developer/testing.xml b/doc/developer/testing.xml
index c577c5c..091a5a9 100644
--- a/doc/developer/testing.xml
+++ b/doc/developer/testing.xml
@@ -1,3 +1,15 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-testing"
+ 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">
+<title>Testing</title>
+
<!--
__COPYRIGHT__
@@ -38,3 +50,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/man/scons.xml b/doc/man/scons.xml
index cb4169f..f10a5bd 100644
--- a/doc/man/scons.xml
+++ b/doc/man/scons.xml
@@ -150,7 +150,7 @@ scons: Building targets ...
cp foo.in foo.out
scons: done building targets.
$
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The status messages
(everything except the line that reads "cp foo.in foo.out")
@@ -184,7 +184,7 @@ from your external environment as follows:</para>
<literallayout>
import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Similarly, if the commands use external environment variables
like $PATH, $HOME, $JAVA_HOME, $LANG, $SHELL, $TERM, etc.,
@@ -194,7 +194,7 @@ these variables can also be explicitly propagated:</para>
import os
env = Environment(ENV = {'PATH' : os.environ['PATH'],
'HOME' : os.environ['HOME']})
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Or you may explicitly propagate the invoking user's
complete external environment:</para>
@@ -202,7 +202,7 @@ complete external environment:</para>
<literallayout>
import os
env = Environment(ENV = os.environ)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>This comes at the expense of making your build
dependent on the user's environment being set correctly,
@@ -233,7 +233,7 @@ the target file or files to be built.</para>
<literallayout>
scons
-</literallayout> <!-- .fi -->
+</literallayout>
<para>will build all target files in or below the current directory.
Explicit default targets
@@ -253,7 +253,7 @@ as a command-line target:</para>
<literallayout>
scons .
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Building all target files,
including any files outside of the current directory,
@@ -262,21 +262,21 @@ of the root directory (on POSIX systems):</para>
<literallayout>
scons /
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or the path name(s) of the volume(s) in which all the targets
should be built (on Windows systems):</para>
<literallayout>
scons C:\ D:\
-</literallayout> <!-- .fi -->
+</literallayout>
<para>To build only specific targets,
supply them as command-line arguments:</para>
<literallayout>
scons foo bar
-</literallayout> <!-- .fi -->
+</literallayout>
<para>in which case only the specified targets will be built
(along with any derived files on which they depend).</para>
@@ -289,13 +289,13 @@ necessary to build the specified target:</para>
<literallayout>
scons -c .
-</literallayout> <!-- .fi -->
+</literallayout>
<para>to remove all target files, or:</para>
<literallayout>
scons -c build export
-</literallayout> <!-- .fi -->
+</literallayout>
<para>to remove target files under build and export.
Additional files or directories to remove can be specified using the
@@ -316,7 +316,7 @@ built:</para>
<literallayout>
scons src/subdir
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or by changing directory and invoking scons with the
<option>-u</option>
@@ -329,7 +329,7 @@ targets relatively to the current subdirectory:</para>
<literallayout>
cd src/subdir
scons -u .
-</literallayout> <!-- .fi -->
+</literallayout>
<para><command>scons</command>
supports building multiple targets in parallel via a
@@ -339,7 +339,7 @@ of simultaneous tasks that may be spawned:</para>
<literallayout>
scons -j 4
-</literallayout> <!-- .fi -->
+</literallayout>
<para>builds four targets in parallel, for example.</para>
@@ -366,7 +366,7 @@ may be specified on the command line:</para>
<literallayout>
scons debug=1 .
-</literallayout> <!-- .fi -->
+</literallayout>
<para>These variables are available in SConscript files
through the ARGUMENTS dictionary,
@@ -378,7 +378,7 @@ if ARGUMENTS.get('debug', 0):
env = Environment(CCFLAGS = '-g')
else:
env = Environment()
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The command-line variable arguments are also available
in the ARGLIST list,
@@ -709,7 +709,7 @@ of a given derived file:</para>
<literallayout>
$ scons --debug=includes foo.o
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -783,7 +783,7 @@ $ scons --debug=presub
Building myprog.o with action(s):
$SHCC $SHCFLAGS $SHCCFLAGS $CPPFLAGS $_CPPINCFLAGS -c -o $TARGET $SOURCES
...
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -1077,7 +1077,7 @@ command:</para>
-s, --silent, --quiet
--taskmastertrace=FILE
--tree=OPTIONS
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -1180,7 +1180,7 @@ scons: Reading SConscript files ...
scons: done reading SConscript files.
scons&gt;&gt;&gt; build -n prog
scons&gt;&gt;&gt; exit
-</literallayout> <!-- .fi -->
+</literallayout>
<variablelist>
<varlistentry>
@@ -1436,7 +1436,7 @@ the last dir examined comes first in the resulting path.</para>
%APPDATA%/scons/site_scons
%HOME%/.scons/site_scons
./site_scons
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
<varlistentry>
@@ -1449,7 +1449,7 @@ the last dir examined comes first in the resulting path.</para>
$HOME/Library/Application Support/SCons/site_scons
$HOME/.scons/site_scons
./site_scons
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
<varlistentry>
@@ -1460,7 +1460,7 @@ the last dir examined comes first in the resulting path.</para>
/usr/share/scons/site_scons
$HOME/.scons/site_scons
./site_scons
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
<varlistentry>
@@ -1470,7 +1470,7 @@ the last dir examined comes first in the resulting path.</para>
/usr/share/scons/site_scons
$HOME/.scons/site_scons
./site_scons
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -1587,7 +1587,7 @@ scons --tree=derived,status
# Prints all dependencies of target, with status information
# and pruning dependencies of already-visited Nodes:
scons --tree=all,prune,status target
-</literallayout> <!-- .fi -->
+</literallayout>
<variablelist>
<varlistentry>
@@ -1940,7 +1940,7 @@ function:</para>
<literallayout>
env = Environment()
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Variables, called
<emphasis>construction</emphasis>
@@ -1952,7 +1952,7 @@ or by assigning them a value after the object is created:</para>
<literallayout>
env = Environment(FOO = 'foo')
env['BAR'] = 'bar'
-</literallayout> <!-- .fi -->
+</literallayout>
<para>As a convenience,
construction variables may also be set or modified by the
@@ -1967,7 +1967,7 @@ or if the flags are distributed to a number of construction variables.</para>
<literallayout>
env = Environment(parse_flags = '-Iinclude -DEBUG -lm')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>This example adds 'include' to
<emphasis role="bold">CPPPATH</emphasis>,
@@ -1989,7 +1989,7 @@ env = Environment(platform = 'cygwin')
env = Environment(platform = 'os2')
env = Environment(platform = 'posix')
env = Environment(platform = 'win32')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Specifying a platform initializes the appropriate
construction variables in the environment
@@ -2023,7 +2023,7 @@ def my_platform(env):
env['VAR'] = 'xyzzy'
env = Environment(platform = my_platform)
-</programlisting> <!-- .fi -->
+</programlisting>
<para>Additionally, a specific set of tools
with which to initialize the environment
@@ -2031,13 +2031,13 @@ may be specified as an optional keyword argument:</para>
<literallayout>
env = Environment(tools = ['msvc', 'lex'])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Non-built-in tools may be specified using the toolpath argument:</para>
<literallayout>
env = Environment(tools = ['default', 'foo'], toolpath = ['tools'])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>This looks for a tool specification in tools/foo.py (as well as
using the ordinary default tools for the platform). foo.py should
@@ -2070,7 +2070,7 @@ methods:</para>
base = Environment(toolpath=['custom_path'])
derived = base.Clone(tools=['custom_tool'])
derived.CustomBuilder()
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The elements of the tools list may also
be functions or callable objects,
@@ -2083,7 +2083,7 @@ def my_tool(env):
env['XYZZY'] = 'xyzzy'
env = Environment(tools = [my_tool])
-</programlisting> <!-- .fi -->
+</programlisting>
<para>The individual elements of the tools list
may also themselves be two-element lists of the form
@@ -2113,7 +2113,7 @@ def exists(env):
# in SConstruct:
env = Environment(tools = ['default', ('my_tool', {'arg1': 'abc'})],
toolpath=['tools'])
-</programlisting> <!-- .fi -->
+</programlisting>
<para>The tool definition (i.e. my_tool()) can use the PLATFORM variable from
the environment it receives to customize the tool for different platforms.</para>
@@ -2212,7 +2212,7 @@ env.Program(source = ['bar.c', 'foo.c'], target = 'bar')
env.Program(target = 'bar', Split('bar.c foo.c'))
env.Program(target = 'bar', env.Split('bar.c foo.c'))
env.Program('bar', source = 'bar.c foo.c'.split())
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Target and source file names
that are not absolute path names
@@ -2264,7 +2264,7 @@ env.Program('#/bar', 'bar.c')
# Builds the program "other/foo" (relative to the top-level
# SConstruct directory) from "subdir/foo.c":
env.Program('#other/foo', 'foo.c')
-</programlisting> <!-- .fi -->
+</programlisting>
<para>When the target shares the same base name
as the source and only the suffix varies,
@@ -2288,7 +2288,7 @@ env.Program(target = 'bar', source = 'bar.c')
env.Program('bar', source = 'bar.c')
env.Program(source = 'bar.c')
env.Program('bar.c')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>As a convenience, a
<emphasis role="bold">srcdir</emphasis>
@@ -2310,7 +2310,7 @@ and
<literallayout>
env.Program('build/prog', ['f1.c', 'f2.c'], srcdir='src')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>It is possible to override or add construction variables when calling a
builder method by passing additional keyword arguments.
@@ -2321,7 +2321,7 @@ libraries for just one program:</para>
<literallayout>
env.Program('hello', 'hello.c', LIBS=['gl', 'glut'])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or generate a shared library with a non-standard suffix:</para>
@@ -2329,7 +2329,7 @@ env.Program('hello', 'hello.c', LIBS=['gl', 'glut'])
env.SharedLibrary('word', 'word.cpp',
SHLIBSUFFIX='.ocx',
LIBSUFFIXES=['.ocx'])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>(Note that both the $SHLIBSUFFIX and $LIBSUFFIXES variables must be set
if you want SCons to search automatically
@@ -2342,7 +2342,7 @@ keyword argument in an override:</para>
<literallayout>
env = Program('hello', 'hello.c', parse_flags = '-Iinclude -DEBUG -lm')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>This example adds 'include' to
<emphasis role="bold">CPPPATH</emphasis>,
@@ -2360,7 +2360,7 @@ they may also be called without an explicit environment:</para>
<literallayout>
Program('hello', 'hello.c')
SharedLibrary('word', 'word.cpp')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>In this case,
the methods are called internally using a default construction
@@ -2375,7 +2375,7 @@ to the Python module:</para>
<literallayout>
from SCons.Script import *
-</literallayout> <!-- .fi -->
+</literallayout>
<para>All builder methods return a list-like object
containing Nodes that
@@ -2398,7 +2398,7 @@ flag when compiling one specific object file:</para>
<literallayout>
bar_obj_list = env.StaticObject('bar.c', CPPDEFINES='-DBAR')
env.Program(source = ['foo.c', bar_obj_list, 'main.c'])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Using a Node in this way
makes for a more portable build
@@ -2421,7 +2421,7 @@ bar = Object('bar.c')
objects = ['begin.o'] + foo + ['middle.o'] + bar + ['end.o']
for object in objects:
print str(object)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Or you can use the
<emphasis role="bold">Flatten</emphasis>()
@@ -2435,7 +2435,7 @@ bar = Object('bar.c')
objects = Flatten(['begin.o', foo, 'middle.o', bar, 'end.o'])
for object in objects:
print str(object)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Note also that because Builder calls return
a list-like object, not an actual Python list,
@@ -2469,7 +2469,7 @@ object_files = []
# Instead, use the .extend() method:
object_files.extend(Object('bar.c'))
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The path name for a Node's file may be used
by passing the Node to the Python-builtin
@@ -2479,7 +2479,7 @@ function:</para>
<literallayout>
bar_obj_list = env.StaticObject('bar.c', CPPDEFINES='-DBAR')
print "The path to bar_obj is:", str(bar_obj_list[0])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Note again that because the Builder call returns a list,
we have to access the first element in the list
@@ -2518,7 +2518,7 @@ env.Command('sub/dir/foo.out', 'sub/dir/foo.in',
env.Command('sub/dir/foo.out', 'sub/dir/foo.in',
"cp foo.in foo.out",
chdir=1)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Note that scons will
<emphasis>not</emphasis>
@@ -2649,12 +2649,12 @@ if you call something as a global function
it looks like:</para>
<literallayout>
Function(<emphasis>arguments</emphasis>)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>and if you call something through a construction
environment it looks like:</para>
<literallayout>
env.Function(<emphasis>arguments</emphasis>)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>If you can call the functionality in both ways,
then both forms are listed.</para>
@@ -2664,7 +2664,7 @@ to the Python module:</para>
<literallayout>
from SCons.Script import *
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Except where otherwise noted,
the same-named
@@ -2682,7 +2682,7 @@ For example:</para>
env = Environment(FOO = 'foo')
Default('$FOO')
env.Default('$FOO')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>In the above example,
the first call to the global
@@ -2750,7 +2750,7 @@ to the Python module:</para>
<literallayout>
from SCons.Script import *
-</literallayout> <!-- .fi -->
+</literallayout>
<!-- '\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -->
<variablelist>
@@ -2785,7 +2785,7 @@ third_tuple = ARGLIST[2]
print "third keyword, value =", third_tuple[0], third_tuple[1]
for key, value in ARGLIST:
# process key and value
-</literallayout> <!-- .fi -->
+</literallayout>
<!-- '\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -->
</listitem>
@@ -2812,7 +2812,7 @@ if ARGUMENTS.get('debug', 0):
env = Environment(CCFLAGS = '-g')
else:
env = Environment()
-</literallayout> <!-- .fi -->
+</literallayout>
<!-- '\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -->
</listitem>
@@ -2853,7 +2853,7 @@ if 'foo' in BUILD_TARGETS:
print "Don't forget to test the `foo' program!"
if 'special/program' in BUILD_TARGETS:
SConscript('special')
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
</variablelist>
@@ -2891,7 +2891,7 @@ if 'foo' in COMMAND_LINE_TARGETS:
print "Don't forget to test the `foo' program!"
if 'special/program' in COMMAND_LINE_TARGETS:
SConscript('special')
-</literallayout> <!-- .fi -->
+</literallayout>
<!-- '\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -->
</listitem>
@@ -2915,7 +2915,7 @@ function to get at the path name for each Node.</para>
print str(DEFAULT_TARGETS[0])
if 'foo' in map(str, DEFAULT_TARGETS):
print "Don't forget to test the `foo' program!"
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
</variablelist>
@@ -2934,7 +2934,7 @@ Default('bar')
print map(str, DEFAULT_TARGETS) # now a node ['foo', 'bar']
Default(None)
print map(str, DEFAULT_TARGETS) # back to []
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Consequently, be sure to use
<emphasis role="bold">DEFAULT_TARGETS</emphasis>
@@ -3016,20 +3016,20 @@ method of the construction environment:</para>
<literallayout>
dict = env.Dictionary()
dict["CC"] = "cc"
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or using the [] operator:</para>
<literallayout>
env["CC"] = "cc"
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Construction variables can also be passed to the construction environment
constructor:</para>
<literallayout>
env = Environment(CC="cc")
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or when copying a construction environment using the
<emphasis role="bold">Clone</emphasis>
@@ -3037,7 +3037,7 @@ method:</para>
<literallayout>
env2 = env.Clone(CC="cl.exe")
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -3275,7 +3275,7 @@ the default is:</para>
extern "C"
#endif
char function_name();
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The optional
<emphasis>language</emphasis>
argument should be
@@ -3395,7 +3395,7 @@ the default is "C".
Example:</para>
<literallayout>
sconf.CheckType('foo_type', '#include "my_types.h"', 'C++')
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -3469,7 +3469,7 @@ if conf.CheckLibWithHeader( 'qt', 'qapp.h', 'c++',
# do stuff for qt - usage, e.g.
conf.env.Append( CPPFLAGS = '-DWITH_QT' )
env = conf.Finish()
-</literallayout> <!-- .fi -->
+</literallayout>
<variablelist>
<varlistentry>
@@ -3508,7 +3508,7 @@ For example,
will return success only if short is two bytes.</para>
<literallayout>
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -3566,7 +3566,7 @@ conf.Define('A_SYMBOL')
# Puts the following line in the config header file:
# #define A_SYMBOL 1
conf.Define('A_SYMBOL', 1)
-</programlisting> <!-- .fi -->
+</programlisting>
<para>Be careful about quoting string values, though:</para>
@@ -3582,7 +3582,7 @@ conf.Define('A_SYMBOL', "YA")
# Puts the following line in the config header file:
# #define A_SYMBOL "YA"
conf.Define('A_SYMBOL', '"YA"')
-</programlisting> <!-- .fi -->
+</programlisting>
<para>For comment:</para>
@@ -3595,7 +3595,7 @@ conf = Configure( env )
# /* Set to 1 if you have a symbol */
# #define A_SYMBOL 1
conf.Define('A_SYMBOL', 1, 'Set to 1 if you have a symbol')
-</programlisting> <!-- .fi -->
+</programlisting>
<para>You can define your own custom checks.
in addition to the predefined checks.
@@ -3755,7 +3755,7 @@ if not conf.CheckQt('/usr/lib/qt'):
print 'We really need qt!'
Exit(1)
env = conf.Finish()
-</programlisting> <!-- .fi -->
+</programlisting>
</refsect2>
@@ -3773,7 +3773,7 @@ object to support overriding construction variables
on the command line:</para>
<literallayout>
$ scons VARIABLE=foo
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The variable values can also be specified in a text-based SConscript file.
To create a Variables object, call the Variables() function:</para>
@@ -3804,7 +3804,7 @@ Example:</para>
vars = Variables('custom.py')
vars = Variables('overrides.py', ARGUMENTS)
vars = Variables(None, {FOO:'expansion', BAR:7})
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Variables objects have the following methods:</para>
@@ -3852,7 +3852,7 @@ def validate_color(key, val, env):
if not val in ['red', 'blue', 'yellow']:
raise Exception("Invalid color value '%s'" % val)
vars.Add('COLOR', validator=valid_color)
-</programlisting> <!-- .fi -->
+</programlisting>
</listitem>
</varlistentry>
@@ -3876,7 +3876,7 @@ opt.AddVariables(
('VALIDATE', 'An option for testing validation',
'notset', validator, None),
)
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -3900,7 +3900,7 @@ the Environment() function:</para>
<literallayout>
env = Environment(variables=vars)
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -3916,7 +3916,7 @@ are added to the construction environment.</para>
<literallayout>
CC = 'my_cc'
-</literallayout> <!-- .fi -->
+</literallayout>
<variablelist>
<varlistentry>
@@ -3933,7 +3933,7 @@ not configured.</para>
env = Environment(variables=vars)
for key, value in vars.UnknownVariables():
print "unknown variable: %s=%s" % (key, value)
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -3952,7 +3952,7 @@ vars = Variables(['variables.cache', 'custom.py'])
vars.Add(...)
vars.Update(env)
vars.Save('variables.cache', env)
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -3982,7 +3982,7 @@ function).</para>
<literallayout>
Help(vars.GenerateHelpText(env))
Help(vars.GenerateHelpText(env, sort=cmp))
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -4011,7 +4011,7 @@ def my_format(env, opt, help, default, actual):
fmt = "\n%s: default=%s actual=%s (%s)\n"
return fmt % (opt, default. actual, help)
vars.FormatVariableHelpText = my_format
-</programlisting> <!-- .fi -->
+</programlisting>
<para>To make it more convenient to work with customizable Variables,
<command>scons</command>
@@ -4265,7 +4265,7 @@ vars.AddVariables(
PathVariable.PathIsDir),
)
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -4338,7 +4338,7 @@ File('foo.c').srcnode().path # source path of the given source file.
# Builders also return File objects:
foo = env.Program('foo.c')
print "foo will be built in %s"%foo.path
-</literallayout> <!-- .fi -->
+</literallayout>
<para>A
<emphasis>Dir</emphasis>
@@ -4449,7 +4449,7 @@ docs = Dir('docs')
html = docs.Dir('html')
index = html.File('index.html')
css = index.File('app.css')
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
</refsect1>
@@ -4558,7 +4558,7 @@ b = Builder("build_it &lt; $SOURCE &gt; $TARGET",
b = Builder("build_it &lt; $SOURCE &gt; $TARGET",
suffix = { None: "file-",
"$SRC_SFX_A": gen_prefix })
-</programlisting> <!-- .fi -->
+</programlisting>
<variablelist>
<varlistentry>
@@ -4585,7 +4585,7 @@ b = Builder("build_it &lt; $SOURCE &gt; $TARGET",
b = Builder("build_it &lt; $SOURCE &gt; $TARGET",
suffix = { None: ".sfx1",
"$SRC_SFX_A": gen_suffix })
-</programlisting> <!-- .fi -->
+</programlisting>
</listitem>
</varlistentry>
@@ -4616,7 +4616,7 @@ env.B1('foo.txt', 'foo.in')
# Builds "bar.txt.out" because ensure_suffix is set.
env.B2('bar.txt', 'bar.in')
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -4696,7 +4696,7 @@ MakeDirectoryBuilder = Builder(action=my_mkdir, target_factory=Dir)
env = Environment()
env.Append(BUILDERS = {'MakeDirectory':MakeDirectoryBuilder})
env.MakeDirectory('new_directory', [])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Note that the call to the MakeDirectory Builder
@@ -4733,7 +4733,7 @@ CollectBuilder = Builder(action=my_mkdir, source_factory=Entry)
env = Environment()
env.Append(BUILDERS = {'Collect':CollectBuilder})
env.Collect('archive', ['directory_name', 'file_name'])
-</programlisting> <!-- .fi -->
+</programlisting>
</listitem>
</varlistentry>
@@ -4800,7 +4800,7 @@ def e_suf2(target, source, env):
b = Builder("my_build &lt; $TARGET &gt; $SOURCE",
emitter = {'.suf1' : e_suf1,
'.suf2' : e_suf2})
-</programlisting> <!-- .fi -->
+</programlisting>
</listitem>
</varlistentry>
@@ -4860,7 +4860,7 @@ def g(source, target, env, for_signature):
return [["gcc", "-c", "-o"] + target + source]
b = Builder(generator=g)
-</programlisting> <!-- .fi -->
+</programlisting>
<para>The
@@ -4941,7 +4941,7 @@ b = Builder(action={'.in' : 'build $SOURCES &gt; $TARGET'},
env = Environment(BUILDERS = {'MyBuild':b})
env.MyBuild('foo.out', ['foo.in', 'foo.extra'])
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -4960,7 +4960,7 @@ used to call the Builder for the target file.)</para>
b = Builder(action="build &lt; $SOURCE &gt; $TARGET")
env = Environment(BUILDERS = {'MyBuild' : b})
env.MyBuild('foo.out', 'foo.in', my_arg = 'xyzzy')
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5012,7 +5012,7 @@ b = Builder(action="build &lt; ${SOURCE.file} &gt; ${TARGET.file}",
chdir=1)
env = Environment(BUILDERS = {'MyBuild' : b})
env.MyBuild('sub/dir/foo.out', 'sub/dir/foo.in')
-</literallayout> <!-- .fi -->
+</literallayout>
<para><emphasis role="bold">WARNING:</emphasis>
Python only keeps one current directory
@@ -5119,7 +5119,7 @@ Action('@build $TARGET $SOURCES')
# Ignores return value
Action('-build $TARGET $SOURCES')
-</literallayout> <!-- .fi -->
+</literallayout>
<!-- XXX From Gary Ruben, 23 April 2002: -->
<!-- What would be useful is a discussion of how you execute command -->
<!-- shell commands ie. what is the process used to spawn the shell, pass -->
@@ -5150,7 +5150,7 @@ a command in a list within a list:</para>
<literallayout>
Action([['cc', '-c', '-DWHITE SPACE', '-o', '$TARGET', '$SOURCES']])
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5181,7 +5181,7 @@ via the built-in Python str() function:</para>
<literallayout>
target_file_name = str(target)
source_file_names = map(lambda x: str(x), source)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The function should return
<literal>0</literal>
@@ -5198,7 +5198,7 @@ def build_it(target = None, source = None, env = None):
return 0
a = Action(build_it)
-</programlisting> <!-- .fi -->
+</programlisting>
<para>If the action argument is not one of the above,
None is returned.</para>
@@ -5266,7 +5266,7 @@ s = Action(build_it, cmdstr="building '$TARGET' from '$SOURCE'")
# You can provide a configurable variable.
l = Action(build_it, '$STRINGIT')
-</programlisting> <!-- .fi -->
+</programlisting>
<para>The third and succeeding arguments, if present,
may either be a construction variable or a list of construction variables
@@ -5294,7 +5294,7 @@ a = Action(build_it, '$STRINGIT', ['XXX'])
# Alternatively, use a keyword argument.
a = Action(build_it, varlist=['XXX'])
-</programlisting> <!-- .fi -->
+</programlisting>
<para>The
<emphasis role="bold">Action</emphasis>()
@@ -5350,7 +5350,7 @@ targets and source.</para>
<literallayout>
a = Action("build &lt; ${SOURCE.file} &gt; ${TARGET.file}",
chdir=1)
-</literallayout> <!-- .fi -->
+</literallayout>
<para><emphasis role="bold">exitstatfunc</emphasis>
@@ -5379,7 +5379,7 @@ def always_succeed(s):
return 0
a = Action("build &lt; ${SOURCE.file} &gt; ${TARGET.file}",
exitstatfunc=always_succeed)
-</programlisting> <!-- .fi -->
+</programlisting>
<para><emphasis role="bold">batch_key</emphasis>
@@ -5415,7 +5415,7 @@ have actually changed since their targets were built.</para>
<literallayout>
a = Action('build $CHANGED_SOURCES', batch_key=True)
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The
<emphasis role="bold">batch_key</emphasis>
@@ -5499,7 +5499,7 @@ def batch_key(action, env, target, source):
return None
return (id(action), id(env), tdir)
a = Action('build $CHANGED_SOURCES', batch_key=batch_key)
-</programlisting> <!-- .fi -->
+</programlisting>
</listitem>
</varlistentry>
@@ -5545,7 +5545,7 @@ you can use the
global function to do so:</para>
<literallayout>
Execute(Touch('file'))
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Second,
you can use these functions
@@ -5567,7 +5567,7 @@ env.Command('foo.out', 'foo.in',
Copy('$TMPBUILD', '${SOURCE.dir}'),
"cd $TMPBUILD &amp;&amp; make",
Delete('$TMPBUILD')])
-</literallayout> <!-- .fi -->
+</literallayout>
<variablelist>
<varlistentry>
@@ -5586,7 +5586,7 @@ Execute(Chmod('file', 0755))
env.Command('foo.out', 'foo.in',
[Copy('$TARGET', '$SOURCE'),
Chmod('$TARGET', 0755)])
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5606,7 +5606,7 @@ Execute(Copy('foo.output', 'foo.input'))
env.Command('bar.out', 'bar.in',
Copy('$TARGET', '$SOURCE'))
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5639,7 +5639,7 @@ env.Command('foo.out', 'foo.in',
MyBuildAction])
Execute(Delete('file_that_must_exist', must_exist=1))
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5660,7 +5660,7 @@ env.Command('foo.out', 'foo.in',
Copy('/tmp/builddir/foo.in', '$SOURCE'),
"cd /tmp/builddir &amp;&amp; make",
Copy('$TARGET', '/tmp/builddir/foo.out')])
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5682,7 +5682,7 @@ Execute(Move('file.destination', 'file.source'))
env.Command('output_file', 'input_file',
[MyBuildAction,
Move('$TARGET', 'file_created_by_MyBuildAction')])
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5701,7 +5701,7 @@ Execute(Touch('file_to_be_touched'))
env.Command('marker', 'input_file',
[MyBuildAction,
Touch('$TARGET')])
-</literallayout> <!-- .fi -->
+</literallayout>
</listitem>
</varlistentry>
@@ -5799,13 +5799,13 @@ sources=['foo.c', 'bar.c']:</para>
<literallayout>
action='$CC -c -o $TARGET $SOURCES'
-</literallayout> <!-- .fi -->
+</literallayout>
<para>would produce the command line:</para>
<literallayout>
cc -c -o foo foo.c bar.c
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Variable names may be surrounded by curly braces ({})
to separate the name from the trailing characters.
@@ -5816,13 +5816,13 @@ In the previous example, the string:</para>
<literallayout>
${SOURCES[1]}
-</literallayout> <!-- .fi -->
+</literallayout>
<para>would produce:</para>
<literallayout>
bar.c
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Additionally, a variable name may
have the following special
@@ -5955,7 +5955,7 @@ Repository('/usr/repository')
$SOURCE =&gt; sub/dir/file.x
${SOURCE.rsrcpath} =&gt; /usr/repository/src/file.x
${SOURCE.rsrcdir} =&gt; /usr/repository/src
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Note that curly braces braces may also be used
to enclose arbitrary Python code to be evaluated.
@@ -5992,7 +5992,7 @@ def foo(target, source, env, for_signature):
# Will expand $BAR to "bar baz"
env=Environment(FOO=foo, BAR="$FOO baz")
-</programlisting> <!-- .fi -->
+</programlisting>
<para>You can use this feature to pass arguments to a
Python function by creating a callable class
@@ -6017,7 +6017,7 @@ class foo(object):
# Will expand $BAR to "my argument bar baz"
env=Environment(FOO=foo, BAR="${FOO('my argument')} baz")
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The special pseudo-variables
@@ -6045,21 +6045,21 @@ For example, the command line:</para>
<literallayout>
echo Last build occurred $( $TODAY $). &gt; $TARGET
-</literallayout> <!-- .fi -->
+</literallayout>
<para>would execute the command:</para>
<literallayout>
echo Last build occurred $TODAY. &gt; $TARGET
-</literallayout> <!-- .fi -->
+</literallayout>
<para>but the command signature added to any target files would be:</para>
<literallayout>
echo Last build occurred . &gt; $TARGET
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6074,15 +6074,15 @@ So in the following case:</para>
env['COND'] = 0
env.Command('foo.out', 'foo.in',
<!-- '''echo ${COND==1 and 'FOO' or 'BAR'} &gt; $TARGET''') -->
-</literallayout> <!-- .fi -->
+</literallayout>
<para>the command executed will be either</para>
<literallayout>
echo FOO &gt; foo.out
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or</para>
<literallayout>
echo BAR &gt; foo.out
-</literallayout> <!-- .fi -->
+</literallayout>
<para>according to the current value of env['COND'] when the command is
executed. The evaluation occurs when the target is being
built, not when the SConscript is being read. So if env['COND'] is changed
@@ -6103,7 +6103,7 @@ env.Command('foo.out', 'foo.in',
# Will execute this:
# echo foo1 foo2 &gt; foo.out
-</literallayout> <!-- .fi -->
+</literallayout>
<para>SCons uses the following rules when converting construction variables into
command lines:</para>
@@ -6377,7 +6377,7 @@ XYZScanner = Scanner(xyz_scan)
SourceFileScanner.add_scanner('.xyz', XYZScanner)
env.Program('my_prog', ['file1.c', 'file2.f', 'file3.xyz'])
-</programlisting> <!-- .fi -->
+</programlisting>
</refsect2>
</refsect1>
@@ -6480,7 +6480,7 @@ around the assignments:</para>
<literallayout>
scons "FOO=BAR" "BAZ=BLEH"
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Second, the Cygwin shell does not
recognize this file as being the same
@@ -6510,7 +6510,7 @@ then you must explictly tell SCons to use MinGW by passing</para>
<literallayout>
tools=['mingw']
-</literallayout> <!-- .fi -->
+</literallayout>
<para>to the Environment() function, because SCons will prefer the MSVC tools
over the MinGW tools.</para>
@@ -6528,7 +6528,7 @@ this section contains a brief overview of some common tasks.</para>
<literallayout>
env = Environment()
env.Program(target = 'foo', source = 'foo.c')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Note: Build the file by specifying
the target as an argument
@@ -6542,7 +6542,7 @@ or by specifying a dot ("scons .").</para>
<literallayout>
env = Environment()
env.Program(target = 'foo', source = Split('f1.c f2.c f3.c'))
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6551,7 +6551,7 @@ env.Program(target = 'foo', source = Split('f1.c f2.c f3.c'))
<literallayout>
env = Environment(CCFLAGS = '-g')
env.Program(target = 'foo', source = 'foo.c')
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6565,7 +6565,7 @@ SCons will construct the right -I options from CPPPATH.</para>
<literallayout>
env = Environment(CPPPATH = ['.'])
env.Program(target = 'foo', source = 'foo.c')
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6574,7 +6574,7 @@ env.Program(target = 'foo', source = 'foo.c')
<literallayout>
env = Environment(CPPPATH = ['include1', 'include2'])
env.Program(target = 'foo', source = 'foo.c')
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6584,7 +6584,7 @@ env.Program(target = 'foo', source = 'foo.c')
env = Environment()
env.StaticLibrary(target = 'foo', source = Split('l1.c l2.c'))
env.StaticLibrary(target = 'bar', source = ['l3.c', 'l4.c'])
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6594,7 +6594,7 @@ env.StaticLibrary(target = 'bar', source = ['l3.c', 'l4.c'])
env = Environment()
env.SharedLibrary(target = 'foo', source = ['l5.c', 'l6.c'])
env.SharedLibrary(target = 'bar', source = Split('l7.c l8.c'))
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6604,7 +6604,7 @@ env.SharedLibrary(target = 'bar', source = Split('l7.c l8.c'))
env = Environment(LIBS = 'mylib', LIBPATH = ['.'])
env.Library(target = 'mylib', source = Split('l1.c l2.c'))
env.Program(target = 'prog', source = ['p1.c', 'p2.c'])
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6623,7 +6623,7 @@ env.PDFBuilder(target = 'foo.pdf', source = 'foo.tex')
# The following creates "bar.pdf" from "bar.tex"
env.PDFBuilder(target = 'bar', source = 'bar')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Note also that the above initialization
overwrites the default Builder objects,
@@ -6643,7 +6643,7 @@ env = Environment()
env.Append(BUILDERS = {'PDFBuilder' : bld})
env.PDFBuilder(target = 'foo.pdf', source = 'foo.tex')
env.Program(target = 'bar', source = 'bar.c')
-</literallayout> <!-- .fi -->
+</literallayout>
<para>You also can use other Pythonic techniques to add
to the BUILDERS construction variable, such as:</para>
@@ -6651,7 +6651,7 @@ to the BUILDERS construction variable, such as:</para>
<literallayout>
env = Environment()
env['BUILDERS]['PDFBuilder'] = bld
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6690,7 +6690,7 @@ env.Command('foo', 'foo.k', 'kprocess &lt; $SOURCES &gt; $TARGET')
bar_in = File('bar.in')
env.Command('bar', bar_in, 'kprocess $SOURCES &gt; $TARGET')
bar_in.target_scanner = kscan
-</literallayout> <!-- .fi -->
+</literallayout>
<para>It is important to note that you
have to return a list of File nodes from the scan function, simple
@@ -6737,7 +6737,7 @@ env = Environment(SCANNERS = scanners + [scanner],
MYPATH = ['incs'])
env.Command('foo', 'foo.x', 'xprocess &lt; $SOURCES &gt; $TARGET')
-</programlisting> <!-- .fi -->
+</programlisting>
<para>The
<emphasis role="bold">FindPathDirs</emphasis>()
@@ -6775,7 +6775,7 @@ scanner = Scanner(name = 'myscanner',
skeys = ['.x'],
path_function = pf
)
-</programlisting> <!-- .fi -->
+</programlisting>
</refsect2>
@@ -6806,7 +6806,7 @@ sub/dir/SConscript:
env = Environment()
# Builds sub/dir/foo from sub/dir/foo.c
env.Program(target = 'foo', source = 'foo.c')
-</programlisting> <!-- .fi -->
+</programlisting>
</refsect2>
@@ -6828,7 +6828,7 @@ subdirectory/SConscript:
Import("env")
env.Program(target = 'foo', source = 'foo.c')
-</programlisting> <!-- .fi -->
+</programlisting>
</refsect2>
@@ -6855,7 +6855,7 @@ src/SConscript:
Import("cppdefines")
env = Environment(CPPDEFINES = cppdefines)
env.Program(target = 'src', source = 'src.c')
-</programlisting> <!-- .fi -->
+</programlisting>
<para>Note the use of the Export() method
to set the "cppdefines" variable to a different
@@ -6889,7 +6889,7 @@ Main/SConscript:
Import('env')
e = env.Copy(LIBS = ['a', 'b'])
e.Program('foo', Split('m1.c m2.c m3.c'))
-</programlisting> <!-- .fi -->
+</programlisting>
<para>The '#' in the LIBPATH directories specify that they're relative to the
top-level directory, so they don't turn into "Main/libA" when they're
@@ -6913,19 +6913,19 @@ vars = Variables('custom.py')
vars.Add('CC', 'The C compiler.')
env = Environment(variables=vars)
Help(vars.GenerateHelpText(env))
-</literallayout> <!-- .fi -->
+</literallayout>
<para>The user could specify the C compiler on the command line:</para>
<literallayout>
scons "CC=my_cc"
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or in the custom.py file:</para>
<literallayout>
CC = 'my_cc'
-</literallayout> <!-- .fi -->
+</literallayout>
<para>or get documentation on the options:</para>
@@ -6936,7 +6936,7 @@ CC: The C compiler.
default: None
actual: cc
-</literallayout> <!-- .fi -->
+</literallayout>
</refsect2>
@@ -6956,26 +6956,26 @@ compiling to object files. For example:</para>
<literallayout>
#include &lt;windows.h&gt;
#include &lt;my_big_header.h&gt;
-</literallayout> <!-- .fi -->
+</literallayout>
<para>StdAfx.cpp:</para>
<literallayout>
#include &lt;StdAfx.h&gt;
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Foo.cpp:</para>
<literallayout>
#include &lt;StdAfx.h&gt;
/* do some stuff */
-</literallayout> <!-- .fi -->
+</literallayout>
<para>Bar.cpp:</para>
<literallayout>
#include &lt;StdAfx.h&gt;
/* do some other stuff */
-</literallayout> <!-- .fi -->
+</literallayout>
<para>SConstruct:</para>
<literallayout>
@@ -6983,7 +6983,7 @@ env=Environment()
env['PCHSTOP'] = 'StdAfx.h'
env['PCH'] = env.PCH('StdAfx.cpp')[0]
env.Program('MyApp', ['Foo.cpp', 'Bar.cpp'])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>For more information see the document for the PCH builder, and the PCH and
PCHSTOP construction variables. To learn about the details of precompiled
@@ -7004,7 +7004,7 @@ variable.</para>
env=Environment()
env['PDB'] = 'MyApp.pdb'
env.Program('MyApp', ['Foo.cpp', 'Bar.cpp'])
-</literallayout> <!-- .fi -->
+</literallayout>
<para>For more information see the document for the PDB construction variable.</para>
diff --git a/doc/python10/MANIFEST b/doc/python10/MANIFEST
index c9484d8..1be563b 100644
--- a/doc/python10/MANIFEST
+++ b/doc/python10/MANIFEST
@@ -12,5 +12,4 @@ main.xml
node.fig
process.xml
scanner.fig
-scons.mod
-sig.fig
+summary.xml
diff --git a/doc/python10/abstract.xml b/doc/python10/abstract.xml
index 45b4918..337aa69 100644
--- a/doc/python10/abstract.xml
+++ b/doc/python10/abstract.xml
@@ -1,3 +1,38 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<abstract 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">
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
<para>
&SCons; is a software construction tool (build tool, or make tool)
@@ -30,3 +65,5 @@
and discusses future plans and directions for the tool.
</para>
+
+</abstract>
diff --git a/doc/python10/acks.xml b/doc/python10/acks.xml
index 895bad7..d3f3c42 100644
--- a/doc/python10/acks.xml
+++ b/doc/python10/acks.xml
@@ -1,3 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-acks"
+ 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">
+<title>Acknowledgements</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
<para>
First, many thanks to the great group of developers who dove in right
@@ -25,3 +62,5 @@
to experiment with &Cons; in the first place.
</para>
+
+</section>
diff --git a/doc/python10/arch.eps b/doc/python10/arch.eps
deleted file mode 100644
index 1fdd51f..0000000
--- a/doc/python10/arch.eps
+++ /dev/null
@@ -1,134 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: build/doc/python10/arch.fig
-%%Creator: /usr/bin/fig2dev Version 3.2 Patchlevel 3d
-%%CreationDate: Sun Jan 2 01:21:05 2005
-%%For: knight@casablanca.home.baldmt.com (Steven Knight)
-%%BoundingBox: 0 0 218 182
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
-newpath 0 182 moveto 0 0 lineto 218 0 lineto 218 182 lineto closepath clip newpath
--215.3 324.7 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-%
-% Fig objects follow
-%
-/Courier-Bold ff 300.00 scf sf
-3825 2925 m
-gs 1 -1 sc (scons) col0 sh gr
-/Times-Roman ff 300.00 scf sf
-3825 3225 m
-gs 1 -1 sc (Script) col0 sh gr
-/Times-Roman ff 300.00 scf sf
-5100 4875 m
-gs 1 -1 sc (Build Engine) col0 sh gr
-/Courier-Bold ff 300.00 scf sf
-4200 4875 m
-gs 1 -1 sc (SCons) col0 sh gr
-% Polyline
-7.500 slw
-n 3600 4200 m 7200 4200 l 7200 5400 l 3600 5400 l
- cp gs col0 s gr
-/Courier-Bold ff 300.00 scf sf
-4725 4050 m
-gs 1 -1 sc (SCons) col0 sh gr
-/Times-Roman ff 300.00 scf sf
-5625 4050 m
-gs 1 -1 sc (API) col0 sh gr
-% Polyline
-n 3600 2400 m 3600 2400 l 3600 2400 l 3600 2400 l
- cp gs col0 s gr
-% Polyline
-n 3600 2400 m 4800 2400 l 4800 3600 l 3600 3600 l
- cp gs col0 s gr
-% Polyline
-n 3600 3600 m 7200 3600 l 7200 4200 l 3600 4200 l
- cp gs col0 s gr
-% Polyline
- [60] 0 sd
-n 6000 3600 m 7200 3600 l 7200 2400 l 6000 2400 l
- cp gs col0 s gr [] 0 sd
-/Times-Italic ff 300.00 scf sf
-6300 2925 m
-gs 1 -1 sc (other) col0 sh gr
-/Times-Italic ff 300.00 scf sf
-6150 3225 m
-gs 1 -1 sc (interface) col0 sh gr
-$F2psEnd
-rs
diff --git a/doc/python10/arch.svg b/doc/python10/arch.svg
new file mode 100644
index 0000000..df3a8c0
--- /dev/null
+++ b/doc/python10/arch.svg
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1">
+ <g
+ transform="matrix(0.07440476,0,0,0.07440476,-26.785704,242.18362)"
+ id="g3017"
+ style="fill:none;stroke-width:0.025in">
+ <rect
+ width="3600"
+ height="1200"
+ rx="0"
+ x="3600"
+ y="4200"
+ id="rect3019"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="0"
+ height="0"
+ rx="0"
+ x="3600"
+ y="2400"
+ id="rect3021"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="1200"
+ rx="0"
+ x="3600"
+ y="2400"
+ id="rect3023"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="3600"
+ height="600"
+ rx="0"
+ x="3600"
+ y="3600"
+ id="rect3025"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="1200"
+ rx="0"
+ x="6000"
+ y="2400"
+ id="rect3027"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40" />
+ <text
+ x="3825"
+ y="2925"
+ id="text3029"
+ xml:space="preserve"
+ style="font-size:240px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">scons</text>
+ <text
+ x="3825"
+ y="3225"
+ id="text3031"
+ xml:space="preserve"
+ style="font-size:240px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Script</text>
+ <text
+ x="5100"
+ y="4875"
+ id="text3033"
+ xml:space="preserve"
+ style="font-size:240px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Build Engine</text>
+ <text
+ x="4200"
+ y="4875"
+ id="text3035"
+ xml:space="preserve"
+ style="font-size:240px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">SCons</text>
+ <text
+ x="4725"
+ y="4050"
+ id="text3037"
+ xml:space="preserve"
+ style="font-size:240px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">SCons</text>
+ <text
+ x="5625"
+ y="4050"
+ id="text3039"
+ xml:space="preserve"
+ style="font-size:240px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">API</text>
+ <text
+ x="6300"
+ y="2925"
+ id="text3041"
+ xml:space="preserve"
+ style="font-size:240px;font-style:italic;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">other</text>
+ <text
+ x="6150"
+ y="3225"
+ id="text3043"
+ xml:space="preserve"
+ style="font-size:240px;font-style:italic;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">interface</text>
+ </g>
+ </g>
+</svg>
diff --git a/doc/python10/builder.eps b/doc/python10/builder.eps
deleted file mode 100644
index db87afc..0000000
--- a/doc/python10/builder.eps
+++ /dev/null
@@ -1,325 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: build/doc/python10/builder.fig
-%%Creator: /usr/bin/fig2dev Version 3.2 Patchlevel 3d
-%%CreationDate: Sun Jan 2 01:21:05 2005
-%%For: knight@casablanca.home.baldmt.com (Steven Knight)
-%%BoundingBox: 0 0 668 290
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
-newpath 0 290 moveto 0 0 lineto 668 0 lineto 668 290 lineto closepath clip newpath
--53.3 342.7 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/reencdict 12 dict def /ReEncode { reencdict begin
-/newcodesandnames exch def /newfontname exch def /basefontname exch def
-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
-basefontdict { exch dup /FID ne { dup /Encoding eq
-{ exch dup length array copy newfont 3 1 roll put }
-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
-newfont /FontName newfontname put newcodesandnames aload pop
-128 1 255 { newfont /Encoding get exch /.notdef put } for
-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
-newfontname newfont definefont pop end } def
-/isovec [
-8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
-8#220 /dotlessi 8#230 /oe 8#231 /OE
-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
-8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
-/Times-Roman /Times-Roman-iso isovec ReEncode
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-%
-% Fig objects follow
-%
-% Polyline
-7.500 slw
-n 2700 1200 m 4500 1200 l 4500 1800 l 2700 1800 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-2925 1575 m
-gs 1 -1 sc (Environment) col0 sh gr
-% Polyline
-n 2700 2400 m 4500 2400 l 4500 3000 l 2700 3000 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-3600 2775 m
-gs 1 -1 sc (BuilderWrapper) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 2700 3600 m 4500 3600 l 4500 4200 l 2700 4200 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-3600 3975 m
-gs 1 -1 sc (BuilderBase) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 8400 3600 m 9900 3600 l 9900 4200 l 8400 4200 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-9150 3975 m
-gs 1 -1 sc (ActionBase) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 240.00 scf sf
-4650 5175 m
-gs 1 -1 sc (MultiStep-) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 240.00 scf sf
-4650 5460 m
-gs 1 -1 sc (Builder) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 3900 4800 m 5400 4800 l 5400 5700 l 3900 5700 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-2550 5175 m
-gs 1 -1 sc (Composite-) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 240.00 scf sf
-2550 5460 m
-gs 1 -1 sc (Builder) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 1800 4800 m 3300 4800 l 3300 5700 l 1800 5700 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-7050 5175 m
-gs 1 -1 sc (Command) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 240.00 scf sf
-7050 5460 m
-gs 1 -1 sc (Action) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 6300 4800 m 7800 4800 l 7800 5700 l 6300 5700 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-9150 5460 m
-gs 1 -1 sc (Action) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 240.00 scf sf
-9150 5175 m
-gs 1 -1 sc (Function) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 8400 4800 m 9900 4800 l 9900 5700 l 8400 5700 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-11250 5175 m
-gs 1 -1 sc (List) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 240.00 scf sf
-11250 5460 m
-gs 1 -1 sc (Action) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 10500 4800 m 12000 4800 l 12000 5700 l 10500 5700 l
- cp gs col0 s gr
-% Polyline
-n 900 2400 m 2100 2400 l 2100 3000 l 900 3000 l
- cp gs col0 s gr
-/Times-Roman-iso ff 240.00 scf sf
-1500 2775 m
-gs 1 -1 sc (Node) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 3600 4200 m 3525 4350 l 3675 4350 l
- cp gs col0 s gr
-% Polyline
-n 3150 4800 m 3150 4500 l 4050 4500 l
- 4050 4800 l gs col0 s gr
-% Polyline
-n 3600 4350 m
- 3600 4500 l gs col0 s gr
-% Polyline
-n 9150 4200 m 9075 4350 l 9225 4350 l
- cp gs col0 s gr
-% Polyline
-n 7050 4800 m 7050 4500 l 10950 4500 l
- 10950 4800 l gs col0 s gr
-% Polyline
-n 9150 4350 m
- 9150 4800 l gs col0 s gr
-% Polyline
-gs clippath
-9885 3870 m 9885 3930 l 10036 3930 l 9916 3900 l 10036 3870 l cp
-eoclip
-n 11550 4650 m 11550 3900 l
- 9900 3900 l gs col0 s gr gr
-
-% arrowhead
-n 10036 3870 m 9916 3900 l 10036 3930 l 10036 3870 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-8415 3930 m 8415 3870 l 8264 3870 l 8384 3900 l 8264 3930 l cp
-eoclip
-n 4650 3900 m
- 8400 3900 l gs col0 s gr gr
-
-% arrowhead
-n 8264 3930 m 8384 3900 l 8264 3870 l 8264 3930 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-3930 1785 m 3870 1785 l 3870 1936 l 3900 1816 l 3930 1936 l cp
-eoclip
-n 3900 2250 m
- 3900 1800 l gs col0 s gr gr
-
-% arrowhead
-n 3930 1936 m 3900 1816 l 3870 1936 l 3930 1936 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-3270 2415 m 3330 2415 l 3330 2264 l 3300 2384 l 3270 2264 l cp
-eoclip
-n 3300 1950 m
- 3300 2400 l gs col0 s gr gr
-
-% arrowhead
-n 3270 2264 m 3300 2384 l 3330 2264 l 3270 2264 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-3570 3615 m 3630 3615 l 3630 3464 l 3600 3584 l 3570 3464 l cp
-eoclip
-n 3600 3150 m
- 3600 3600 l gs col0 s gr gr
-
-% arrowhead
-n 3570 3464 m 3600 3584 l 3630 3464 l 3570 3464 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-4380 4185 m 4320 4185 l 4320 4336 l 4350 4216 l 4380 4336 l cp
-eoclip
-n 4350 4650 m
- 4350 4200 l gs col0 s gr gr
-
-% arrowhead
-n 4380 4336 m 4350 4216 l 4320 4336 l 4380 4336 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-2880 4185 m 2820 4185 l 2820 4336 l 2850 4216 l 2880 4336 l cp
-eoclip
-n 2850 4650 m
- 2850 4200 l gs col0 s gr gr
-
-% arrowhead
-n 2880 4336 m 2850 4216 l 2820 4336 l 2880 4336 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-2715 3930 m 2715 3870 l 2564 3870 l 2684 3900 l 2564 3930 l cp
-eoclip
-n 1500 3150 m 1500 3900 l
- 2700 3900 l gs col0 s gr gr
-
-% arrowhead
-n 2564 3930 m 2684 3900 l 2564 3870 l 2564 3930 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-n 4650 3900 m 4575 3860 l 4500 3900 l 4575 3940 l
- cp gs col0 s gr
-% Polyline
-n 1500 3000 m 1460 3075 l 1500 3150 l 1540 3075 l
- cp gs col0 s gr
-% Polyline
-n 3600 3000 m 3560 3075 l 3600 3150 l 3640 3075 l
- cp gs col0 s gr
-% Polyline
-n 3300 1800 m 3260 1875 l 3300 1950 l 3340 1875 l
- cp gs col0 s gr
-% Polyline
-n 3900 2250 m 3860 2325 l 3900 2400 l 3940 2325 l
- cp gs col0 s gr
-% Polyline
-n 4350 4650 m 4310 4725 l 4350 4800 l 4390 4725 l
- cp gs col0 s gr
-% Polyline
-n 2850 4650 m 2810 4725 l 2850 4800 l 2890 4725 l
- cp gs col0 s gr
-% Polyline
-n 11550 4650 m 11510 4725 l 11550 4800 l 11590 4725 l
- cp gs col0 s gr
-% Polyline
- [60] 0 sd
-n 3600 1200 m
- 3600 900 l gs col0 s gr [] 0 sd
-$F2psEnd
-rs
diff --git a/doc/python10/copyright.xml b/doc/python10/copyright.xml
index d141fc6..6af924f 100644
--- a/doc/python10/copyright.xml
+++ b/doc/python10/copyright.xml
@@ -1,6 +1,16 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<legalnotice 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">
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -30,3 +40,5 @@
</para>
</blockquote>
+
+</legalnotice>
diff --git a/doc/python10/design.xml b/doc/python10/design.xml
index 0dd5faa..e533c21 100644
--- a/doc/python10/design.xml
+++ b/doc/python10/design.xml
@@ -1,3 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-design"
+ 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">
+<title>Architecture</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
<para>
The &SCons; architecture consists of three layers:
@@ -6,16 +43,11 @@
<mediaobject>
<imageobject>
- <imagedata fileref="arch" format="eps" align="center"/>
- </imageobject>
- <imageobject>
- <imagedata fileref="arch.jpg" format="jpg" align="center"/>
+ <imagedata fileref="arch.svg" align="center"/>
</imageobject>
- <!-- PDF files?
<imageobject>
- <imagedata fileref="arch.pdf" align="center"/>
+ <imagedata fileref="arch.jpg" align="center"/>
</imageobject>
- -->
</mediaobject>
<itemizedlist>
@@ -166,16 +198,11 @@
<mediaobject>
<imageobject>
- <imagedata fileref="node" format="eps" align="center"/>
- </imageobject>
- <imageobject>
- <imagedata fileref="node.jpg" format="jpg" align="center"/>
+ <imagedata fileref="node.svg" align="center"/>
</imageobject>
- <!-- PDF files?
<imageobject>
- <imagedata fileref="node.pdf" align="center"/>
+ <imagedata fileref="node.jpg" align="center"/>
</imageobject>
- -->
</mediaobject>
<para>
@@ -230,16 +257,11 @@
<mediaobject>
<imageobject>
- <imagedata fileref="scanner" format="eps" align="center"/>
- </imageobject>
- <imageobject>
- <imagedata fileref="scanner.jpg" format="jpg" align="center"/>
+ <imagedata fileref="scanner.svg" align="center"/>
</imageobject>
- <!-- PDF files?
<imageobject>
- <imagedata fileref="scanner.pdf" align="center"/>
+ <imagedata fileref="scanner.jpg" align="center"/>
</imageobject>
- -->
</mediaobject>
<para>
@@ -272,16 +294,11 @@
<mediaobject>
<imageobject>
- <imagedata fileref="sig" format="eps" align="center"/>
+ <imagedata fileref="sig.svg" align="center"/>
</imageobject>
<imageobject>
- <imagedata fileref="sig.jpg" format="jpg" align="center"/>
+ <imagedata fileref="sig.jpg" align="center"/>
</imageobject>
- <!-- PDF files?
- <imageobject>
- <imagedata fileref="sig.pdf" align="center"/>
- </imageobject>
- -->
</mediaobject>
<para>
@@ -328,16 +345,11 @@
<mediaobject>
<imageobject>
- <imagedata fileref="builder" format="eps" align="center"/>
- </imageobject>
- <imageobject>
- <imagedata fileref="builder.jpg" format="jpg" align="center"/>
+ <imagedata fileref="builder.svg" align="center"/>
</imageobject>
- <!-- PDF files?
<imageobject>
- <imagedata fileref="builder.pdf" align="center"/>
+ <imagedata fileref="builder.jpg" align="center"/>
</imageobject>
- -->
</mediaobject>
<para>
@@ -391,16 +403,11 @@
<mediaobject>
<imageobject>
- <imagedata fileref="job-task" format="eps" align="center"/>
+ <imagedata fileref="job-task.svg" align="center"/>
</imageobject>
<imageobject>
- <imagedata fileref="job-task.jpg" format="jpg" align="center"/>
+ <imagedata fileref="job-task.jpg" align="center"/>
</imageobject>
- <!-- PDF files?
- <imageobject>
- <imagedata fileref="job-task.pdf" align="center"/>
- </imageobject>
- -->
</mediaobject>
<para>
@@ -547,7 +554,7 @@
file, a library, etc. A &Builder; object is associated with a
file through an associated &consenv; method and later invoked to
actually build the file. The &Builder; object will typically use
- construction variables (such as &CCFLAGS;, &LIBPATH;) to influence
+ construction variables (such as <literal>CCFLAGS</literal>, <literal>LIBPATH</literal>) to influence
the specific build execution.
</para>
@@ -629,7 +636,7 @@
<para>
&Builder; objects are associated with a &consenv; through a
- &consvar; named &BUILDERS;, a list of the &Builder; objects that
+ &consvar; named <literal>BUILDERS</literal>, a list of the &Builder; objects that
will be available for execution through the &consenv;:
</para>
@@ -678,7 +685,7 @@
<para>
&Scanner; objects are associated with a &consenv; through a
- &consvar; named &SCANNERS;, a list of the &Scanner; objects that
+ &consvar; named <literal>SCANNERS</literal>, a list of the &Scanner; objects that
will be available through the &consenv;:
</para>
@@ -896,3 +903,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/python10/future.xml b/doc/python10/future.xml
index 272d508..b883fe4 100644
--- a/doc/python10/future.xml
+++ b/doc/python10/future.xml
@@ -1,3 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-future"
+ 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">
+<title>Future Directions</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
<para>
There are a number of things we would like to do to continue to
@@ -168,3 +205,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/python10/install.xml b/doc/python10/install.xml
index d150beb..0e5544e 100644
--- a/doc/python10/install.xml
+++ b/doc/python10/install.xml
@@ -1,3 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-install"
+ 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">
+<title>Installation</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
<para>
Initial installation of a new utility provides the first, lasting
@@ -177,3 +214,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/python10/intro.xml b/doc/python10/intro.xml
index d3057be..7878342 100644
--- a/doc/python10/intro.xml
+++ b/doc/python10/intro.xml
@@ -1,3 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-intro"
+ 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">
+<title>Introduction</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
<para>
More than twenty years after its creation, the classic UNIX &Make;
@@ -210,3 +247,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/python10/job-task.eps b/doc/python10/job-task.eps
deleted file mode 100644
index b3eeaff..0000000
--- a/doc/python10/job-task.eps
+++ /dev/null
@@ -1,238 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: build/doc/python10/job-task.fig
-%%Creator: /usr/bin/fig2dev Version 3.2 Patchlevel 3d
-%%CreationDate: Sun Jan 2 01:21:05 2005
-%%For: knight@casablanca.home.baldmt.com (Steven Knight)
-%%BoundingBox: 0 0 416 236
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
-newpath 0 236 moveto 0 0 lineto 416 0 lineto 416 236 lineto closepath clip newpath
--35.3 342.7 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-%
-% Fig objects follow
-%
-% Polyline
-7.500 slw
-n 4200 3900 m 5100 3900 l 5100 4500 l 4200 4500 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-4650 4275 m
-gs 1 -1 sc (Task) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 4200 5100 m 5100 5100 l 5100 5700 l 4200 5700 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-4650 5475 m
-gs 1 -1 sc (Node) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 6300 2100 m 7200 2100 l 7200 2700 l 6300 2700 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-6750 2475 m
-gs 1 -1 sc (Sig) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 6300 3300 m 7500 3300 l 7500 3900 l 6300 3900 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-6900 3675 m
-gs 1 -1 sc (Walker) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 4200 2100 m 5700 2100 l 5700 2700 l 4200 2700 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-4950 2475 m
-gs 1 -1 sc (TaskMaster) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 2400 3300 m 3600 3300 l 3600 3900 l 2400 3900 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-3000 3675 m
-gs 1 -1 sc (Parallel) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 600 3300 m 1800 3300 l 1800 3900 l 600 3900 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-1200 3675 m
-gs 1 -1 sc (Serial) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 1200 2100 m 3000 2100 l 3000 2700 l 1200 2700 l
- cp gs col0 s gr
-/Times-Roman ff 255.00 scf sf
-2099 2475 m
-gs 1 -1 sc (Jobs) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 2700 2700 m 2660 2775 l 2700 2850 l 2740 2775 l
- cp gs col0 s gr
-% Polyline
-n 5700 2400 m 5775 2440 l 5850 2400 l 5775 2360 l
- cp gs col0 s gr
-% Polyline
-n 5400 2700 m 5360 2775 l 5400 2850 l 5440 2775 l
- cp gs col0 s gr
-% Polyline
-n 4650 2700 m 4610 2775 l 4650 2850 l 4690 2775 l
- cp gs col0 s gr
-% Polyline
-n 1500 2700 m 1460 2775 l 1500 2850 l 1540 2775 l
- cp gs col0 s gr
-% Polyline
-n 4650 4500 m 4610 4575 l 4650 4650 l 4690 4575 l
- cp gs col0 s gr
-% Polyline
-gs clippath
-1470 3315 m 1530 3315 l 1530 3164 l 1500 3284 l 1470 3164 l cp
-eoclip
-n 1500 2850 m
- 1500 3300 l gs col0 s gr gr
-
-% arrowhead
-n 1470 3164 m 1500 3284 l 1530 3164 l 1470 3164 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-2670 3315 m 2730 3315 l 2730 3164 l 2700 3284 l 2670 3164 l cp
-eoclip
-n 2700 2850 m
- 2700 3300 l gs col0 s gr gr
-
-% arrowhead
-n 2670 3164 m 2700 3284 l 2730 3164 l 2670 3164 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-4620 3915 m 4680 3915 l 4680 3764 l 4650 3884 l 4620 3764 l cp
-eoclip
-n 4650 2850 m
- 4650 3900 l gs col0 s gr gr
-
-% arrowhead
-n 4620 3764 m 4650 3884 l 4680 3764 l 4620 3764 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-4620 5115 m 4680 5115 l 4680 4964 l 4650 5084 l 4620 4964 l cp
-eoclip
-n 4650 4650 m
- 4650 5100 l gs col0 s gr gr
-
-% arrowhead
-n 4620 4964 m 4650 5084 l 4680 4964 l 4620 4964 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-6315 3630 m 6315 3570 l 6164 3570 l 6284 3600 l 6164 3630 l cp
-eoclip
-n 5400 2850 m 5400 3600 l
- 6300 3600 l gs col0 s gr gr
-
-% arrowhead
-n 6164 3630 m 6284 3600 l 6164 3570 l 6164 3630 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-6315 2430 m 6315 2370 l 6164 2370 l 6284 2400 l 6164 2430 l cp
-eoclip
-n 5850 2400 m
- 6300 2400 l gs col0 s gr gr
-
-% arrowhead
-n 6164 2430 m 6284 2400 l 6164 2370 l 6164 2430 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-n 3000 2400 m 3075 2440 l 3150 2400 l 3075 2360 l
- cp gs col0 s gr
-% Polyline
-gs clippath
-4215 2430 m 4215 2370 l 4064 2370 l 4184 2400 l 4064 2430 l cp
-eoclip
-n 3150 2400 m
- 4200 2400 l gs col0 s gr gr
-
-% arrowhead
-n 4064 2430 m 4184 2400 l 4064 2370 l 4064 2430 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
- [60] 0 sd
-n 2100 2100 m
- 2100 1800 l gs col0 s gr [] 0 sd
-% Polyline
- [60] 0 sd
-n 4950 2100 m
- 4950 1800 l gs col0 s gr [] 0 sd
-% Polyline
- [60] 0 sd
-n 6750 2100 m
- 6750 1800 l gs col0 s gr [] 0 sd
-$F2psEnd
-rs
diff --git a/doc/python10/job-task.svg b/doc/python10/job-task.svg
new file mode 100644
index 0000000..dc5fc20
--- /dev/null
+++ b/doc/python10/job-task.svg
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1">
+ <g
+ transform="matrix(0.07538995,0,0,0.07538995,69.670703,249.64987)"
+ id="g3223"
+ style="fill:none;stroke-width:0.025in">
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="4200"
+ y="3900"
+ id="rect3225"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="4200"
+ y="5100"
+ id="rect3227"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="6300"
+ y="2100"
+ id="rect3229"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="6300"
+ y="3300"
+ id="rect3231"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1500"
+ height="600"
+ rx="0"
+ x="4200"
+ y="2100"
+ id="rect3233"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="2400"
+ y="3300"
+ id="rect3235"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="600"
+ y="3300"
+ id="rect3237"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="1200"
+ y="2100"
+ id="rect3239"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="2740,2775 2700,2700 2700,2700 2660,2775 2700,2850 "
+ id="polygon3241"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="5775,2360 5700,2400 5700,2400 5775,2440 5850,2400 "
+ id="polygon3243"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="5440,2775 5400,2700 5400,2700 5360,2775 5400,2850 "
+ id="polygon3245"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="4690,2775 4650,2700 4650,2700 4610,2775 4650,2850 "
+ id="polygon3247"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="1540,2775 1500,2700 1500,2700 1460,2775 1500,2850 "
+ id="polygon3249"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="4690,4575 4650,4500 4650,4500 4610,4575 4650,4650 "
+ id="polygon3251"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3253"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="1500,2850 1500,3180 " />
+ <polygon
+ points="1470,3179 1470,3179 1500,3299 1530,3179 "
+ id="polygon3255"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3257"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="2700,2850 2700,3180 " />
+ <polygon
+ points="2670,3179 2670,3179 2700,3299 2730,3179 "
+ id="polygon3259"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3261"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="4650,2850 4650,3780 " />
+ <polygon
+ points="4620,3779 4620,3779 4650,3899 4680,3779 "
+ id="polygon3263"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3265"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="4650,4650 4650,4980 " />
+ <polygon
+ points="4620,4979 4620,4979 4650,5099 4680,4979 "
+ id="polygon3267"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3269"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="5400,2850 5400,3600 6180,3600 " />
+ <polygon
+ points="6179,3630 6179,3630 6299,3600 6179,3570 "
+ id="polygon3271"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3273"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="5850,2400 6180,2400 " />
+ <polygon
+ points="6179,2430 6179,2430 6299,2400 6179,2370 "
+ id="polygon3275"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polygon
+ points="3075,2360 3000,2400 3000,2400 3075,2440 3150,2400 "
+ id="polygon3277"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3279"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3150,2400 4080,2400 " />
+ <polygon
+ points="4079,2430 4079,2430 4199,2400 4079,2370 "
+ id="polygon3281"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3283"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="2100,2100 2100,1800 " />
+ <polyline
+ id="polyline3285"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="4950,2100 4950,1800 " />
+ <polyline
+ id="polyline3287"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="6750,2100 6750,1800 " />
+ <text
+ x="4650"
+ y="4275"
+ id="text3289"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Task</text>
+ <text
+ x="4650"
+ y="5475"
+ id="text3291"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Node</text>
+ <text
+ x="6750"
+ y="2475"
+ id="text3293"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Sig</text>
+ <text
+ x="6900"
+ y="3675"
+ id="text3295"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Walker</text>
+ <text
+ x="4950"
+ y="2475"
+ id="text3297"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">TaskMaster</text>
+ <text
+ x="3000"
+ y="3675"
+ id="text3299"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Parallel</text>
+ <text
+ x="1200"
+ y="3675"
+ id="text3301"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Serial</text>
+ <text
+ x="2099"
+ y="2475"
+ id="text3303"
+ xml:space="preserve"
+ style="font-size:204px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Jobs</text>
+ </g>
+ </g>
+</svg>
diff --git a/doc/python10/main.xml b/doc/python10/main.xml
index e061b90..c525bf1 100644
--- a/doc/python10/main.xml
+++ b/doc/python10/main.xml
@@ -1,8 +1,19 @@
<?xml version="1.0"?>
+<!DOCTYPE sconsdoc [
+
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+
+]>
+
+<article 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">
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -24,26 +35,7 @@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
-
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
-
- <!ENTITY % scons SYSTEM "scons.mod">
- %scons;
-
- <!ENTITY abstract SYSTEM "abstract.xml">
- <!ENTITY acks SYSTEM "acks.xml">
- <!ENTITY copyright SYSTEM "copyright.xml">
- <!ENTITY design SYSTEM "design.xml">
- <!ENTITY future SYSTEM "future.xml">
- <!ENTITY install SYSTEM "install.xml">
- <!ENTITY intro SYSTEM "intro.xml">
- <!ENTITY process SYSTEM "process.xml">
-
-]>
-
-<article>
+
<articleinfo>
<title>SCons Design and Implementation</title>
@@ -81,56 +73,21 @@
</articleinfo>
- <abstract>
- &abstract;
- </abstract>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="abstract.xml"/>
- <section id="sect-intro">
- <title>Introduction</title>
- &intro;
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="intro.xml"/>
- <section id="sect-design">
- <title>Architecture</title>
- &design;
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="design.xml"/>
- <section id="sect-install">
- <title>Installation</title>
- &install;
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="install.xml"/>
- <section id="sect-process">
- <title>Development Process</title>
- &process;
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="process.xml"/>
- <section id="sect-future">
- <title>Future Directions</title>
- &future;
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="future.xml"/>
- <section id="sect-summary">
- <title>Summary</title>
- <para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="summary.xml"/>
- This paper has introduced &SCons;, a next-generation build tool
- with a modular, embeddable architecture and a direct Python
- interface. &SCons; has a global view of the dependencies in a source
- tree, uses MD5 signatures to decide if derived files are out of date,
- and automatically scans files for dependencies, all of which make &SCons;
- builds exceptionally reliable. The &SCons; development methodology has
- been described, notable for its emphasis on automated regression
- testing to ensure a robust and reliable tool from day one. Several
- future directions for &SCons; have also been discussed.
-
- </para>
- </section>
-
- <section id="sect-acks">
- <title>Acknowledgements</title>
- &acks;
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acks.xml"/>
<!--
<section id="sect-refs">
diff --git a/doc/python10/node.eps b/doc/python10/node.eps
deleted file mode 100644
index 995235d..0000000
--- a/doc/python10/node.eps
+++ /dev/null
@@ -1,351 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: build/doc/python10/node.fig
-%%Creator: /usr/bin/fig2dev Version 3.2 Patchlevel 3d
-%%CreationDate: Sun Jan 2 01:21:05 2005
-%%For: knight@casablanca.home.baldmt.com (Steven Knight)
-%%BoundingBox: 0 0 452 362
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
-newpath 0 362 moveto 0 0 lineto 452 0 lineto 452 362 lineto closepath clip newpath
-0.7 414.7 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-%
-% Fig objects follow
-%
-% Polyline
-7.500 slw
-n 2700 1200 m 4500 1200 l 4500 1800 l 2700 1800 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-2925 1575 m
-gs 1 -1 sc (Environment) col0 sh gr
-% Polyline
-n 2700 3600 m 4500 3600 l 4500 4200 l 2700 4200 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-3375 3975 m
-gs 1 -1 sc (Node) col0 sh gr
-% Polyline
-n 5700 1800 m 6900 1800 l 6900 2400 l 5700 2400 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-5925 2175 m
-gs 1 -1 sc (Walker) col0 sh gr
-% Polyline
-n 2100 2400 m 3300 2400 l 3300 3000 l 2100 3000 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-2325 2775 m
-gs 1 -1 sc (Builder) col0 sh gr
-% Polyline
-n 3900 2400 m 5100 2400 l 5100 3000 l 3900 3000 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-4125 2775 m
-gs 1 -1 sc (Scanner) col0 sh gr
-% Polyline
-n 2400 6300 m 3300 6300 l 3300 6900 l 2400 6900 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-2700 6675 m
-gs 1 -1 sc (Dir) col0 sh gr
-% Polyline
-n 0 6300 m 900 6300 l 900 6900 l 0 6900 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-150 6675 m
-gs 1 -1 sc (Entry) col0 sh gr
-% Polyline
-n 1200 6300 m 2100 6300 l 2100 6900 l 1200 6900 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-1425 6675 m
-gs 1 -1 sc (File) col0 sh gr
-% Polyline
-n 1050 5100 m 2250 5100 l 2250 5700 l 1050 5700 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-1200 5475 m
-gs 1 -1 sc (Node.FS) col0 sh gr
-% Polyline
-n 1650 5700 m 1575 5850 l 1725 5850 l
- cp gs col0 s gr
-% Polyline
-n 450 6300 m 450 6000 l 2700 6000 l
- 2700 6300 l gs col0 s gr
-% Polyline
-n 1650 6300 m
- 1650 5850 l gs col0 s gr
-% Polyline
- [60] 0 sd
-n 5100 6300 m 6300 6300 l 6300 6900 l 5100 6900 l
- cp gs col0 s gr [] 0 sd
-/Times-Roman ff 240.00 scf sf
-5325 6675 m
-gs 1 -1 sc (Record) col0 sh gr
-% Polyline
- [60] 0 sd
-n 6600 6300 m 7500 6300 l 7500 6900 l 6600 6900 l
- cp gs col0 s gr [] 0 sd
-/Times-Roman ff 240.00 scf sf
-6750 6675 m
-gs 1 -1 sc (Field) col0 sh gr
-% Polyline
- [60] 0 sd
-n 4950 5100 m 6150 5100 l 6150 5700 l 4950 5700 l
- cp gs col0 s gr [] 0 sd
-/Times-Roman ff 240.00 scf sf
-5100 5475 m
-gs 1 -1 sc (Node.DB) col0 sh gr
-% Polyline
-n 5550 5700 m 5475 5850 l 5625 5850 l
- cp gs col0 s gr
-% Polyline
- [60] 0 sd
-n 4350 6300 m 4350 6000 l 7050 6000 l
- 7050 6300 l gs col0 s gr [] 0 sd
-% Polyline
- [60] 0 sd
-n 5550 5850 m
- 5550 6300 l gs col0 s gr [] 0 sd
-% Polyline
- [60] 0 sd
-n 3900 6300 m 4800 6300 l 4800 6900 l 3900 6900 l
- cp gs col0 s gr [] 0 sd
-/Times-Roman ff 240.00 scf sf
-4050 6675 m
-gs 1 -1 sc (Table) col0 sh gr
-% Polyline
-n 5700 3000 m 6900 3000 l 6900 3600 l 5700 3600 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-5850 3375 m
-gs 1 -1 sc (Wrapper) col0 sh gr
-% Polyline
-n 900 1200 m 1800 1200 l 1800 1800 l 900 1800 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-1200 1575 m
-gs 1 -1 sc (FS) col0 sh gr
-% Polyline
-n 3600 4200 m 3525 4350 l 3675 4350 l
- cp gs col0 s gr
-% Polyline
-n 1800 5100 m 1800 4800 l 5550 4800 l
- 5550 5100 l gs col0 s gr
-% Polyline
-n 3600 4800 m
- 3600 4350 l gs col0 s gr
-% Polyline
-n 4200 1800 m 4160 1875 l 4200 1950 l 4240 1875 l
- cp gs col0 s gr
-% Polyline
-n 3000 6150 m 2960 6225 l 3000 6300 l 3040 6225 l
- cp gs col0 s gr
-% Polyline
-n 6300 3600 m 6260 3675 l 6300 3750 l 6340 3675 l
- cp gs col0 s gr
-% Polyline
-n 6300 2400 m 6260 2475 l 6300 2550 l 6340 2475 l
- cp gs col0 s gr
-% Polyline
-n 3000 4200 m 2960 4275 l 3000 4350 l 3040 4275 l
- cp gs col0 s gr
-% Polyline
-n 4200 3450 m 4160 3525 l 4200 3600 l 4240 3525 l
- cp gs col0 s gr
-% Polyline
-n 3000 3450 m 2960 3525 l 3000 3600 l 3040 3525 l
- cp gs col0 s gr
-% Polyline
-gs clippath
-2235 5370 m 2235 5430 l 2386 5430 l 2266 5400 l 2386 5370 l cp
-eoclip
-n 3000 6150 m 3000 5400 l
- 2250 5400 l gs col0 s gr gr
-
-% arrowhead
-n 2386 5370 m 2266 5400 l 2386 5430 l 2386 5370 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-2715 3930 m 2715 3870 l 2564 3870 l 2684 3900 l 2564 3930 l cp
-eoclip
-n 3000 4350 m 3000 4500 l 1800 4500 l 1800 3900 l
- 2700 3900 l gs col0 s gr gr
-
-% arrowhead
-n 2564 3930 m 2684 3900 l 2564 3870 l 2564 3930 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-4485 3870 m 4485 3930 l 4636 3930 l 4516 3900 l 4636 3870 l cp
-eoclip
-n 6300 3750 m 6300 3900 l
- 4500 3900 l gs col0 s gr gr
-
-% arrowhead
-n 4636 3870 m 4516 3900 l 4636 3930 l 4636 3870 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-4230 2985 m 4170 2985 l 4170 3136 l 4200 3016 l 4230 3136 l cp
-eoclip
-n 4200 3450 m
- 4200 3000 l gs col0 s gr gr
-
-% arrowhead
-n 4230 3136 m 4200 3016 l 4170 3136 l 4230 3136 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-3030 2985 m 2970 2985 l 2970 3136 l 3000 3016 l 3030 3136 l cp
-eoclip
-n 3000 3450 m
- 3000 3000 l gs col0 s gr gr
-
-% arrowhead
-n 3030 3136 m 3000 3016 l 2970 3136 l 3030 3136 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-n 3000 1800 m 2960 1875 l 3000 1950 l 3040 1875 l
- cp gs col0 s gr
-% Polyline
-gs clippath
-2970 2415 m 3030 2415 l 3030 2264 l 3000 2384 l 2970 2264 l cp
-eoclip
-n 3000 1950 m
- 3000 2400 l gs col0 s gr gr
-
-% arrowhead
-n 2970 2264 m 3000 2384 l 3030 2264 l 2970 2264 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-4170 2415 m 4230 2415 l 4230 2264 l 4200 2384 l 4170 2264 l cp
-eoclip
-n 4200 1950 m
- 4200 2400 l gs col0 s gr gr
-
-% arrowhead
-n 4170 2264 m 4200 2384 l 4230 2264 l 4170 2264 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-6270 3015 m 6330 3015 l 6330 2864 l 6300 2984 l 6270 2864 l cp
-eoclip
-n 6300 2550 m
- 6300 3000 l gs col0 s gr gr
-
-% arrowhead
-n 6270 2864 m 6300 2984 l 6330 2864 l 6270 2864 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-4785 6570 m 4785 6630 l 4936 6630 l 4816 6600 l 4936 6570 l cp
-eoclip
-n 5100 6600 m
- 4800 6600 l gs col0 s gr gr
-
-% arrowhead
-n 4936 6570 m 4816 6600 l 4936 6630 l 4936 6570 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-6285 6570 m 6285 6630 l 6436 6630 l 6316 6600 l 6436 6570 l cp
-eoclip
-n 6600 6600 m
- 6300 6600 l gs col0 s gr gr
-
-% arrowhead
-n 6436 6570 m 6316 6600 l 6436 6630 l 6436 6570 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-n 1350 1800 m 1310 1875 l 1350 1950 l 1390 1875 l
- cp gs col0 s gr
-% Polyline
-gs clippath
-1320 5115 m 1380 5115 l 1380 4964 l 1350 5084 l 1320 4964 l cp
-eoclip
-n 1350 1950 m
- 1350 5100 l gs col0 s gr gr
-
-% arrowhead
-n 1320 4964 m 1350 5084 l 1380 4964 l 1320 4964 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
- [60] 0 sd
-n 1350 1200 m
- 1350 900 l gs col0 s gr [] 0 sd
-% Polyline
- [60] 0 sd
-n 3600 1200 m
- 3600 900 l gs col0 s gr [] 0 sd
-$F2psEnd
-rs
diff --git a/doc/python10/node.svg b/doc/python10/node.svg
new file mode 100644
index 0000000..66b6c8a
--- /dev/null
+++ b/doc/python10/node.svg
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1">
+ <g
+ transform="matrix(0.0747012,0,0,0.0747012,94.8705,241.0275)"
+ id="g3392"
+ style="fill:none;stroke-width:0.025in">
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="2700"
+ y="1200"
+ id="rect3394"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="2700"
+ y="3600"
+ id="rect3396"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="5700"
+ y="1800"
+ id="rect3398"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="2100"
+ y="2400"
+ id="rect3400"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="3900"
+ y="2400"
+ id="rect3402"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="2400"
+ y="6300"
+ id="rect3404"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="0"
+ y="6300"
+ id="rect3406"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="1200"
+ y="6300"
+ id="rect3408"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="1050"
+ y="5100"
+ id="rect3410"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="1650,5700 1650,5700 1575,5850 1725,5850 "
+ id="polygon3412"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3414"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="450,6300 450,6000 2700,6000 2700,6300 " />
+ <polyline
+ id="polyline3416"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="1650,6300 1650,5850 " />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="5100"
+ y="6300"
+ id="rect3418"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="6600"
+ y="6300"
+ id="rect3420"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="4950"
+ y="5100"
+ id="rect3422"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40" />
+ <polygon
+ points="5550,5700 5550,5700 5475,5850 5625,5850 "
+ id="polygon3424"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3426"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="4350,6300 4350,6000 7050,6000 7050,6300 " />
+ <polyline
+ id="polyline3428"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="5550,5850 5550,6300 " />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="3900"
+ y="6300"
+ id="rect3430"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="5700"
+ y="3000"
+ id="rect3432"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="900"
+ y="1200"
+ id="rect3434"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="3600,4200 3600,4200 3525,4350 3675,4350 "
+ id="polygon3436"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3438"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="1800,5100 1800,4800 5550,4800 5550,5100 " />
+ <polyline
+ id="polyline3440"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3600,4800 3600,4350 " />
+ <polygon
+ points="4240,1875 4200,1800 4200,1800 4160,1875 4200,1950 "
+ id="polygon3442"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="3040,6225 3000,6150 3000,6150 2960,6225 3000,6300 "
+ id="polygon3444"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="6340,3675 6300,3600 6300,3600 6260,3675 6300,3750 "
+ id="polygon3446"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="6340,2475 6300,2400 6300,2400 6260,2475 6300,2550 "
+ id="polygon3448"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="3040,4275 3000,4200 3000,4200 2960,4275 3000,4350 "
+ id="polygon3450"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="4240,3525 4200,3450 4200,3450 4160,3525 4200,3600 "
+ id="polygon3452"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="3040,3525 3000,3450 3000,3450 2960,3525 3000,3600 "
+ id="polygon3454"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3456"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3000,6150 3000,5400 2369,5400 " />
+ <polygon
+ points="2371,5370 2371,5370 2251,5400 2371,5430 "
+ id="polygon3458"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3460"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3000,4350 3000,4500 1800,4500 1800,3900 2580,3900 " />
+ <polygon
+ points="2579,3930 2579,3930 2699,3900 2579,3870 "
+ id="polygon3462"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3464"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="6300,3750 6300,3900 4619,3900 " />
+ <polygon
+ points="4621,3870 4621,3870 4501,3900 4621,3930 "
+ id="polygon3466"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3468"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="4200,3450 4200,3119 " />
+ <polygon
+ points="4230,3121 4230,3121 4200,3001 4170,3121 "
+ id="polygon3470"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3472"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3000,3450 3000,3119 " />
+ <polygon
+ points="3030,3121 3030,3121 3000,3001 2970,3121 "
+ id="polygon3474"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polygon
+ points="3040,1875 3000,1800 3000,1800 2960,1875 3000,1950 "
+ id="polygon3476"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3478"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3000,1950 3000,2280 " />
+ <polygon
+ points="2970,2279 2970,2279 3000,2399 3030,2279 "
+ id="polygon3480"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3482"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="4200,1950 4200,2280 " />
+ <polygon
+ points="4170,2279 4170,2279 4200,2399 4230,2279 "
+ id="polygon3484"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3486"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="6300,2550 6300,2880 " />
+ <polygon
+ points="6270,2879 6270,2879 6300,2999 6330,2879 "
+ id="polygon3488"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3490"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="5100,6600 4919,6600 " />
+ <polygon
+ points="4921,6570 4921,6570 4801,6600 4921,6630 "
+ id="polygon3492"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3494"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="6600,6600 6419,6600 " />
+ <polygon
+ points="6421,6570 6421,6570 6301,6600 6421,6630 "
+ id="polygon3496"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polygon
+ points="1390,1875 1350,1800 1350,1800 1310,1875 1350,1950 "
+ id="polygon3498"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3500"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="1350,1950 1350,4980 " />
+ <polygon
+ points="1320,4979 1320,4979 1350,5099 1380,4979 "
+ id="polygon3502"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3504"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="1350,1200 1350,900 " />
+ <polyline
+ id="polyline3506"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="3600,1200 3600,900 " />
+ <text
+ x="2925"
+ y="1575"
+ id="text3508"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Environment</text>
+ <text
+ x="3375"
+ y="3975"
+ id="text3510"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Node</text>
+ <text
+ x="5925"
+ y="2175"
+ id="text3512"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Walker</text>
+ <text
+ x="2325"
+ y="2775"
+ id="text3514"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Builder</text>
+ <text
+ x="4125"
+ y="2775"
+ id="text3516"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Scanner</text>
+ <text
+ x="2700"
+ y="6675"
+ id="text3518"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Dir</text>
+ <text
+ x="150"
+ y="6675"
+ id="text3520"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Entry</text>
+ <text
+ x="1425"
+ y="6675"
+ id="text3522"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">File</text>
+ <text
+ x="1200"
+ y="5475"
+ id="text3524"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Node.FS</text>
+ <text
+ x="5325"
+ y="6675"
+ id="text3526"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Record</text>
+ <text
+ x="6750"
+ y="6675"
+ id="text3528"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Field</text>
+ <text
+ x="5100"
+ y="5475"
+ id="text3530"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Node.DB</text>
+ <text
+ x="4050"
+ y="6675"
+ id="text3532"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Table</text>
+ <text
+ x="5850"
+ y="3375"
+ id="text3534"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Wrapper</text>
+ <text
+ x="1200"
+ y="1575"
+ id="text3536"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">FS</text>
+ </g>
+ </g>
+</svg>
diff --git a/doc/python10/process.xml b/doc/python10/process.xml
index 4ff0ab1..a754bbd 100644
--- a/doc/python10/process.xml
+++ b/doc/python10/process.xml
@@ -1,3 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-process"
+ 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">
+<title>Development Process</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
<para>
The &SCons; project has paid particular attention from day one to the
@@ -351,3 +388,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/python10/scanner.eps b/doc/python10/scanner.eps
deleted file mode 100644
index 35614f8..0000000
--- a/doc/python10/scanner.eps
+++ /dev/null
@@ -1,168 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: build/doc/python10/scanner.fig
-%%Creator: /usr/bin/fig2dev Version 3.2 Patchlevel 3d
-%%CreationDate: Sun Jan 2 01:21:05 2005
-%%For: knight@casablanca.home.baldmt.com (Steven Knight)
-%%BoundingBox: 0 0 398 200
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
-newpath 0 200 moveto 0 0 lineto 398 0 lineto 398 200 lineto closepath clip newpath
--17.3 360.7 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-%
-% Fig objects follow
-%
-% Polyline
-7.500 slw
-n 2700 5400 m 4500 5400 l 4500 6000 l 2700 6000 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-3000 5775 m
-gs 1 -1 sc (ProgScanner) col0 sh gr
-% Polyline
-n 2700 4200 m 4500 4200 l 4500 4800 l 2700 4800 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-3225 4575 m
-gs 1 -1 sc (Scanner) col0 sh gr
-% Polyline
-n 2700 3000 m 4500 3000 l 4500 3600 l 2700 3600 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-2925 3375 m
-gs 1 -1 sc (Environment) col0 sh gr
-% Polyline
- [60] 0 sd
-n 5100 5400 m 6900 5400 l 6900 6000 l 5100 6000 l
- cp gs col0 s gr [] 0 sd
-/Times-Roman ff 240.00 scf sf
-5400 5775 m
-gs 1 -1 sc (JavaScanner) col0 sh gr
-% Polyline
-n 300 5400 m 2100 5400 l 2100 6000 l 300 6000 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-750 5775 m
-gs 1 -1 sc (CScanner) col0 sh gr
-% Polyline
-n 600 3300 m 1500 3300 l 1500 3900 l 600 3900 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-825 3675 m
-gs 1 -1 sc (Node) col0 sh gr
-% Polyline
-n 1200 5400 m 1200 5100 l 6000 5100 l
- 6000 5400 l gs col0 s gr
-% Polyline
-n 3600 4950 m
- 3600 5400 l gs col0 s gr
-% Polyline
-n 3600 4800 m 3525 4950 l 3675 4950 l
- cp gs col0 s gr
-% Polyline
-n 3600 3600 m 3560 3675 l 3600 3750 l 3640 3675 l
- cp gs col0 s gr
-% Polyline
-n 1050 3900 m 1010 3975 l 1050 4050 l 1090 3975 l
- cp gs col0 s gr
-% Polyline
-gs clippath
-2715 4530 m 2715 4470 l 2564 4470 l 2684 4500 l 2564 4530 l cp
-eoclip
-n 1050 4050 m 1050 4500 l
- 2700 4500 l gs col0 s gr gr
-
-% arrowhead
-n 2564 4530 m 2684 4500 l 2564 4470 l 2564 4530 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
-gs clippath
-3570 4215 m 3630 4215 l 3630 4064 l 3600 4184 l 3570 4064 l cp
-eoclip
-n 3600 3750 m
- 3600 4200 l gs col0 s gr gr
-
-% arrowhead
-n 3570 4064 m 3600 4184 l 3630 4064 l 3570 4064 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
- [60] 0 sd
-n 3600 3000 m
- 3600 2700 l gs col0 s gr [] 0 sd
-$F2psEnd
-rs
diff --git a/doc/python10/scanner.svg b/doc/python10/scanner.svg
new file mode 100644
index 0000000..6fcb0e3
--- /dev/null
+++ b/doc/python10/scanner.svg
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1">
+ <g
+ transform="matrix(0.07472826,0,0,0.07472826,105.97826,207.29425)"
+ id="g3657"
+ style="fill:none;stroke-width:0.025in">
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="2700"
+ y="5400"
+ id="rect3659"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="2700"
+ y="4200"
+ id="rect3661"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="2700"
+ y="3000"
+ id="rect3663"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="5100"
+ y="5400"
+ id="rect3665"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40" />
+ <rect
+ width="1800"
+ height="600"
+ rx="0"
+ x="300"
+ y="5400"
+ id="rect3667"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="900"
+ height="600"
+ rx="0"
+ x="600"
+ y="3300"
+ id="rect3669"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3671"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="1200,5400 1200,5100 6000,5100 6000,5400 " />
+ <polyline
+ id="polyline3673"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3600,4950 3600,5400 " />
+ <polygon
+ points="3600,4800 3600,4800 3525,4950 3675,4950 "
+ id="polygon3675"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="3640,3675 3600,3600 3600,3600 3560,3675 3600,3750 "
+ id="polygon3677"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="1090,3975 1050,3900 1050,3900 1010,3975 1050,4050 "
+ id="polygon3679"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3681"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="1050,4050 1050,4500 2580,4500 " />
+ <polygon
+ points="2579,4530 2579,4530 2699,4500 2579,4470 "
+ id="polygon3683"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3685"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3600,3750 3600,4080 " />
+ <polygon
+ points="3570,4079 3570,4079 3600,4199 3630,4079 "
+ id="polygon3687"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3689"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="3600,3000 3600,2700 " />
+ <text
+ x="3000"
+ y="5775"
+ id="text3691"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">ProgScanner</text>
+ <text
+ x="3225"
+ y="4575"
+ id="text3693"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Scanner</text>
+ <text
+ x="2925"
+ y="3375"
+ id="text3695"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Environment</text>
+ <text
+ x="5400"
+ y="5775"
+ id="text3697"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">JavaScanner</text>
+ <text
+ x="750"
+ y="5775"
+ id="text3699"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">CScanner</text>
+ <text
+ x="825"
+ y="3675"
+ id="text3701"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:Times">Node</text>
+ </g>
+ </g>
+</svg>
diff --git a/doc/python10/scons.mod b/doc/python10/scons.mod
deleted file mode 100644
index 58a6576..0000000
--- a/doc/python10/scons.mod
+++ /dev/null
@@ -1,428 +0,0 @@
-<!--
-
- __COPYRIGHT__
-
- An SCons-specific DTD module, for use with SCons DocBook
- documentation, that contains names, phrases, acronyms, etc. used
- throughout the SCons documentation.
-
--->
-
-
-
-<!--
-
- Other applications that we reference.
-
--->
-
-<!ENTITY Aegis "<application>Aegis</application>">
-<!ENTITY Ant "<application>Ant</application>">
-<!ENTITY Autoconf "<application>Autoconf</application>">
-<!ENTITY Automake "<application>Automake</application>">
-<!ENTITY cc "<application>cc</application>">
-<!ENTITY Cons "<application>Cons</application>">
-<!ENTITY cp "<application>cp</application>">
-<!ENTITY csh "<application>csh</application>">
-<!ENTITY gcc "<application>gcc</application>">
-<!ENTITY Jam "<application>Jam</application>">
-<!ENTITY jar "<application>jar</application>">
-<!ENTITY javac "<application>javac</application>">
-<!ENTITY javah "<application>javah</application>">
-<!ENTITY Make "<application>Make</application>">
-<!ENTITY Makepp "<application>Make++</application>">
-<!ENTITY Python "<application>Python</application>">
-<!ENTITY ranlib "<application>ranlib</application>">
-<!ENTITY rmic "<application>rmic</application>">
-<!ENTITY SCons "<application>SCons</application>">
-<!ENTITY scons "<application>scons</application>">
-<!ENTITY ScCons "<application>ScCons</application>">
-<!ENTITY tar "<application>tar</application>">
-<!ENTITY touch "<application>touch</application>">
-<!ENTITY zip "<application>zip</application>">
-
-
-<!--
-
- Classes.
-
--->
-
-<!ENTITY Action "<classname>Action</classname>">
-<!ENTITY ActionBase "<classname>ActionBase</classname>">
-<!ENTITY CommandAction "<classname>CommandAction</classname>">
-<!ENTITY FunctionAction "<classname>FunctionAction</classname>">
-<!ENTITY ListAction "<classname>ListAction</classname>">
-<!ENTITY Builder "<classname>Builder</classname>">
-<!ENTITY BuilderBase "<classname>BuilderBase</classname>">
-<!ENTITY CompositeBuilder "<classname>CompositeBuilder</classname>">
-<!ENTITY MultiStepBuilder "<classname>MultiStepBuilder</classname>">
-<!ENTITY Job "<classname>Job</classname>">
-<!ENTITY Jobs "<classname>Jobs</classname>">
-<!ENTITY Serial "<classname>Serial</classname>">
-<!ENTITY Parallel "<classname>Parallel</classname>">
-<!ENTITY Node "<classname>Node</classname>">
-<!ENTITY Node_FS "<classname>Node.FS</classname>">
-<!ENTITY Scanner "<classname>Scanner</classname>">
-<!ENTITY Sig "<classname>Sig</classname>">
-<!ENTITY Signature "<classname>Signature</classname>">
-<!ENTITY Taskmaster "<classname>Taskmaster</classname>">
-<!ENTITY TimeStamp "<classname>TimeStamp</classname>">
-<!ENTITY Walker "<classname>Walker</classname>">
-<!ENTITY Wrapper "<classname>Wrapper</classname>">
-
-
-
-<!--
-
- Options, command-line.
-
--->
-
-<!ENTITY debug-explain "<literal>--debug=explain</literal>">
-<!ENTITY implicit-cache "<literal>--implicit-cache</literal>">
-<!ENTITY implicit-deps-changed "<literal>--implicit-deps-changed</literal>">
-<!ENTITY implicit-deps-unchanged "<literal>--implicit-deps-unchanged</literal>">
-<!ENTITY Q "<literal>-Q</literal>">
-
-<!--
-
- Options, SConscript-settable.
-
--->
-
-<!ENTITY implicit_cache "<literal>implicit_cache</literal>">
-<!ENTITY implicit_deps_changed "<literal>implicit_deps_changed</literal>">
-<!ENTITY implicit_deps_unchanged "<literal>implicit_deps_unchanged</literal>">
-
-
-
-<!--
-
- File and directory names.
-
--->
-
-<!ENTITY build "<filename>build</filename>">
-<!ENTITY Makefile "<filename>Makefile</filename>">
-<!ENTITY Makefiles "<filename>Makefiles</filename>">
-<!ENTITY SConscript "<filename>SConscript</filename>">
-<!ENTITY SConstruct "<filename>SConstruct</filename>">
-<!ENTITY Sconstruct "<filename>Sconstruct</filename>">
-<!ENTITY sconstruct "<filename>sconstruct</filename>">
-<!ENTITY sconsign "<filename>.sconsign</filename>">
-<!ENTITY src "<filename>src</filename>">
-
-
-
-<!--
-
- Methods and functions. This includes functions from both
- the Build Engine and the Native Python Interface.
-
--->
-
-<!ENTITY Add "<function>Add</function>">
-<!ENTITY AddOptions "<function>AddOptions</function>">
-<!ENTITY Alias "<function>Alias</function>">
-<!ENTITY Aliases "<function>Aliases</function>">
-<!ENTITY Append "<function>Append</function>">
-<!ENTITY BoolOption "<function>BoolOption</function>">
-<!ENTITY Build "<function>Build</function>">
-<!ENTITY CacheDir "<function>CacheDir</function>">
-<!ENTITY Clean "<function>Clean</function>">
-<!ENTITY Clone "<function>Clone</function>">
-<!ENTITY Command "<function>Command</function>">
-<!ENTITY Configure "<function>Configure</function>">
-<!ENTITY Copy "<function>Copy</function>">
-<!ENTITY Default "<function>Default</function>">
-<!ENTITY DefaultRules "<function>DefaultRules</function>">
-<!ENTITY Depends "<function>Depends</function>">
-<!ENTITY Dir "<function>Dir</function>">
-<!ENTITY Entry "<function>Entry</function>">
-<!ENTITY EnumOption "<function>EnumOption</function>">
-<!ENTITY Environment "<function>Environment</function>">
-<!ENTITY Export "<function>Export</function>">
-<!ENTITY File "<function>File</function>">
-<!ENTITY Finish "<function>Finish</function>">
-<!ENTITY GenerateHelpText "<function>GenerateHelpText</function>">
-<!ENTITY Help "<function>Help</function>">
-<!ENTITY Ignore "<function>Ignore</function>">
-<!ENTITY Import "<function>Import</function>">
-<!ENTITY Install "<function>Install</function>">
-<!ENTITY InstallAs "<function>InstallAs</function>">
-<!ENTITY Link "<function>Link</function>">
-<!ENTITY ListOption "<function>ListOption</function>">
-<!ENTITY Local "<function>Local</function>">
-<!ENTITY Module "<function>Module</function>">
-<!ENTITY Objects "<function>Objects</function>">
-<!ENTITY Options "<function>Options</function>">
-<!ENTITY PackageOption "<function>PackageOption</function>">
-<!ENTITY PathOption "<function>PathOption</function>">
-<!ENTITY Precious "<function>Precious</function>">
-<!ENTITY Prepend "<function>Prepend</function>">
-<!ENTITY Replace "<function>Replace</function>">
-<!ENTITY Repository "<function>Repository</function>">
-<!ENTITY Return "<function>Return</function>">
-<!ENTITY RuleSet "<function>RuleSet</function>">
-<!ENTITY Salt "<function>Salt</function>">
-<!ENTITY SetBuildSignatureType "<function>SetBuildSignatureType</function>">
-<!ENTITY SetContentSignatureType "<function>SetContentSignatureType</function>">
-<!ENTITY SourceSignature "<function>SourceSignature</function>">
-<!ENTITY SourceSignatures "<function>SourceSignatures</function>">
-<!ENTITY Split "<function>Split</function>">
-<!ENTITY TargetSignatures "<function>TargetSignatures</function>">
-<!ENTITY Task "<function>Task</function>">
-
-<!-- Environment methods -->
-<!ENTITY subst "<function>subst</function>">
-
-<!-- Configure context functions -->
-<!ENTITY Message "<function>Message</function>">
-<!ENTITY Result "<function>Result</function>">
-<!ENTITY CheckCHeader "<function>CheckCHeader</function>">
-<!ENTITY CheckCXXHeader "<function>CheckCXXHeader</function>">
-<!ENTITY CheckFunc "<function>CheckFunc</function>">
-<!ENTITY CheckHeader "<function>CheckHeader</function>">
-<!ENTITY CheckLib "<function>CheckLib</function>">
-<!ENTITY CheckLibWithHeader "<function>CheckLibWithHeader</function>">
-<!ENTITY CheckType "<function>CheckType</function>">
-<!ENTITY TryAction "<function>TryAction</function>">
-<!ENTITY TryBuild "<function>TryBuild</function>">
-<!ENTITY TryCompile "<function>TryCompile</function>">
-<!ENTITY TryLink "<function>TryLink</function>">
-<!ENTITY TryRun "<function>TryRun</function>">
-
-<!-- Python functions -->
-<!ENTITY str "<function>str</function>">
-<!ENTITY zipfile "<function>zipfile</function>">
-
-<!-- Obsolete, but referenced in old documents. -->
-<!ENTITY Cache "<function>Cache</function>">
-
-
-
-<!--
-
- Global variables.
-
--->
-
-<!ENTITY ARGUMENTS "<varname>ARGUMENTS</varname>">
-<!ENTITY BUILD_TARGETS "<varname>BUILD_TARGETS</varname>">
-<!ENTITY COMMAND_LINE_TARGETS "<varname>COMMAND_LINE_TARGETS</varname>">
-<!ENTITY DEFAULT_TARGETS "<varname>DEFAULT_TARGETS</varname>">
-
-
-
-<!--
-
- Construction variables.
-
--->
-
-<!ENTITY BUILDERMAP "<varname>BUILDERMAP</varname>">
-<!ENTITY BUILDERS "<varname>BUILDERS</varname>">
-<!ENTITY CC "<varname>CC</varname>">
-<!ENTITY CCFLAGS "<varname>CCFLAGS</varname>">
-<!ENTITY CCCOM "<varname>CCCOM</varname>">
-<!ENTITY COLOR "<varname>COLOR</varname>">
-<!ENTITY COLORS "<varname>COLORS</varname>">
-<!ENTITY CONFIG "<varname>CONFIG</varname>">
-<!ENTITY CPPDEFINES "<varname>CPPDEFINES</varname>">
-<!ENTITY ENV "<varname>ENV</varname>">
-<!ENTITY JAVACLASSDIR "<varname>JAVACLASSDIR</varname>">
-<!ENTITY LIBDIRPREFIX "<varname>LIBDIRPREFIX</varname>">
-<!ENTITY LIBDIRSUFFIX "<varname>LIBDIRSUFFIX</varname>">
-<!ENTITY LIBLINKPREFIX "<varname>LIBLINKPREFIX</varname>">
-<!ENTITY LIBLINKSUFFIX "<varname>LIBLINKSUFFIX</varname>">
-<!ENTITY LIBPATH "<varname>LIBPATH</varname>">
-<!ENTITY LIBS "<varname>LIBS</varname>">
-<!ENTITY LINK "<varname>LINK</varname>">
-<!ENTITY LINKCOM "<varname>LINKCOM</varname>">
-<!ENTITY LINKFLAGS "<varname>LINKFLAGS</varname>">
-<!ENTITY RELEASE "<varname>RELEASE</varname>">
-<!ENTITY RELEASE_BUILD "<varname>RELEASE_BUILD</varname>">
-<!ENTITY SCANNERMAP "<varname>SCANNERMAP</varname>">
-<!ENTITY SCANNERS "<varname>SCANNERS</varname>">
-<!ENTITY TARFLAGS "<varname>TARFLAGS</varname>">
-<!ENTITY TARSUFFIX "<varname>TARSUFFIX</varname>">
-
-
-
-<!--
-
- Environment variables.
-
--->
-
-<!ENTITY PATH "<varname>PATH</varname>">
-<!ENTITY PYTHONPATH "<varname>PYTHONPATH</varname>">
-<!ENTITY SCONSFLAGS "<varname>SCONSFLAGS</varname>">
-
-
-
-<!--
-
- Function and method arguments.
-
--->
-
-<!ENTITY allowed_values "<varname>allowed_values</varname>">
-<!ENTITY build_dir "<varname>build_dir</varname>">
-<!ENTITY map "<varname>map</varname>">
-<!ENTITY ignorecase "<varname>ignorecase</varname>">
-<!ENTITY options "<varname>options</varname>">
-<!ENTITY exports "<varname>exports</varname>">
-<!ENTITY source "<varname>source</varname>">
-<!ENTITY target "<varname>target</varname>">
-
-
-
-<!--
-
- Values of function and method arguments.
-
--->
-
-<!ENTITY all "<literal>all</literal>">
-<!ENTITY none "<literal>none</literal>">
-
-
-
-<!--
-
- Builder and Scanner objects.
-
--->
-
-<!ENTITY BuildDir "<function>BuildDir</function>">
-<!ENTITY CFile "<function>CFile</function>">
-<!ENTITY CXXFile "<function>CXXFile</function>">
-<!ENTITY DVI "<function>DVI</function>">
-<!ENTITY Jar "<function>Jar</function>">
-<!ENTITY Java "<function>Java</function>">
-<!ENTITY JavaH "<function>JavaH</function>">
-<!ENTITY Library "<function>Library</function>">
-<!ENTITY Object "<function>Object</function>">
-<!ENTITY PCH "<function>PCH</function>">
-<!ENTITY PDF "<function>PDF</function>">
-<!ENTITY PostScript "<function>PostScript</function>">
-<!ENTITY Program "<function>Program</function>">
-<!ENTITY RES "<function>RES</function>">
-<!ENTITY RMIC "<function>RMIC</function>">
-<!ENTITY SharedLibrary "<function>SharedLibrary</function>">
-<!ENTITY SharedObject "<function>SharedObject</function>">
-<!ENTITY StaticLibrary "<function>StaticLibrary</function>">
-<!ENTITY StaticObject "<function>StaticObject</function>">
-<!ENTITY Tar "<function>Tar</function>">
-<!ENTITY Zip "<function>Zip</function>">
-
-<!-- Obsolete, but referenced in old documents. -->
-<!ENTITY MakeBuilder "<function>Make</function>">
-
-
-
-<!--
-
- Terms. Define both singular and plural forms in various
- case-sensitive combinations for use in titles, in-line, etc.
-
--->
-
-<!ENTITY buildfunc "<literal>builder function</literal>">
-<!ENTITY builder_method "<literal>builder method</literal>">
-
-<!ENTITY Configure_Contexts "<literal>Configure Contexts</literal>">
-<!ENTITY configure_context "<literal>configure context</literal>">
-
-<!ENTITY ConsEnv "<literal>Construction Environment</literal>">
-<!ENTITY ConsEnvs "<literal>Construction Environments</literal>">
-<!ENTITY Consenv "<literal>Construction environment</literal>">
-<!ENTITY Consenvs "<literal>Construction environments</literal>">
-<!ENTITY consenv "<literal>construction environment</literal>">
-<!ENTITY consenvs "<literal>construction environments</literal>">
-
-<!ENTITY ConsVar "<literal>Construction Variable</literal>">
-<!ENTITY ConsVars "<literal>Construction Variables</literal>">
-<!ENTITY Consvar "<literal>Construction variable</literal>">
-<!ENTITY Consvars "<literal>Construction variables</literal>">
-<!ENTITY consvar "<literal>construction variable</literal>">
-<!ENTITY consvars "<literal>construction variables</literal>">
-
-<!ENTITY CPPPATH "<literal>CPPPATH</literal>">
-
-<!ENTITY Dictionary "<literal>Dictionary</literal>">
-
-<!ENTITY Emitter "<literal>Emitter</literal>">
-<!ENTITY emitter "<literal>emitter</literal>">
-<!ENTITY Generator "<literal>Generator</literal>">
-<!ENTITY generator "<literal>generator</literal>">
-
-<!ENTITY Nodes "<literal>Nodes</literal>">
-
-<!ENTITY signature "<literal>signature</literal>">
-<!ENTITY buildsignature "<literal>build signature</literal>">
-
-<!ENTITY true "<literal>true</literal>">
-<!ENTITY false "<literal>false</literal>">
-
-<!ENTITY typedef "<literal>typedef</literal>">
-
-<!--
-
- File and program names used in examples.
-
--->
-
-<!ENTITY bar "<application>bar</application>">
-<!ENTITY common1_c "<filename>common1.c</filename>">
-<!ENTITY common2_c "<filename>common2.c</filename>">
-<!ENTITY custom_py "<filename>custom.py</filename>">
-<!ENTITY goodbye "<application>goodbye</application>">
-<!ENTITY goodbye_o "<filename>goodbye.o</filename>">
-<!ENTITY goodbye_obj "<filename>goodbye.obj</filename>">
-<!ENTITY file_dll "<filename>file.dll</filename>">
-<!ENTITY file_in "<filename>file.in</filename>">
-<!ENTITY file_lib "<filename>file.lib</filename>">
-<!ENTITY file_o "<filename>file.o</filename>">
-<!ENTITY file_obj "<filename>file.obj</filename>">
-<!ENTITY file_out "<filename>file.out</filename>">
-<!ENTITY foo "<application>foo</application>">
-<!ENTITY foo_o "<filename>foo.o</filename>">
-<!ENTITY foo_obj "<filename>foo.obj</filename>">
-<!ENTITY hello "<application>hello</application>">
-<!ENTITY hello_c "<filename>hello.c</filename>">
-<!ENTITY hello_exe "<filename>hello.exe</filename>">
-<!ENTITY hello_h "<filename>hello.h</filename>">
-<!ENTITY hello_o "<filename>hello.o</filename>">
-<!ENTITY hello_obj "<filename>hello.obj</filename>">
-<!ENTITY libfile_a "<filename>libfile_a</filename>">
-<!ENTITY libfile_so "<filename>libfile_so</filename>">
-<!ENTITY new_hello "<application>new_hello</application>">
-<!ENTITY new_hello_exe "<application>new_hello.exe</application>">
-<!ENTITY prog "<filename>prog</filename>">
-<!ENTITY prog1 "<filename>prog1</filename>">
-<!ENTITY prog2 "<filename>prog2</filename>">
-<!ENTITY prog_c "<filename>prog.c</filename>">
-<!ENTITY prog_exe "<filename>prog.exe</filename>">
-<!ENTITY stdio_h "<filename>stdio.h</filename>">
-
-<!--
-
- Punctuation.
-
--->
-
-<!ENTITY plus "<literal>+</literal>">
-<!ENTITY hash "<literal>#</literal>">
-
-<!--
-
- Mailing lists
-
--->
-
-<!ENTITY scons-announce "<literal>announce@scons.tigris.org</literal>">
-<!ENTITY scons-devel "<literal>dev@scons.tigris.org</literal>">
-<!ENTITY scons-users "<literal>users@scons.tigris.org</literal>">
diff --git a/doc/python10/sig.eps b/doc/python10/sig.eps
deleted file mode 100644
index 26aabaa..0000000
--- a/doc/python10/sig.eps
+++ /dev/null
@@ -1,147 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: build/doc/python10/sig.fig
-%%Creator: /usr/bin/fig2dev Version 3.2 Patchlevel 3d
-%%CreationDate: Sun Jan 2 01:21:05 2005
-%%For: knight@casablanca.home.baldmt.com (Steven Knight)
-%%BoundingBox: 0 0 308 128
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
-newpath 0 128 moveto 0 0 lineto 308 0 lineto 308 128 lineto closepath clip newpath
--71.3 288.7 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
- 0.06000 0.06000 sc
-%
-% Fig objects follow
-%
-% Polyline
-7.500 slw
-n 1200 3000 m 2700 3000 l 2700 3600 l 1200 3600 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-1950 3375 m
-gs 1 -1 sc (Taskmaster) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 3300 4200 m 4500 4200 l 4500 4800 l 3300 4800 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-3900 4575 m
-gs 1 -1 sc (MD5) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 5100 4200 m 6300 4200 l 6300 4800 l 5100 4800 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-5700 4575 m
-gs 1 -1 sc (TStamp) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 4200 3000 m 5400 3000 l 5400 3600 l 4200 3600 l
- cp gs col0 s gr
-/Times-Roman ff 240.00 scf sf
-4800 3375 m
-gs 1 -1 sc (Sig) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 2700 3300 m 2775 3340 l 2850 3300 l 2775 3260 l
- cp gs col0 s gr
-% Polyline
-n 4800 3600 m 4725 3750 l 4875 3750 l
- cp gs col0 s gr
-% Polyline
-n 3900 4200 m 3900 3900 l 5700 3900 l
- 5700 4200 l gs col0 s gr
-% Polyline
-n 4800 3750 m
- 4800 3900 l gs col0 s gr
-% Polyline
-gs clippath
-4215 3330 m 4215 3270 l 4064 3270 l 4184 3300 l 4064 3330 l cp
-eoclip
-n 2850 3300 m
- 4200 3300 l gs col0 s gr gr
-
-% arrowhead
-n 4064 3330 m 4184 3300 l 4064 3270 l 4064 3330 l cp gs 0.00 setgray ef gr col0 s
-% Polyline
- [60] 0 sd
-n 1950 3000 m
- 1950 2700 l gs col0 s gr [] 0 sd
-% Polyline
- [60] 0 sd
-n 4800 3000 m
- 4800 2700 l gs col0 s gr [] 0 sd
-$F2psEnd
-rs
diff --git a/doc/python10/sig.svg b/doc/python10/sig.svg
new file mode 100644
index 0000000..09e2719
--- /dev/null
+++ b/doc/python10/sig.svg
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1">
+ <g
+ transform="matrix(0.07552694,0,0,0.07552694,91.773975,249.13616)"
+ id="g3772"
+ style="fill:none;stroke-width:0.025in">
+ <rect
+ width="1500"
+ height="600"
+ rx="0"
+ x="1200"
+ y="3000"
+ id="rect3774"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="3300"
+ y="4200"
+ id="rect3776"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="5100"
+ y="4200"
+ id="rect3778"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <rect
+ width="1200"
+ height="600"
+ rx="0"
+ x="4200"
+ y="3000"
+ id="rect3780"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="2775,3260 2700,3300 2700,3300 2775,3340 2850,3300 "
+ id="polygon3782"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polygon
+ points="4800,3600 4800,3600 4725,3750 4875,3750 "
+ id="polygon3784"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter" />
+ <polyline
+ id="polyline3786"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="3900,4200 3900,3900 5700,3900 5700,4200 " />
+ <polyline
+ id="polyline3788"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="4800,3750 4800,3900 " />
+ <polyline
+ id="polyline3790"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
+ points="2850,3300 4080,3300 " />
+ <polygon
+ points="4079,3330 4079,3330 4199,3300 4079,3270 "
+ id="polygon3792"
+ style="fill:#000000;stroke:#000000;stroke-width:7;stroke-miterlimit:8" />
+ <polyline
+ id="polyline3794"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="1950,3000 1950,2700 " />
+ <polyline
+ id="polyline3796"
+ style="stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:40, 40"
+ points="4800,3000 4800,2700 " />
+ <text
+ x="1950"
+ y="3375"
+ id="text3798"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Taskmaster</text>
+ <text
+ x="3900"
+ y="4575"
+ id="text3800"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">MD5</text>
+ <text
+ x="5700"
+ y="4575"
+ id="text3802"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">TStamp</text>
+ <text
+ x="4800"
+ y="3375"
+ id="text3804"
+ xml:space="preserve"
+ style="font-size:192px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:Times">Sig</text>
+ </g>
+ </g>
+</svg>
diff --git a/doc/python10/summary.xml b/doc/python10/summary.xml
new file mode 100644
index 0000000..80c3ef4
--- /dev/null
+++ b/doc/python10/summary.xml
@@ -0,0 +1,52 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-summary"
+ 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">
+<title>Summary</title>
+
+<!--
+
+ __COPYRIGHT__
+
+ 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.
+
+-->
+
+ <para>
+
+ This paper has introduced &SCons;, a next-generation build tool
+ with a modular, embeddable architecture and a direct Python
+ interface. &SCons; has a global view of the dependencies in a source
+ tree, uses MD5 signatures to decide if derived files are out of date,
+ and automatically scans files for dependencies, all of which make &SCons;
+ builds exceptionally reliable. The &SCons; development methodology has
+ been described, notable for its emphasis on automated regression
+ testing to ensure a robust and reliable tool from day one. Several
+ future directions for &SCons; have also been discussed.
+
+ </para>
+
+</section>
diff --git a/doc/reference/Alias.xml b/doc/reference/Alias.xml
index b87967d..3f80385 100644
--- a/doc/reference/Alias.xml
+++ b/doc/reference/Alias.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-Alias"
+ 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">
+<title>The Alias Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/CFile.xml b/doc/reference/CFile.xml
index f76c390..f7d0d71 100644
--- a/doc/reference/CFile.xml
+++ b/doc/reference/CFile.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-CFile"
+ 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">
+<title>The CFile Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/CXXFile.xml b/doc/reference/CXXFile.xml
index c1c038e..7785300 100644
--- a/doc/reference/CXXFile.xml
+++ b/doc/reference/CXXFile.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-CXXFile"
+ 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">
+<title>The CXXFile Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/Command.xml b/doc/reference/Command.xml
index abb3a58..d75f999 100644
--- a/doc/reference/Command.xml
+++ b/doc/reference/Command.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-Command"
+ 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">
+<title>The Command Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -71,3 +83,5 @@ F<foo.h> and F<foo.c>.
</para>
</section>
+
+</section>
diff --git a/doc/reference/Install.xml b/doc/reference/Install.xml
index 2d06e3b..d08ed99 100644
--- a/doc/reference/Install.xml
+++ b/doc/reference/Install.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-Install"
+ 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">
+<title>The Install Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/InstallAs.xml b/doc/reference/InstallAs.xml
index ed8cb78..7b92a3d 100644
--- a/doc/reference/InstallAs.xml
+++ b/doc/reference/InstallAs.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-InstallAs"
+ 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">
+<title>The InstallAs Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/Library.xml b/doc/reference/Library.xml
index 19a3e96..c46df03 100644
--- a/doc/reference/Library.xml
+++ b/doc/reference/Library.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-Library"
+ 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">
+<title>The Library Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -150,3 +162,5 @@ is linked, and, of course, C<gcc> will be used to compile both modules:
</para>
</section>
+
+</section>
diff --git a/doc/reference/Object.xml b/doc/reference/Object.xml
index 9e887d8..022a38f 100644
--- a/doc/reference/Object.xml
+++ b/doc/reference/Object.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-Object"
+ 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">
+<title>The Object Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -69,3 +81,5 @@ returns the list of object filenames.
</para>
</section>
+
+</section>
diff --git a/doc/reference/PCH.xml b/doc/reference/PCH.xml
index b2a4d75..308e328 100644
--- a/doc/reference/PCH.xml
+++ b/doc/reference/PCH.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-PCH"
+ 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">
+<title>The PCH Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/PDF.xml b/doc/reference/PDF.xml
index b3a25dc..d7f6f40 100644
--- a/doc/reference/PDF.xml
+++ b/doc/reference/PDF.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-PDF"
+ 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">
+<title>The PDF Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/PostScript.xml b/doc/reference/PostScript.xml
index f5a6579..4c8cda3 100644
--- a/doc/reference/PostScript.xml
+++ b/doc/reference/PostScript.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-PostScript"
+ 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">
+<title>The PDF Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/Program.xml b/doc/reference/Program.xml
index 30f90d2..b55f18f 100644
--- a/doc/reference/Program.xml
+++ b/doc/reference/Program.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-Program"
+ 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">
+<title>The Program Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -75,3 +87,5 @@ be built before the command is linked.
</para>
</section>
+
+</section>
diff --git a/doc/reference/RES.xml b/doc/reference/RES.xml
index 15c0aea..bca1df1 100644
--- a/doc/reference/RES.xml
+++ b/doc/reference/RES.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-RES"
+ 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">
+<title>The RES Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/SharedLibrary.xml b/doc/reference/SharedLibrary.xml
index 603dab1..c9d854a 100644
--- a/doc/reference/SharedLibrary.xml
+++ b/doc/reference/SharedLibrary.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-SharedLibrary"
+ 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">
+<title>The SharedLibrary Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/SharedObject.xml b/doc/reference/SharedObject.xml
index 0860769..641b202 100644
--- a/doc/reference/SharedObject.xml
+++ b/doc/reference/SharedObject.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-SharedObject"
+ 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">
+<title>The SharedObject Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/StaticLibrary.xml b/doc/reference/StaticLibrary.xml
index ea7ae5b..8c00562 100644
--- a/doc/reference/StaticLibrary.xml
+++ b/doc/reference/StaticLibrary.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-StaticLibrary"
+ 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">
+<title>The StaticLibrary Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/StaticObject.xml b/doc/reference/StaticObject.xml
index ff8dae8..e59d221 100644
--- a/doc/reference/StaticObject.xml
+++ b/doc/reference/StaticObject.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<section id="sect-StaticObject"
+ 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">
+<title>The StaticObject Builder</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</section>
diff --git a/doc/reference/copyright.xml b/doc/reference/copyright.xml
index 7f6059c..aa56fa5 100644
--- a/doc/reference/copyright.xml
+++ b/doc/reference/copyright.xml
@@ -1,6 +1,16 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<legalnotice 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">
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -30,3 +40,5 @@
</para>
</blockquote>
+
+</legalnotice>
diff --git a/doc/reference/errors.xml b/doc/reference/errors.xml
index 448777f..b0f9065 100644
--- a/doc/reference/errors.xml
+++ b/doc/reference/errors.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-errors"
+ 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">
+<title>Errors Generated by &SCons;</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -39,3 +51,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/reference/main.xml b/doc/reference/main.xml
index ed122f6..f3d706e 100644
--- a/doc/reference/main.xml
+++ b/doc/reference/main.xml
@@ -1,8 +1,22 @@
<?xml version="1.0"?>
+<!DOCTYPE sconsdoc [
+
+ <!ENTITY % version SYSTEM "../version.xml">
+ %version;
+
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+
+]>
+
+<book 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">
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -24,45 +38,7 @@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
-
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
-
- <!ENTITY % version SYSTEM "../version.xml">
- %version;
-
- <!ENTITY % scons SYSTEM "../scons.mod">
- %scons;
-
- <!-- Builders -->
- <!ENTITY Alias_file SYSTEM "Alias.xml">
- <!ENTITY CFile_file SYSTEM "CFile.xml">
- <!ENTITY CXXFile_file SYSTEM "CXXFile.xml">
- <!ENTITY Command_file SYSTEM "Command.xml">
- <!ENTITY Install_file SYSTEM "Install.xml">
- <!ENTITY InstallAs_file SYSTEM "InstallAs.xml">
- <!ENTITY Library_file SYSTEM "Library.xml">
- <!ENTITY Object_file SYSTEM "Object.xml">
- <!ENTITY PCH_file SYSTEM "PCH.xml">
- <!ENTITY PDF_file SYSTEM "PDF.xml">
- <!ENTITY PostScript_file SYSTEM "PostScript.xml">
- <!ENTITY Program_file SYSTEM "Program.xml">
- <!ENTITY RES_file SYSTEM "RES.xml">
- <!ENTITY SharedLibrary_file SYSTEM "SharedLibrary.xml">
- <!ENTITY SharedObject_file SYSTEM "SharedObject.xml">
- <!ENTITY StaticLibrary_file SYSTEM "StaticLibrary.xml">
- <!ENTITY StaticObject_file SYSTEM "StaticObject.xml">
-
- <!-- Construction Variables -->
-
- <!ENTITY copyright SYSTEM "copyright.xml">
- <!ENTITY errors SYSTEM "errors.xml">
- <!ENTITY preface SYSTEM "preface.xml">
-
-]>
-
-<book>
+
<bookinfo>
<title>SCons Reference Manual &buildversion;</title>
@@ -80,128 +56,53 @@
<holder>Steven Knight</holder>
</copyright>
- <legalnotice>
- &copyright;
- </legalnotice>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="copyright.xml"/>
<releaseinfo>version &buildversion;</releaseinfo>
</bookinfo>
- <chapter id="chap-preface">
- <title>Preface</title>
- &preface;
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="preface.xml"/>
<chapter id="chap-builders">
<title>Builder Reference</title>
- <section id="sect-Alias">
- <title>The Alias Builder</title>
- &Alias_file;
- </section>
-
- <section id="sect-CFile">
- <title>The CFile Builder</title>
- &CFile_file;
- </section>
-
- <section id="sect-Command">
- <title>The Command Builder</title>
- &Command_file;
- </section>
-
- <section id="sect-CXXFile">
- <title>The CXXFile Builder</title>
- &CXXFile_file;
- </section>
-
- <section id="sect-Install">
- <title>The Install Builder</title>
- &Install_file;
- </section>
-
- <section id="sect-InstallAs">
- <title>The InstallAs Builder</title>
- &InstallAs_file;
- </section>
-
- <section id="sect-Library">
- <title>The Library Builder</title>
- &Library_file;
- </section>
-
- <section id="sect-Object">
- <title>The Object Builder</title>
- &Object_file;
- </section>
-
- <section id="sect-PCH">
- <title>The PCH Builder</title>
- &PCH_file;
- </section>
-
- <section id="sect-PDF">
- <title>The PDF Builder</title>
- &PDF_file;
- </section>
-
- <section id="sect-PostScript">
- <title>The PDF Builder</title>
- &PostScript_file;
- </section>
-
- <section id="sect-Program">
- <title>The Program Builder</title>
- &Program_file;
- </section>
-
- <section id="sect-RES">
- <title>The RES Builder</title>
- &RES_file;
- </section>
-
- <section id="sect-SharedLibrary">
- <title>The SharedLibrary Builder</title>
- &SharedLibrary_file;
- </section>
-
- <section id="sect-SharedObject">
- <title>The SharedObject Builder</title>
- &SharedObject_file;
- </section>
-
- <section id="sect-StaticLibrary">
- <title>The StaticLibrary Builder</title>
- &StaticLibrary_file;
- </section>
-
- <section id="sect-StaticObject">
- <title>The StaticObject Builder</title>
- &StaticObject_file;
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Alias.xml"/>
- </chapter>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="CFile.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Command.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="CXXFile.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Install.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="InstallAs.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Library.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Object.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="PCH.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="PDF.xml"/>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="PostScript.xml"/>
- <chapter id="chap-variables">
- <title>&ConsVar; Reference</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Program.xml"/>
- <section id="sect-AR">
- <title>AR</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="RES.xml"/>
- <para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="SharedLibrary.xml"/>
- X
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="SharedObject.xml"/>
- </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="StaticLibrary.xml"/>
- </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="StaticObject.xml"/>
</chapter>
- <appendix id="chap-errors">
- <title>Errors Generated by &SCons;</title>
- &errors;
- </appendix>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="errors.xml"/>
</book>
diff --git a/doc/reference/preface.xml b/doc/reference/preface.xml
index 82ea44a..39994a4 100644
--- a/doc/reference/preface.xml
+++ b/doc/reference/preface.xml
@@ -1,6 +1,18 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+]>
+
+<chapter id="chap-preface"
+ 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">
+<title>Preface</title>
+
<!--
- Copyright (c) 2001, 2002, 2003 Steven Knight
+ __COPYRIGHT__
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -83,3 +95,5 @@
</para>
</section>
+
+</chapter>
diff --git a/doc/scons.mod b/doc/scons.mod
index 4066ef3..01e9a6d 100644
--- a/doc/scons.mod
+++ b/doc/scons.mod
@@ -535,3 +535,4 @@
-->
<!ENTITY lambda "&#923;">
+<!ENTITY mdash "&#8212;">
diff --git a/doc/user/builders-built-in.xml b/doc/user/builders-built-in.xml
index 1cc5b65..ec4012d 100644
--- a/doc/user/builders-built-in.xml
+++ b/doc/user/builders-built-in.xml
@@ -211,7 +211,7 @@
Other relevant construction variables
include those used by the &b-link-Object;
builders to affect how the
- source files specified as input to the &t-Program;
+ source files specified as input to the <literal>Program</literal>
builders are turned into object files;
see the next section.