diff options
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> - ©right; - </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> - ©right; - </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>>> build -n prog scons>>> 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 < $SOURCE > $TARGET", b = Builder("build_it < $SOURCE > $TARGET", suffix = { None: "file-", "$SRC_SFX_A": gen_prefix }) -</programlisting> <!-- .fi --> +</programlisting> <variablelist> <varlistentry> @@ -4585,7 +4585,7 @@ b = Builder("build_it < $SOURCE > $TARGET", b = Builder("build_it < $SOURCE > $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 < $TARGET > $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 > $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 < $SOURCE > $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 < ${SOURCE.file} > ${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 < ${SOURCE.file} > ${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 < ${SOURCE.file} > ${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 && 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 && 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 => sub/dir/file.x ${SOURCE.rsrcpath} => /usr/repository/src/file.x ${SOURCE.rsrcdir} => /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 $). > $TARGET -</literallayout> <!-- .fi --> +</literallayout> <para>would execute the command:</para> <literallayout> echo Last build occurred $TODAY. > $TARGET -</literallayout> <!-- .fi --> +</literallayout> <para>but the command signature added to any target files would be:</para> <literallayout> echo Last build occurred . > $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'} > $TARGET''') --> -</literallayout> <!-- .fi --> +</literallayout> <para>the command executed will be either</para> <literallayout> echo FOO > foo.out -</literallayout> <!-- .fi --> +</literallayout> <para>or</para> <literallayout> echo BAR > 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 > 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 < $SOURCES > $TARGET') bar_in = File('bar.in') env.Command('bar', bar_in, 'kprocess $SOURCES > $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 < $SOURCES > $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 <windows.h> #include <my_big_header.h> -</literallayout> <!-- .fi --> +</literallayout> <para>StdAfx.cpp:</para> <literallayout> #include <StdAfx.h> -</literallayout> <!-- .fi --> +</literallayout> <para>Foo.cpp:</para> <literallayout> #include <StdAfx.h> /* do some stuff */ -</literallayout> <!-- .fi --> +</literallayout> <para>Bar.cpp:</para> <literallayout> #include <StdAfx.h> /* 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> - ©right; - </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 "Λ"> +<!ENTITY mdash "—"> 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. |