Merged revisions 1884-1905 via svnmerge from
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 18 May 2007 05:40:31 +0000 (05:40 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 18 May 2007 05:40:31 +0000 (05:40 +0000)
http://scons.tigris.org/svn/scons/branches/core

........
  r1891 | stevenknight | 2007-04-24 08:57:03 -0500 (Tue, 24 Apr 2007) | 1 line

  0.96.D632 - Fix 0.96.96 reference count regression during parallel builds.
........
  r1892 | stevenknight | 2007-04-24 12:51:05 -0500 (Tue, 24 Apr 2007) | 1 line

  0.96.D633 - Fix documented default value(s) of $MSVS_USE_MFC_DIRS.
........
  r1893 | stevenknight | 2007-04-24 16:12:14 -0500 (Tue, 24 Apr 2007) | 1 line

  0.96.D634 - Make the DirEntryScanner tolerant of non-Dir nodes.
........
  r1898 | stevenknight | 2007-05-09 15:07:15 -0500 (Wed, 09 May 2007) | 1 line

  0.96.D635 - Portability fixes in test scripts.
........
  r1899 | stevenknight | 2007-05-12 08:19:13 -0500 (Sat, 12 May 2007) | 1 line

  0.96.D636 - Update documentation with rudimentary Tool module descriptions.
........
  r1901 | stevenknight | 2007-05-17 14:32:14 -0500 (Thu, 17 May 2007) | 1 line

  0.97.D001 - Initialize 0.97 for release.
........

git-svn-id: http://scons.tigris.org/svn/scons/trunk@1907 fdb21ef1-2011-0410-befe-b5e4ea1792b1

108 files changed:
HOWTO/release.txt
QMTest/TestSCons.py
README
SConstruct
bin/SConsDoc.py
bin/scons-proc.py
debian/changelog
doc/SConscript
doc/scons.mod
rpm/scons.spec.in
src/CHANGES.txt
src/README.txt
src/RELEASE.txt
src/engine/SCons/Node/NodeTests.py
src/engine/SCons/Node/__init__.py
src/engine/SCons/Scanner/Dir.py
src/engine/SCons/Scanner/DirTests.py
src/engine/SCons/Taskmaster.py
src/engine/SCons/TaskmasterTests.py
src/engine/SCons/Tool/386asm.xml
src/engine/SCons/Tool/BitKeeper.xml
src/engine/SCons/Tool/CVS.xml
src/engine/SCons/Tool/Perforce.xml
src/engine/SCons/Tool/RCS.xml
src/engine/SCons/Tool/SCCS.xml
src/engine/SCons/Tool/Subversion.xml
src/engine/SCons/Tool/aixc++.xml
src/engine/SCons/Tool/aixcc.xml
src/engine/SCons/Tool/aixf77.xml
src/engine/SCons/Tool/aixlink.xml
src/engine/SCons/Tool/applelink.xml
src/engine/SCons/Tool/ar.xml
src/engine/SCons/Tool/as.xml
src/engine/SCons/Tool/bcc32.xml
src/engine/SCons/Tool/c++.xml
src/engine/SCons/Tool/cc.xml
src/engine/SCons/Tool/cvf.xml
src/engine/SCons/Tool/default.xml
src/engine/SCons/Tool/dmd.xml
src/engine/SCons/Tool/dvi.xml
src/engine/SCons/Tool/dvipdf.xml
src/engine/SCons/Tool/dvips.xml
src/engine/SCons/Tool/f77.xml
src/engine/SCons/Tool/f90.xml
src/engine/SCons/Tool/f95.xml
src/engine/SCons/Tool/fortran.xml
src/engine/SCons/Tool/g++.xml
src/engine/SCons/Tool/g77.xml
src/engine/SCons/Tool/gas.xml
src/engine/SCons/Tool/gcc.xml
src/engine/SCons/Tool/gnulink.xml
src/engine/SCons/Tool/gs.xml
src/engine/SCons/Tool/hpc++.xml
src/engine/SCons/Tool/hpcc.xml
src/engine/SCons/Tool/hplink.xml
src/engine/SCons/Tool/icc.xml
src/engine/SCons/Tool/icl.xml
src/engine/SCons/Tool/ifl.xml
src/engine/SCons/Tool/ifort.xml
src/engine/SCons/Tool/ilink.xml
src/engine/SCons/Tool/ilink32.xml
src/engine/SCons/Tool/intelc.xml
src/engine/SCons/Tool/jar.xml
src/engine/SCons/Tool/javac.xml
src/engine/SCons/Tool/javah.xml
src/engine/SCons/Tool/latex.xml
src/engine/SCons/Tool/lex.xml
src/engine/SCons/Tool/link.xml
src/engine/SCons/Tool/linkloc.xml
src/engine/SCons/Tool/m4.xml
src/engine/SCons/Tool/masm.xml
src/engine/SCons/Tool/midl.xml
src/engine/SCons/Tool/mingw.xml
src/engine/SCons/Tool/mslib.xml
src/engine/SCons/Tool/mslink.xml
src/engine/SCons/Tool/msvc.xml
src/engine/SCons/Tool/msvs.xml
src/engine/SCons/Tool/mwcc.xml
src/engine/SCons/Tool/mwld.xml
src/engine/SCons/Tool/nasm.xml
src/engine/SCons/Tool/pdf.xml
src/engine/SCons/Tool/pdflatex.xml
src/engine/SCons/Tool/pdftex.xml
src/engine/SCons/Tool/qt.xml
src/engine/SCons/Tool/rmic.xml
src/engine/SCons/Tool/rpcgen.xml
src/engine/SCons/Tool/sgiar.xml
src/engine/SCons/Tool/sgic++.xml
src/engine/SCons/Tool/sgicc.xml
src/engine/SCons/Tool/sgilink.xml
src/engine/SCons/Tool/sunar.xml
src/engine/SCons/Tool/sunc++.xml
src/engine/SCons/Tool/suncc.xml
src/engine/SCons/Tool/sunlink.xml
src/engine/SCons/Tool/swig.xml
src/engine/SCons/Tool/tar.xml
src/engine/SCons/Tool/tex.xml
src/engine/SCons/Tool/tlib.xml
src/engine/SCons/Tool/yacc.xml
src/engine/SCons/Tool/zip.xml
src/setup.py
test/Dir/Dir.py [moved from test/Dir.py with 100% similarity]
test/Dir/mixed-targets.py [new file with mode: 0644]
test/Dir/source.py [moved from test/DirSource.py with 100% similarity]
test/Parallel/ref_count.py [new file with mode: 0644]
test/Perforce/Perforce.py
test/TEX/bibtex-latex-rerun.py
test/import.py

index a29b37bff8677c834e7706fa63b79ff8a13cd95e..ca46263912549dcdaf724f5508b7dbbefc1af473 100644 (file)
@@ -102,6 +102,9 @@ Things to do to release a new X.Y version of SCons:
         aecp QMTest/TestSCons.py
         vi QMTest/TestSCons.py
 
+        aecp src/setup.py
+        vi src/setup.py
+
         # Read through and update the README files if necessary
         [optional] aecp README
         [optional] vi README
index 1b499deda4f4bc92b8673a65a4457e6fbe60a13e..196c24ef847fd5c8ecf6cf2def074d85fceb4536 100644 (file)
@@ -30,7 +30,7 @@ from TestCommon import __all__
 # to what we expect.  (If we derived the version number from the same
 # data driving the build we might miss errors if the logic breaks.)
 
-SConsVersion = '0.96.96'
+SConsVersion = '0.97'
 
 __all__.extend([ 'TestSCons',
                  'python',
diff --git a/README b/README
index 699d1b517adf1379d34e096bfa3699ece64e0129..6eecb8c40d29e74e18644d3e9e8ad8cdde473a2c 100644 (file)
--- a/README
+++ b/README
@@ -10,12 +10,12 @@ If all you want to do is install and run SCons, it will be easier for you
 to download and install the scons-{version}.tar.gz or scons-{version}.zip
 package rather than to work with the packaging logic in this tree.
 
-To the extent that this tree is about building SCons packages, the
-*full* development cycle (enforced by Aegis) is not to test the code
-directly, but to package SCons, unpack the package, "install" SCons in
-a test subdirectory, and then to run the tests against the unpacked and
-installed software.  This helps eliminate problems caused by, for example,
-failure to update the list of files to be packaged.
+To the extent that this tree is about building SCons packages, the *full*
+development cycle is not just to test the code directly, but to package
+SCons, unpack the package, "install" SCons in a test subdirectory,
+and then to run the tests against the unpacked and installed software.
+This helps eliminate problems caused by, for example, failure to update
+the list of files to be packaged.
 
 For just working on making an individual change to the SCons source,
 however, you don't actually need to build or install SCons; you
@@ -83,11 +83,11 @@ In this case, your options are:
     --  (Optional.)  Install from a pre-packaged SCons package that
         does not require distutils:
 
-            Red Hat Linux       scons-0.96.96.noarch.rpm
+            Red Hat Linux       scons-0.97.noarch.rpm
 
             Debian GNU/Linux    use apt-get to get the official package
 
-            Windows             scons-0.96.96.win32.exe
+            Windows             scons-0.97.win32.exe
 
     --  (Recommended.)  Download the latest distutils package from the
         following URL:
@@ -132,7 +132,7 @@ bootstrap/ subdirectory and executing it from there.
 
 You can also execute the local SCons directly from the src/ subdirectory
 by first setting the SCONS_LIB_DIR environment variable to the local
-src/engine subdirectory, and then execute the local src/script/scons.py
+src/engine subdirectory, and then executing the local src/script/scons.py
 script to populate the build/scons/ subdirectory.  You would do this as
 follows on a Linux or UNIX system (using sh or a derivative like bash
 or ksh):
@@ -159,7 +159,7 @@ And on Windows:
 
 By default, the above commands will do the following:
 
-    --  Install the version-numbered "scons-0.96.96" and "sconsign-0.96.96"
+    --  Install the version-numbered "scons-0.97" and "sconsign-0.97"
         scripts in the default system script directory (/usr/bin or
         C:\Python*\Scripts, for example).  This can be disabled by
         specifying the "--no-version-script" option on the command
@@ -170,25 +170,27 @@ By default, the above commands will do the following:
         for example).  This can be disabled by specifying the
         "--no-scons-script" option on the command line, which is useful
         if you want to install and experiment with a new version before
-        making it the default on your system.  On UNIX or Linux systems,
-        you can have the "scons" and "sconsign" scripts be hard links or
-        symbolic links to the "scons-0.96.96" and "sconsign-0.96.96" scripts
-        by specifying the "--hardlink-scons" or "--symlink-scons"
-        options on the command line.
+        making it the default on your system.
 
-    --  Install "scons-0.96.96.bat" and "scons.bat" wrapper scripts in the
+        On UNIX or Linux systems, you can have the "scons" and "sconsign"
+        scripts be hard links or symbolic links to the "scons-0.97" and
+        "sconsign-0.97" scripts by specifying the "--hardlink-scons" or
+        "--symlink-scons" options on the command line.
+
+    --  Install "scons-0.97.bat" and "scons.bat" wrapper scripts in the
         Python prefix directory on Windows (C:\Python*, for example).
         This can be disabled by specifying the "--no-install-bat" option
-        on the command line.  On UNIX or Linux systems, the
-        "--install-bat" option may be specified to have "scons-0.96.96.bat"
-        and "scons.bat" files installed in the default system script
-        directory, which is useful if you want to install SCons in a
-        shared file system directory that can be used to execute SCons
-        from both UNIX/Linux and Windows systems.
+        on the command line.
+
+        On UNIX or Linux systems, the "--install-bat" option may be
+        specified to have "scons-0.97.bat" and "scons.bat" files installed
+        in the default system script directory, which is useful if you
+        want to install SCons in a shared file system directory that can
+        be used to execute SCons from both UNIX/Linux and Windows systems.
 
     --  Install the SCons build engine (a Python module) in an
         appropriate version-numbered SCons library directory
-        (/usr/lib/scons-0.96.96 or C:\Python*\scons-0.96.96, for example).
+        (/usr/lib/scons-0.97 or C:\Python*\scons-0.97, for example).
         See below for more options related to installing the build
         engine library.
 
@@ -244,9 +246,9 @@ the src/engine/SCons subdirectory hierarchy that contains all of the
 modules that make up SCons.  The src/script/scons.py wrapper script exists
 mainly to find the appropriate build engine library and then execute it.
 
-In order to make your own change locally and test them by hand, simply
-edit modules in the local src/engine/SCons subdirectory tree and
-either use the local bootstrap.py script:
+In order to make your own changes locally and test them by hand, simply
+edit modules in the local src/engine/SCons subdirectory tree and either
+use the local bootstrap.py script:
 
     $ python bootstrap.py [arguments]
 
@@ -255,13 +257,13 @@ then execute the src/script/scons.py script.  Here is one way you can
 set up environment variables to do this on a UNIX or Linux system:
 
     $ setenv MYSCONS=`pwd`/src
-    $ setenv SCONS_LIB_DIR=$MYSCONS
+    $ setenv SCONS_LIB_DIR=$MYSCONS/engine
     $ python $MYSCONS/script/scons.py [arguments]
 
 Or on Windows:
 
     C:\scons>set MYSCONS=%cd%\src
-    C:\scons>set SCONS_LIB_DIR=%MYSCONS%
+    C:\scons>set SCONS_LIB_DIR=%MYSCONS%\engine
     C:\scons>python %MYSCONS%\script\scons.py [arguments]
 
 You can use the -C option to have SCons change directory to another
@@ -329,7 +331,7 @@ will print messages to your console screen ("/dev/tty" on UNIX or Linux,
 "con" on Windows).  By adding Trace() calls to the SCons source code:
 
     def sample_method(self, value):
-        fromn SCons.Debug import Trace
+        from SCons.Debug import Trace
         Trace('called sample_method(%s, %s)\n' % (self, value))
 
 You can then run automated tests that print any arbitrary information
@@ -340,7 +342,7 @@ The Trace() function can also redirect its output to a file, rather than
 the screen:
 
     def sample_method(self, value):
-        fromn SCons.Debug import Trace
+        from SCons.Debug import Trace
         Trace('called sample_method(%s, %s)\n' % (self, value),
               file='trace.out')
 
@@ -461,7 +463,7 @@ development platform, Windows users can translate as appropriate)):
             ^D
             $
 
-   --   Now debug the test failures and fix them, either by changing
+    --  Now debug the test failures and fix them, either by changing
         SCons, or by making necessary changes to the tests (if, for
         example, you have a strong reason to change functionality, or
         if you find that the bug really is in the test script itself).
@@ -475,10 +477,10 @@ development platform, Windows users can translate as appropriate)):
         Repeat this until all of the tests that originally failed
         now pass.
 
-   --   Now you need to go back and validate that any changes you
-        made while getting the tests to pass didn't break the fix you
-        originally put in, or introduce any *additional* unintended side
-        effects that broke other tests:
+    --  Now you need to go back and validate that any changes you
+        made while getting the tests to pass didn't break the fix
+        you originally put in, and didn't introduce any *additional*
+        unintended side effects that broke other tests:
 
             $ python script/scons.py -C /home/me/broken_project .
             $ python runtest.py -a
@@ -486,8 +488,8 @@ development platform, Windows users can translate as appropriate)):
         If you find any newly-broken tests, add them to your "failed.txt"
         file and go back to the previous step.
 
-Of course, the above is only one suggested workflow.  In practice, there's
-a lot of room for judgment and experience to make things go quicker.
+Of course, the above is only one suggested workflow.  In practice, there
+is a lot of room for judgment and experience to make things go quicker.
 For example, if you're making a change to just the Java support, you
 might start looking for regressions by just running the test/Java/*.py
 tests instead of running all of "runtest.py -a".
@@ -525,18 +527,18 @@ On Windows:
 Depending on the utilities installed on your system, any or all of the
 following packages will be built:
 
-        build/dist/scons-0.96.96-1.noarch.rpm
-        build/dist/scons-0.96.96-1.src.rpm
-        build/dist/scons-0.96.96.linux-i686.tar.gz
-        build/dist/scons-0.96.96.tar.gz
-        build/dist/scons-0.96.96.win32.exe
-        build/dist/scons-0.96.96.zip
-        build/dist/scons-doc-0.96.96.tar.gz
-        build/dist/scons-local-0.96.96.tar.gz
-        build/dist/scons-local-0.96.96.zip
-        build/dist/scons-src-0.96.96.tar.gz
-        build/dist/scons-src-0.96.96.zip
-        build/dist/scons_0.96.96-1_all.deb
+        build/dist/scons-0.97-1.noarch.rpm
+        build/dist/scons-0.97-1.src.rpm
+        build/dist/scons-0.97.linux-i686.tar.gz
+        build/dist/scons-0.97.tar.gz
+        build/dist/scons-0.97.win32.exe
+        build/dist/scons-0.97.zip
+        build/dist/scons-doc-0.97.tar.gz
+        build/dist/scons-local-0.97.tar.gz
+        build/dist/scons-local-0.97.zip
+        build/dist/scons-src-0.97.tar.gz
+        build/dist/scons-src-0.97.zip
+        build/dist/scons_0.97-1_all.deb
 
 The SConstruct file is supposed to be smart enough to avoid trying to
 build packages for which you don't have the proper utilities installed.
@@ -609,6 +611,9 @@ bin/
                 SCons itself
             --  a copy of xml_export, which can retrieve project data
                 from SourceForge
+            --  scripts and a Python module for translating the SCons
+                home-brew XML documentation tags into DocBook and
+                man page format
 
 bootstrap.py
         A build script for use with Aegis.  This collects a current copy
@@ -636,12 +641,6 @@ doc/
         SCons documentation.  A variety of things here, in various
         stages of (in)completeness.
 
-etc/
-        A subdirectory for miscellaneous things that we need.  Right
-        now, it has copies of Python modules that we use for testing,
-        and which we don't want to force people to have to install on
-        their own just to help out with SCons development.
-
 gentoo/
         Stuff to generate files for Gentoo Linux.
 
@@ -661,6 +660,10 @@ LICENSE-local
         the licensing terms are for SCons itself, not any other
         package that includes SCons.
 
+QMTest/
+        The Python modules we use for testing, some generic modules
+        originating elsewhere and some specific to SCons.
+
 README
         What you're looking at right now.
 
@@ -738,18 +741,18 @@ available at:
 REPORTING BUGS
 ==============
 
-Please report bugs by following the "Tracker - Bugs" link on the SCons
-project page and filling out the form:
+Please report bugs by following the detailed instructions on our Bug
+Submission page:
 
-        http://sourceforge.net/projects/scons/
+        http://scons.tigris.org/bug-submission.html
 
-You can also send mail to the SCons developers mailing list:
+You can also send mail to the SCons developers' mailing list:
 
-        scons-devel@lists.sourceforge.net
+        dev@scons.tigris.org
 
-But please make sure that you also submit a bug report to the project
-page bug tracker, because bug reports in email can sometimes get lost
-in the general flood of messages.
+But even if you send email to the mailing list please make sure that you
+ALSO submit a bug report to the project page bug tracker, because bug
+reports in email often get overlooked in the general flood of messages.
 
 
 MAILING LISTS
index f0d8c1a31df66dbe5ac9ca644467c5eeafbf1064..a81b37ba126bfdee2643a8f6a9839ef1a8c3582b 100644 (file)
@@ -45,7 +45,7 @@ import sys
 import time
 
 project = 'scons'
-default_version = '0.96.96'
+default_version = '0.97'
 copyright = "Copyright (c) %s The SCons Foundation" % copyright_years
 
 SConsignFile()
index 57bf1d4d343b2f7aaefa5792de535b6b65471340..96625b46745edd2e60e036c6955192a0e10e0d08 100644 (file)
@@ -94,6 +94,7 @@ class Item:
         if self.sort_name[0] == '_':
             self.sort_name = self.sort_name[1:]
         self.summary = []
+        self.sets = None
         self.uses = None
     def cmp_name(self, name):
         if name[0] == '_':
@@ -284,6 +285,14 @@ class SConsDocHandler(xml.sax.handler.ContentHandler,
         self.begin_collecting([])
     def end_uses(self):
         self.current_object.uses = ''.join(self.collect).split()
+        self.current_object.uses.sort()
+        self.end_collecting()
+
+    def start_sets(self, attrs):
+        self.begin_collecting([])
+    def end_sets(self):
+        self.current_object.sets = ''.join(self.collect).split()
+        self.current_object.sets.sort()
         self.end_collecting()
 
     # Stuff for the ErrorHandler portion.
index d55016fe6bf271ab1fe7005e68e76715f97113d0..fc60a9bd3d05d0e6bbb6c944742e6407836befc6 100644 (file)
@@ -23,8 +23,8 @@ import SConsDoc
 base_sys_path = [os.getcwd() + '/build/test-tar-gz/lib/scons'] + sys.path
 
 helpstr = """\
-Usage: scons-proc.py [--man|--sgml] \
-                        [-b file(s)] [-t file(s)] [-v file(s)] [infile ...]
+Usage: scons-proc.py [--man|--sgml]
+                     [-b file(s)] [-t file(s)] [-v file(s)] [infile ...]
 Options:
   -b file(s)        dump builder information to the specified file(s)
   -t file(s)        dump tool information to the specified file(s)
@@ -36,8 +36,9 @@ Options:
 """
 
 opts, args = getopt.getopt(sys.argv[1:],
-                           "b:t:v:",
-                           ['builders=', 'man', 'sgml', 'tools=', 'variables='])
+                           "b:ht:v:",
+                           ['builders=', 'help',
+                            'man', 'sgml', 'tools=', 'variables='])
 
 buildersfiles = None
 output_type = '--sgml'
@@ -47,6 +48,9 @@ variablesfiles = None
 for o, a in opts:
     if o in ['-b', '--builders']:
         buildersfiles = a
+    elif o in ['-h', '--help']:
+        sys.stdout.write(helpstr)
+        sys.exit(0)
     elif o in ['--man', '--sgml']:
         output_type = o
     elif o in ['-t', '--tools']:
@@ -146,11 +150,16 @@ class SCons_XML_to_SGML(SCons_XML):
             f.write('<listitem>\n')
             for chunk in v.summary.body:
                 f.write(str(chunk))
-            #if v.uses:
-            #    u = map(lambda x, s: '&%slink-%s;' % (s.prefix, x), v.uses)
-            #    f.write('<para>\n')
-            #    f.write('Uses:  ' + ', '.join(u) + '.\n')
-            #    f.write('</para>\n')
+            if v.sets:
+                s = map(lambda x: '&cv-link-%s;' % x, v.sets)
+                f.write('<para>\n')
+                f.write('Sets:  ' + ', '.join(s) + '.\n')
+                f.write('</para>\n')
+            if v.uses:
+                u = map(lambda x: '&cv-link-%s;' % x, v.uses)
+                f.write('<para>\n')
+                f.write('Uses:  ' + ', '.join(u) + '.\n')
+                f.write('</para>\n')
             f.write('</listitem>\n')
             f.write('</varlistentry>\n')
     def write_mod(self, filename):
index 063cba417bc1e9911064554b0b7424daeb2e8211..441f57292bc2269c12123f60e197fdbaf4762981 100644 (file)
@@ -1,8 +1,8 @@
-scons (0.96-96) unstable; urgency=low
+scons (0.97) unstable; urgency=low
 
-  * Pre-release of eighth beta release.
+  * Eighth beta release.
 
- -- Steven Knight <knight@baldmt.com>  Thu, 12 Apr 2007 12:36:25 -0500
+ -- Steven Knight <knight@baldmt.com>  Thu, 17 May 2007 08:59:41 -0500
 
 
 scons (0.96-1) unstable; urgency=low
index 7617974358800f3ed4ee2d27fabd6be560634ce0..8316e6ee196dd395d038b03a9c023739cf943767 100644 (file)
@@ -295,7 +295,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE.  DO NOT EDIT.
             ]
             if tidy:
                 cmds.append("tidy -m -q $TARGET || true")
-            env.Command(htmlindex, main, cmds)
+            env.Command(htmlindex, File(main), cmds)
             Local(htmlindex)
 
             cmds = [
@@ -305,7 +305,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE.  DO NOT EDIT.
             ]
             if tidy:
                 cmds.append("tidy -m -q $TARGET || true")
-            env.Command(html, main, cmds)
+            env.Command(html, File(main), cmds)
             Local(html)
 
             env.Ignore([html, htmlindex], version_sgml)
index aa1a0b99dbad0ed7ffc1666a82cfb600583616ac..bbb20f07e4ec83a7e7db83fb2543b5aabf986468 100644 (file)
 
 -->
 
-<!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>">
+<!ENTITY Aegis          "<application>Aegis</application>">
+<!ENTITY Ant            "<application>Ant</application>">
+<!ENTITY ar             "<application>ar</application>">
+<!ENTITY as             "<application>as</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 gas            "<application>gas</application>">
+<!ENTITY gcc            "<application>gcc</application>">
+<!ENTITY g77            "<application>g77</application>">
+<!ENTITY gXX            "<application>gXX</application>">
+<!ENTITY Jam            "<application>Jam</application>">
+<!ENTITY jar            "<application>jar</application>">
+<!ENTITY javac          "<application>javac</application>">
+<!ENTITY javah          "<application>javah</application>">
+<!ENTITY latex          "<application>latex</application>">
+<!ENTITY lex            "<application>lex</application>">
+<!ENTITY m4             "<application>m4</application>">
+<!ENTITY Make           "<application>Make</application>">
+<!ENTITY Makepp         "<application>Make++</application>">
+<!ENTITY pdflatex       "<application>pdflatex</application>">
+<!ENTITY pdftex         "<application>pdftex</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 tex            "<application>tex</application>">
+<!ENTITY touch          "<application>touch</application>">
+<!ENTITY yacc           "<application>yacc</application>">
+<!ENTITY zip            "<application>zip</application>">
 
 
 <!--
index 3b4865b7717efeabe53a6b3f816102e2d008ffdb..86cd7f558baef76bff470df51cd3bd106a8940ae 100644 (file)
@@ -1,5 +1,5 @@
 %define name scons
-%define version 0.96.96
+%define version 0.97
 %define release 1
 
 Summary: an Open Source software construction tool
index a52a6b7f1aa795c25f085b64eb56ee47d55245b1..a47992a70d26b9d95a69bb18ccdd38370b445813 100644 (file)
@@ -8,6 +8,20 @@
 
 
 
+RELEASE 0.97 - Thu, 17 May 2007 08:59:41 -0500
+
+  From Steven Knight:
+
+  - Fix a bug that would make parallel builds stop in their tracks if
+    Nodes that depended on lists that contained some Nodes built together
+    caused the reference count to drop below 0 if the Nodes were visited
+    and commands finished in the wrong order.
+
+  - Make sure the DirEntryScanner doesn't choke if it's handed something
+    that's not a directory (Node.FS.Dir) Node.
+
+
+
 RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
 
   NOTE:  This is (Yet) a(nother) pre-release of 0.97 for testing purposes.
index a89690040293f97112bf76297cc9137fee54857b..8c7149810169b36377857fa295fd95b9020bc459 100644 (file)
@@ -99,21 +99,24 @@ By default, the above command will do the following:
         for example).  This can be disabled by specifying the
         "--no-scons-script" option on the command line, which is useful
         if you want to install and experiment with a new version before
-        making it the default on your system.  On UNIX or Linux systems,
-        you can have the "scons" and "sconsign" scripts be hard links or
-        symbolic links to the "scons-__VERSION__" and "sconsign-__VERSION__" scripts
-        by specifying the "--hardlink-scons" or "--symlink-scons"
-        options on the command line.
+        making it the default on your system.
+
+        On UNIX or Linux systems, you can have the "scons" and "sconsign"
+        scripts be hard links or symbolic links to the "scons-__VERSION__" and
+        "sconsign-__VERSION__" scripts by specifying the "--hardlink-scons"
+        or "--symlink-scons" options on the command line.
 
     --  Install "scons-__VERSION__.bat" and "scons.bat" wrapper scripts in the
         Python prefix directory on Windows (C:\Python*, for example).
         This can be disabled by specifying the "--no-install-bat" option
-        on the command line.  On UNIX or Linux systems, the
-        "--install-bat" option may be specified to have "scons-__VERSION__.bat"
-        and "scons.bat" files installed in the default system script
-        directory, which is useful if you want to install SCons in a
-        shared file system directory that can be used to execute SCons
-        from both UNIX/Linux and Windows systems.
+        on the command line.
+
+        On UNIX or Linux systems, the "--install-bat" option may be
+        specified to have "scons-__VERSION__.bat" and "scons.bat" files
+        installed in the default system script directory, which is useful
+        if you want to install SCons in a shared file system directory
+        that can be used to execute SCons from both UNIX/Linux and
+        Windows systems.
 
     --  Install the SCons build engine (a Python module) in an
         appropriate version-numbered SCons library directory
@@ -196,18 +199,18 @@ available at:
 REPORTING BUGS
 ==============
 
-Please report bugs by following the "Tracker - Bugs" link on the SCons
-project page and filling out the form:
+Please report bugs by following the detailed instructions on our Bug
+Submission page:
 
-        http://sourceforge.net/projects/scons/
+        http://scons.tigris.org/bug-submission.html
 
-You can also send mail to the SCons developers mailing list:
+You can also send mail to the SCons developers' mailing list:
 
-        scons-devel@lists.sourceforge.net
+        dev@scons.tigris.org
 
-But please make sure that you also submit a bug report to the project
-page bug tracker, because bug reports in email can sometimes get lost
-in the general flood of messages.
+But even if you send email to the mailing list please make sure that you
+ALSO submit a bug report to the project page bug tracker, because bug
+reports in email often get overlooked in the general flood of messages.
 
 
 MAILING LISTS
@@ -262,12 +265,9 @@ With plenty of help from the SCons Development team:
         Chad Austin
         Charles Crain
         Steve Leblanc
-        Baptiste Lepilleur
-        Elliot Murphy
+        Greg Noel
         Gary Oberbrunner
         Anthony Roach
-        Greg Noel
-        Kevin Quick
         Greg Spencer
         Christoph Wiedemann
 
index b7d701f809146110b0dcc78cb14bdc119fc0b50d..b19a39cd77bea9e49f704394d4fb39c2f5da61b7 100644 (file)
@@ -20,11 +20,10 @@ more effectively, please sign up for the scons-users mailing list at:
 
 
 
-RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
+RELEASE 0.97 - Thu, 12 Apr 2007 12:36:25 -0500
 
-  This is a pre-release for testing the eighth beta release of SCons.
-  Please consult the CHANGES.txt file for a list of specific changes
-  since last release.
+  This is the eighth beta release of SCons.  Please consult the
+  CHANGES.txt file for a list of specific changes since last release.
 
   Please note the following important changes since release 0.96.93:
 
@@ -47,9 +46,9 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
         On all POSIX systems, the default execution PATH variable has had
         the /opt/bin directory added after the /usr/local/bin directory
         and before /bin and /usr/bin directories.  This may cause SCons
-        to find and/or different compilers, linkers, etc. if you have
-        any same-named utilities installed in /opt/bin that it previously
-        found in /bin or /usr/bin.
+        to find and/or use different compilers, linkers, etc., if you
+        have any same-named utilities installed in /opt/bin that SCons
+        previously found in /bin or /usr/bin.
 
         On Mac OS X (Darwin) systems, the /sw/bin directory has been added
         to the end of the default execution PATH.  This may cause SCons
@@ -147,11 +146,12 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
 
           --  NORMALIZED PATHS IN SConsignFile() DATABASES ON WINDOWS
 
-              When using an SConsignFile() database, instead of individual
-              .sconsign files in each directory, the path names are
-              stored in normalized form with / (forward slash) separating
-              the elements.  This may cause rebuilds on Windows systems
-              with hierarchical configurations.
+              When using an SConsignFile() database, instead of
+              individual .sconsign files in each directory, the path
+              names are stored in normalized form with / (forward slash)
+              separating the elements.  This may cause rebuilds when
+              upgrading to SCons 0.97 on Windows systems with hierarchical
+              build configurations.
 
           --  STORED DEPENDENCY PATHS ARE NOW RELATIVE TO THE TARGET
 
@@ -163,26 +163,27 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
               causing unnecessary rebuilds due to an intermediate file in
               one build being treated as a source file in a nother build.
 
-              This a step towards making it possible to write a hierarchy
-              of SConstruct files that allow developers to build just
-              one portion of a tree wherever there's an SConstruct file.
-              (Note that this would still require some specific code at
-              the top of each SConstruct file, but we hope to make this
-              an easier/more naturally supported thing in the future.)
+              This is a step towards making it possible to write a
+              hierarchy of SConstruct files that allow developers
+              to build just one portion of a tree wherever there's an
+              SConstruct file.  (Note that this would still require some
+              specific code at the top of each SConstruct file, but we
+              hope to make this an easier/more naturally supported thing
+              in the future.)
 
           --  PYTHON FUNCTION ACTION SIGNATURES HAVE CHANGED TO AVOID
               FUTURE REBUILDS AND REBUILDS BETWEEN PYTHON VERSIONS
 
-              SCons Actions for Python functions use the functions byte
-              code to generate their signature.  The byte code in older
-              versions of Python includes indications of the line numbers
-              at which the function's code appeared in its original
-              source file, which means that changes in the location of
-              an otherwise unmodified Python function would trigger
-              rebuilds.  The line number byte codes are now removed
-              from the signature, which will cause any targets built by
-              Python function Actions (including various pre-supplied
-              SCons Actions) be rebuilt.
+              SCons Actions for Python functions use the function's
+              byte code to generate their signature.  The byte code
+              in older versions of Python includes indications of the
+              line numbers at which the function's code appeared in
+              its original source file, which means that changes in the
+              location of an otherwise unmodified Python function would
+              trigger rebuilds.  The line number byte codes are now
+              removed from the signature, which will cause any targets
+              built by Python function Actions (including various
+              pre-supplied SCons Actions) to be rebuilt.
 
           --  REMOVED CONVERSION FROM PRE-0.96 .sconsign FORMATS
 
@@ -193,10 +194,11 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
 
           --  ORDER OF -o FLAGS ON CERTAIN LINK COMMAND LINES HAS CHANGED
 
-              The -o flag that specifies an output file has been moved on
-              certain linker command lines to place it consistently after
-              the link command itself.  This will cause recompilation
-              of target files created by these changed lines.
+              The -o flag that specifies an output file has been moved
+              on certain linker command lines to place it consistently
+              right after the link command itself.  This will cause
+              recompilation of target files created by these changed
+              lines.
 
     --  F95 AND F90 COMPILERS ARE NOW PREFERRED OVER F77
 
@@ -561,10 +563,10 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
 
   KNOWN PROBLEMS IN THIS RELEASE:
 
-    For a complete list of known problems, consult the SCons bug tracker
-    page at SourceForge:
+    For a complete list of known problems, consult the SCons Issue Tracker
+    at tigris.org:
 
-        http://sourceforge.net/tracker/?atid=398971&group_id=30337&func=browse
+        http://scons.tigris.org/project_issues.html
 
     - Support for parallel builds (-j) does not work on WIN32 systems
       prior to *official* Python release 2.2 (not 2.2 pre-releases).
@@ -618,15 +620,6 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
 
     - Unicode characters in path names do not work in all circumstances.
 
-    - A stray source file in a BuildDir can prevent targets from being
-      (re)built when they should.
-
-    - SCons does not automatically rebuild LaTeX files when the file
-      has an undefined reference on the first build.
-
-    - Use of --implicit-cache with TargetSignatures('content') can,
-      for some changes, not rebuild a file when necessary.
-
     - SCons does not currently automatically check out SConstruct or
       SConscript files from SCCS, RCS or BitKeeper.
 
index 50de2b0a265659677f4d3941beed059e1daa3492..ad9eb66064bfc34ee8510cec551d3e3c689053ed 100644 (file)
@@ -1314,8 +1314,11 @@ class NodeTestCase(unittest.TestCase):
         n1 = SCons.Node.Node()
         n2 = SCons.Node.Node()
         assert n1.waiting_parents == {}, n1.waiting_parents
-        n1.add_to_waiting_parents(n2)
+        r = n1.add_to_waiting_parents(n2)
+        assert r == 1, r
         assert n1.waiting_parents == {n2:1}, n1.waiting_parents
+        r = n1.add_to_waiting_parents(n2)
+        assert r == 0, r
 
     def test_call_for_all_waiting_parents(self):
         """Test the call_for_all_waiting_parents() method"""
index fa682a201fa225abaa48f95548b66e81594052d1..6644d7a5b706269bb259cf9c86f55045cea54f7a 100644 (file)
@@ -336,7 +336,20 @@ class Node:
         self.waiting_s_e[node] = 1
 
     def add_to_waiting_parents(self, node):
-        self.waiting_parents[node] = 1
+        """
+        Returns the number of nodes added to our waiting parents list:
+        1 if we add a unique waiting parent, 0 if not.  (Note that the
+        returned values are intended to be used to increment a reference
+        count, so don't think you can "clean up" this function by using
+        True and False instead...)
+        """
+        wp = self.waiting_parents
+        if wp.has_key(node):
+            result = 0
+        else:
+            result = 1
+        wp[node] = 1
+        return result
 
     def call_for_all_waiting_parents(self, func):
         func(self)
index 535150a69664bf2fd351d1b6b6d6359337ae114c..9203fb270bf697ac6983624adf1084bb4569b86f 100644 (file)
@@ -92,6 +92,14 @@ def scan_in_memory(node, env, path=()):
     """
     "Scans" a Node.FS.Dir for its in-memory entries.
     """
-    entry_list = filter(do_not_scan, node.entries.keys())
+    try:
+        entries = node.entries
+    except AttributeError:
+        # It's not a Node.FS.Dir (or doesn't look enough like one for
+        # our purposes), which can happen if a target list containing
+        # mixed Node types (Dirs and Files, for example) has a Dir as
+        # the first entry.
+        return []
+    entry_list = filter(do_not_scan, entries.keys())
     entry_list.sort()
-    return map(lambda n, e=node.entries: e[n], entry_list)
+    return map(lambda n, e=entries: e[n], entry_list)
index 0dde95e3db7935e8ffb8aa806f74a69292471373..5f180bcb6b27d9ac3953354bd45179d98f583cf1 100644 (file)
@@ -50,6 +50,8 @@ class DummyEnvironment:
         return self.fs.Dir(name)
     def Entry(self, name):
         return self.fs.Entry(name)
+    def File(self, name):
+        return self.fs.File(name)
     def get_factory(self, factory):
         return factory or self.fs.Entry
 
@@ -77,7 +79,7 @@ class DirScannerTestBase(unittest.TestCase):
         self.test.write(['dir', 'sub', '.sconsign.dir'], "dir/.sconsign.dir\n")
         self.test.write(['dir', 'sub', '.sconsign.pag'], "dir/.sconsign.pag\n")
 
-class DirScannerTestCase1(DirScannerTestBase):
+class DirScannerTestCase(DirScannerTestBase):
     def runTest(self):
         env = DummyEnvironment(self.test.workpath())
 
@@ -100,7 +102,7 @@ class DirScannerTestCase1(DirScannerTestBase):
         sss = map(str, deps)
         assert sss == expect, sss
 
-class DirScannerTestCase2(DirScannerTestBase):
+class DirEntryScannerTestCase(DirScannerTestBase):
     def runTest(self):
         env = DummyEnvironment(self.test.workpath())
 
@@ -114,10 +116,15 @@ class DirScannerTestCase2(DirScannerTestBase):
         sss = map(str, deps)
         assert sss == [], sss
 
+        # Make sure we don't blow up if handed a non-Dir node.
+        deps = s(env.File('dir/f1'), env, ())
+        sss = map(str, deps)
+        assert sss == [], sss
+
 def suite():
     suite = unittest.TestSuite()
-    suite.addTest(DirScannerTestCase1())
-    suite.addTest(DirScannerTestCase2())
+    suite.addTest(DirScannerTestCase())
+    suite.addTest(DirEntryScannerTestCase())
     return suite
 
 if __name__ == "__main__":
index 4de35f0d68af71c5a657e7e409a6f17a4484becc..9a5011b3307c5913eaa8f0d5983cbdae454aa783 100644 (file)
@@ -52,6 +52,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
 
 import SCons.compat
 
+import operator
 import string
 import sys
 import traceback
@@ -577,8 +578,8 @@ class Taskmaster:
                 # when they've finished building, our implicit dependency
                 # list will get cleared and we'll re-scan the newly-built
                 # file(s) for updated implicit dependencies.
-                map(lambda n, P=node: n.add_to_waiting_parents(P), not_started)
-                node.ref_count = len(set(not_started))
+                added = map(lambda n, P=node: n.add_to_waiting_parents(P), not_started)
+                node.ref_count = node.ref_count + reduce(operator.add, added, 0)
 
                 # Now we add these derived targets to the candidates
                 # list so they can be examined and built.  We have to
@@ -612,8 +613,8 @@ class Taskmaster:
                 # so that when they've finished building, our implicit
                 # dependency list will get cleared and we'll re-scan the
                 # newly-built file(s) for updated implicit dependencies.
-                map(lambda n, P=node: n.add_to_waiting_parents(P), not_built)
-                node.ref_count = len(set(not_built))
+                added = map(lambda n, P=node: n.add_to_waiting_parents(P), not_built)
+                node.ref_count = node.ref_count + reduce(operator.add, added, 0)
 
                 if S: S.not_built = S.not_built + 1
                 if T:
index f74cf347392194b68fdbaacd817ad7eef832c44e..757306fc9a79fc557c91d5c56ef963a36a68f1e5 100644 (file)
@@ -54,6 +54,7 @@ class Node:
         self.csig = None
         self.state = SCons.Node.no_state
         self.prepared = None
+        self.ref_count = 0
         self.waiting_parents = {}
         self.waiting_s_e = {}
         self.side_effect = 0
@@ -112,7 +113,13 @@ class Node:
         return self.name
 
     def add_to_waiting_parents(self, node):
-        self.waiting_parents[node] = 1
+        wp = self.waiting_parents
+        if wp.has_key(node):
+            result = 0
+        else:
+            result = 1
+        wp[node] = 1
+        return result
 
     def call_for_all_waiting_parents(self, func):
         func(self)
index bb36048259927856e1812f7769ab1f499962d76a..824e060e567a35e3320b28ce36f79e743f9669a6 100644 (file)
@@ -6,6 +6,20 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="386asm">
 <summary>
-XXX
+Sets construction variables for the 386ASM assembler
+for the Phar Lap ETS embedded operating system.
 </summary>
+<sets>
+AS
+ASFLAGS
+ASPPFLAGS
+ASCOM
+ASPPCOM
+</sets>
+<uses>
+CC
+CPPFLAGS
+_CPPDEFFLAGS
+_CPPINCFLAGS
+</uses>
 </tool>
index 8ab704977a1295213377daff4c85bd37a866dda8..d0e42d725d89c070df7785177600d34b31a075e6 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="BitKeeper">
 <summary>
-XXX
+Sets construction variables for the BitKeeper
+source code control system.
 </summary>
+<sets>
+BITKEEPER
+BITKEEPERGET
+BITKEEPERGETFLAGS
+BITKEEPERCOM
+</sets>
+<uses>
+BITKEEPERCOMSTR
+</uses>
 </tool>
 
 <cvar name="BITKEEPER">
index fb666e8ffeba67b1d9cc2e19e1f12f61ad676868..3d8c055ec06351b0dcdc5475f587ba3c91b5a2b2 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="CVS">
 <summary>
-XXX
+Sets construction variables for the CVS source code
+management system.
 </summary>
+<sets>
+CVS
+CVSCOM
+CVSFLAGS
+CVSCOFLAGS
+</sets>
+<uses>
+CVSCOMSTR
+</uses>
 </tool>
 
 <cvar name="CVS">
index b8824ed0b8cdb8a5f78db07267cb8db3b39dd02e..bc7ffed33569911cde47ab526fc5b2fa30f32e42 100644 (file)
@@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="Perforce">
 <summary>
-XXX
+Sets construction variables for interacting with the
+Perforce source code management system.
 </summary>
+<sets>
+P4
+P4FLAGS
+P4COM
+</sets>
+<uses>
+P4COMSTR
+</uses>
 </tool>
 
 <cvar name="P4">
index 2c89a5b69cb0924b434b45a7d3d4715baf5f6dc0..c81cf940cd195d0458f5e6a7d5cb7481db0515bb 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="RCS">
 <summary>
-XXX
+Sets construction variables for the interaction
+with the Revision Control System.
 </summary>
+<sets>
+RCS
+RCS_CO
+RCS_COFLAGS
+RCS_COCOM
+</sets>
+<uses>
+RCS_COCOMSTR
+</uses>
 </tool>
 
 <cvar name="RCS">
index 9f7539df06ce0b2cbec197058a69e29698cfa4b0..5a55bdae660f8a3ccd14200d577903f4d768e87a 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="SCCS">
 <summary>
-XXX
+Sets construction variables for interacting with the
+Source Code Control System.
 </summary>
+<sets>
+SCCS
+SCCSFLAGS
+SCCSGETFLAGS
+SCCSCOM
+</sets>
+<uses>
+SCCSCOMSTR
+</uses>
 </tool>
 
 <cvar name="SCCS">
index c3a4f5f22961606c3ed51236a14276fbf3579596..adbd2b725723fb0edf05fb6a4850eaa0e59b2ba1 100644 (file)
@@ -4,11 +4,21 @@ __COPYRIGHT__
 This file is processed by the bin/SConsDoc.py module.
 See its __doc__ string for a discussion of the format.
 -->
+<!--
 <tool name="Subversion">
 <summary>
-XXX
+Sets construction variables for interacting with Subversion.
 </summary>
+<sets>
+SVN
+SVNFLAGS
+SVNCOM
+</sets>
+<uses>
+SVNCOMSTR
+</uses>
 </tool>
+-->
 
 <!--
 <cvar name="SVN">
index 2f03aa65d1a6df88d7e6ce6b3bce1d128d59e733..05b4dd64f810ec90b189a439de3b0d520f9c2bee 100644 (file)
@@ -6,6 +6,14 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="aixc++">
 <summary>
-XXX
+Sets construction variables for the IMB xlc / Visual Age C++ compiler.
 </summary>
+<sets>
+CXX
+SHCXX
+CXXVERSION
+SHOBJSUFFIX
+</sets>
+<uses>
+</uses>
 </tool>
index a7a043c5fc7fce687fa40dacc4e295bef29dbd22..8ec301b26e18a5d0dc8909e1953c100a363dff25 100644 (file)
@@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="aixcc">
 <summary>
-XXX
+Sets construction variables for the IBM xlc / Visual Age C compiler.
 </summary>
+<sets>
+CC
+SHCC
+CCVERSION
+</sets>
+<uses>
+</uses>
 </tool>
index 9043b66fe01f891be36f349d366a8dd42df19029..14274f32a50df85ec836696c6335ffdbaf5144c2 100644 (file)
@@ -6,6 +6,12 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="aixf77">
 <summary>
-XXX
+Sets construction variables for the IBM Visual Age f77 Fortran compiler.
 </summary>
+<sets>
+F77
+SHF77
+</sets>
+<uses>
+</uses>
 </tool>
index a1aa05bfb134c007cd0ffa6902c53574177bedc6..567882b890d703268dbf10ff02499b3135f62fda 100644 (file)
@@ -6,6 +6,14 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="aixlink">
 <summary>
-XXX
+Sets construction variables for the IBM Visual Age linker.
 </summary>
+<sets>
+<!--SMARTLINKFLAGS-->
+LINKFLAGS
+SHLINKFLAGS
+SHLIBSUFFIX
+</sets>
+<uses>
+</uses>
 </tool>
index d5fadbbb110d634a18ddbceee533b4dbbc284880..10b4559877051f5064ec202b6c23ee556cd5f416 100644 (file)
@@ -4,6 +4,28 @@ __COPYRIGHT__
 This file is processed by the bin/SConsDoc.py module.
 See its __doc__ string for a discussion of the format.
 -->
+<tool name="applelink">
+<summary>
+Sets construction variables for the Apple linker
+(similar to the GNU linker).
+</summary>
+<sets>
+FRAMEWORKPATHPREFIX
+_FRAMEWORKPATH
+_FRAMEWORKS
+LINKCOM
+SHLINKFLAGS
+SHLINKCOM
+LDMODULEPREFIX
+LDMODULESUFFIX
+LDMODULEFLAGS
+LDMODULECOM
+</sets>
+<uses>
+FRAMEWORKSFLAGS
+</uses>
+</tool>
+
 <cvar name="FRAMEWORKSFLAGS">">
 <summary>
 On Mac OS X with gcc,
index b26f6343a73ff9ea32522bf2c5eafd937f3569c9..1fe9a5742e2b2a313a8c272a9579973ec9a88caf 100644 (file)
@@ -6,8 +6,20 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="ar">
 <summary>
-XXX
+Sets construction variables for the &ar; library archiver.
 </summary>
+<sets>
+AR
+ARFLAGS
+ARCOM
+LIBPREFIX
+LIBSUFFIX
+RANLIB
+RANLIBFLAGS
+RANLIBCOM
+</sets>
+<uses>
+</uses>
 </tool>
 
 <cvar name="AR">
index f61d26a5edb9addd806b95ad1c5e9ec73c01ab46..b771d0e4582352ae09a57c9a5b2927d70cdf44e3 100644 (file)
@@ -6,8 +6,21 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="as">
 <summary>
-XXX
+Sets construction variables for the &as; assembler.
 </summary>
+<sets>
+AS
+ASFLAGS
+ASCOM
+ASPPFLAGS
+ASPPCOM
+</sets>
+<uses>
+CC
+CPPFLAGS
+_CPPDEFFLAGS
+_CPPINCFLAGS
+</uses>
 </tool>
 
 <cvar name="AS">
index 1cdb9c0b36318788e1d5ee25f19abe9d2520501d..38ded356c7ac893a8ab542f7a5fe34ccc27b9507 100644 (file)
@@ -6,6 +6,27 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="bcc32">
 <summary>
-XXX
+Sets construction variables for the bcc32 compiler.
 </summary>
+<sets>
+CC
+CCFLAGS
+CFLAGS
+CCCOM
+SHCC
+SHCCFLAGS
+SHCFLAGS
+SHCCCOM
+CPPDEFPREFIX
+CPPDEFSUFFIX
+INCPREFIX
+INCSUFFIX
+SHOBJSUFFIX
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+CFILESUFFIX
+</sets>
+<uses>
+_CPPDEFFLAGS
+_CPPINCFLAGS
+</uses>
 </tool>
index 2dc7bb2c39c80cd4ca5ba98902920d5061f342a9..02530da04532edbe87930a7f805175dfa77784aa 100644 (file)
@@ -4,10 +4,29 @@ __COPYRIGHT__
 This file is processed by the bin/SConsDoc.py module.
 See its __doc__ string for a discussion of the format.
 -->
-<tool name="c++">
+<tool name="cXX">
 <summary>
-XXX
+Sets construction variables for generic POSIX C++ compilers.
 </summary>
+<sets>
+CXX
+CXXFLAGS
+CXXCOM
+SHCXX
+SHCXXFLAGS
+SHCXXCOM
+CPPDEFPREFIX
+CPPDEFSUFFIX
+INCPREFIX
+INCSUFFIX
+SHOBJSUFFIX
+OBJSUFFIX
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+CXXFILESUFFIX
+</sets>
+<uses>
+CXXCOMSTR
+</uses>
 </tool>
 
 <cvar name="CXX">
index b7ff65a4107c26ee4f311674a7c4e973c68823a4..a89182a3247683ad13ed940334c0be972884b856 100644 (file)
@@ -6,22 +6,31 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="cc">
 <summary>
-&cv-link-CC;
-&cv-link-CFLAGS;
-&cv-link-CCCOM;
-&cv-link-SHCC;
-&cv-link-SHCFLAGS;
-&cv-link-SHCCCOM;
-
-&cv-link-CPPDEFPREFIX;
-&cv-link-CPPDEFSUFFIX;
-&cv-link-INCPREFIX;
-&cv-link-INCSUFFIX;
-&cv-link-SHOBJSUFFIX;
-<!-- &cv-link-STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME; -->
-
-&cv-link-CFILESUFFIX;
+Sets construction variables for generic POSIX C copmilers.
 </summary>
+<sets>
+<!--_CCCOMCOM-->
+FRAMEWORKS
+FRAMEWORKPATH
+CC
+CFLAGS
+CCFLAGS
+CCCOM
+SHCC
+SHCFLAGS
+SHCCFLAGS
+SHCCCOM
+CPPDEFPREFIX
+CPPDEFSUFFIX
+INCPREFIX
+INCSUFFIX
+SHOBJSUFFIX
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+CFILESUFFIX
+</sets>
+<uses>
+PLATFORM
+</uses>
 </tool>
 
 <cvar name="CC">
index 9acde9b59da2462ef01cda54273b539068e1776a..a8011e17cd737954136afd8a5d2b826509f4a5cf 100644 (file)
@@ -6,6 +6,25 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="cvf">
 <summary>
-XXX
+Sets construction variables for the Compaq Visual Fortran compiler.
 </summary>
+<sets>
+FORTRAN
+FORTRANCOM
+FORTRANPPCOM
+SHFORTRANCOM
+SHFORTRANPPCOM
+OBJSUFFIX
+FORTRANMODDIR
+FORTRANMODDIRPREFIX
+FORTRANMODDIRSUFFIX
+</sets>
+<uses>
+FORTRANFLAGS
+SHFORTRANFLAGS
+_FORTRANMODFLAG
+_FORTRANINCFLAGS
+CPPFLAGS
+_CPPDEFFLAGS
+</uses>
 </tool>
index a4da87a007cb4eaefded3e3221fe50f481385cdb..e14f9f728262cbc7dcdde46141c274b741ddcd0b 100644 (file)
@@ -6,6 +6,7 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="default">
 <summary>
-XXX
+Sets variables by calling a default list of Tool modules
+for the platform on which SCons is running.
 </summary>
 </tool>
index 62ab78e597f8f50cf91becd02f93f748f72a2bc8..cab3ab47d26d300d80c61bb595a0613543efd328 100644 (file)
@@ -6,6 +6,47 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="dmd">
 <summary>
-XXX
+Sets construction variables for the Digital Mars D compiler.
 </summary>
+<sets>
+<!--
+DC
+DCOM
+_DINCFLAGS
+_DVERFLAGS
+_DDEBUGFLAGS
+_DFLAGS
+DPATH
+DFLAGS
+DVERSIONS
+DDEBUG
+DINCPREFIX
+DINCSUFFIX
+DVERPREFIX
+DVERSUFFIX
+DDEBUGPREFIX
+DDEBUGSUFFIX
+DFLAGPREFIX
+DFLAGSUFFIX
+DFLESUFFIX
+DLINK
+DLINKCOM
+DLIB
+DLIBCOM
+_DLINKLIBFLAGS
+_DLIBFLAGS
+DLINKFLAGS
+DLIBLINKPREFIX
+DLIBLINKSUFFIX
+DLIBFLAGPREFIX
+DLIBFLAGSUFFIX
+DLINKFLAGPREFIX
+DLINKFLAGSUFFIX
+LINKCOM
+ARCOM
+LIBS
+-->
+</sets>
+<uses>
+</uses>
 </tool>
index 26fdd43b93c4a9b6a58539bb4b28fb652680ea6e..8285a54f1ff346cf3455f7d01229f63bb538e8c9 100644 (file)
@@ -4,6 +4,17 @@ __COPYRIGHT__
 This file is processed by the bin/SConsDoc.py module.
 See its __doc__ string for a discussion of the format.
 -->
+<tool name="dvi">
+<summary>
+Attaches the &b-DVI; builder to the
+construction environment.
+</summary>
+<sets>
+</sets>
+<uses>
+</uses>
+</tool>
+
 <builder name="DVI">
 <summary>
 Builds a <filename>.dvi</filename> file
index f0679b313cc34f214d618ece6f05a3f086905e22..7f5b160d1ed8d47719a67fe353c9bf3b74412246 100644 (file)
@@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="dvipdf">
 <summary>
-XXX
+Sets construction variables for the dvipdf utility.
 </summary>
+<sets>
+DVIPDF
+DVIPDFFLAGS
+DVIPDFCOM
+</sets>
+<uses>
+DVIPDFCOMSTR
+</uses>
 </tool>
 
 <cvar name="DVIPDF">
index dbfcaf35edf28ed60283635ed9be48e5d4a31eaa..328bb46a3573e6ba2125f76d37f194743aa3bf97 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="dvips">
 <summary>
-XXX
+Sets construction variables for the dvips utility.
 </summary>
+<sets>
+DVIPS
+DVIPSFLAGS
+PSCOM
+PSPREFIX
+PSSUFFIX
+</sets>
+<uses>
+PSCOMSTR
+</uses>
 </tool>
 
 <builder name="PostScript">
index a1d3c3417ca6de63ccb329cab4c5f4968597e3a1..3281bd614d1a3f36aba54e550c841429a0f5e789 100644 (file)
@@ -6,8 +6,36 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="f77">
 <summary>
-XXX
+Set construction variables for generic POSIX Fortran 77 compilers.
 </summary>
+<sets>
+F77
+F77FLAGS
+F77COM
+F77PPCOM
+FORTRAN
+FORTRANFLAGS
+FORTRANCOM
+SHF77
+SHF77FLAGS
+SHF77COM
+SHF77PPCOM
+SHFORTRAN
+SHFORTRANFLAGS
+SHFORTRANCOM
+SHFORTRANPPCOM
+_F77INCFLAGS
+</sets>
+<uses>
+F77COMSTR
+F77PPCOMSTR
+FORTRANCOMSTR
+FORTRANPPCOMSTR
+SHF77COMSTR
+SHF77PPCOMSTR
+SHFORTRANCOMSTR
+SHFORTRANPPCOMSTR
+</uses>
 </tool>
 
 <cvar name="F77">
@@ -140,6 +168,16 @@ for all Fortran versions.
 </summary>
 </cvar>
 
+<cvar name="F77PPCOMSTR">
+<summary>
+The string displayed when a Fortran 77 source file
+is compiled to an object file
+after first running the file through the C preprocessor.
+If this is not set, then &cv-link-F77PPCOM; or &cv-link-FORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
+
 <cvar name="SHF77">
 <summary>
 The Fortran 77 compiler used for generating shared-library objects.
@@ -199,3 +237,13 @@ which specifies the default C-preprocessor command line
 for all Fortran versions.
 </summary>
 </cvar>
+
+<cvar name="SHF77PPCOMSTR">
+<summary>
+The string displayed when a Fortran 77 source file
+is compiled to a shared-library object file
+after first running the file through the C preprocessor.
+If this is not set, then &cv-link-SHF77PPCOM; or &cv-link-SHFORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
index 9159a24d1a6be1c8c9267b8fa312a2dbb8824609..18135a34c8da7b702a9f68f6061b6bd9685b8870 100644 (file)
@@ -6,8 +6,25 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="f90">
 <summary>
-XXX
+Set construction variables for generic POSIX Fortran 90 compilers.
 </summary>
+<sets>
+F90
+F90FLAGS
+F90COM
+F90PPCOM
+SHF90
+SHF90FLAGS
+SHF90COM
+SHF90PPCOM
+_F90INCFLAGS
+</sets>
+<uses>
+F90COMSTR
+F90PPCOMSTR
+SHF90COMSTR
+SHF90PPCOMSTR
+</uses>
 </tool>
 
 <cvar name="F90">
@@ -140,6 +157,15 @@ for all Fortran versions.
 </summary>
 </cvar>
 
+<cvar name="F90PPCOMSTR">
+<summary>
+The string displayed when a Fortran 90 source file
+is compiled after first running the file through the C preprocessor.
+If this is not set, then &cv-link-F90PPCOM; or &cv-link-FORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
+
 <cvar name="SHF90">
 <summary>
 The Fortran 90 compiler used for generating shared-library objects.
@@ -199,3 +225,13 @@ which specifies the default C-preprocessor command line
 for all Fortran versions.
 </summary>
 </cvar>
+
+<cvar name="SHF90PPCOMSTR">
+<summary>
+The string displayed when a Fortran 90 source file
+is compiled to a shared-library object file
+after first running the file through the C preprocessor.
+If this is not set, then &cv-link-SHF90PPCOM; or &cv-link-SHFORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
index e3c026ea083b3801cd8eba025db4d79a9e025926..0882a4546054e2f5888112e3cabe0558fabff5d7 100644 (file)
@@ -6,8 +6,25 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="f95">
 <summary>
-XXX
+Set construction variables for generic POSIX Fortran 95 compilers.
 </summary>
+<sets>
+F95
+F95FLAGS
+F95COM
+F95PPCOM
+SHF95
+SHF95FLAGS
+SHF95COM
+SHF95PPCOM
+_F95INCFLAGS
+</sets>
+<uses>
+F95COMSTR
+F95PPCOMSTR
+SHF95COMSTR
+SHF95PPCOMSTR
+</uses>
 </tool>
 
 <cvar name="F95">
@@ -140,6 +157,16 @@ for all Fortran versions.
 </summary>
 </cvar>
 
+<cvar name="F95PPCOMSTR">
+<summary>
+The string displayed when a Fortran 95 source file
+is compiled to an object file
+after first running the file through the C preprocessor.
+If this is not set, then &cv-link-F95PPCOM; or &cv-link-FORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
+
 <cvar name="SHF95">
 <summary>
 The Fortran 95 compiler used for generating shared-library objects.
@@ -199,3 +226,13 @@ which specifies the default C-preprocessor command line
 for all Fortran versions.
 </summary>
 </cvar>
+
+<cvar name="SHF95PPCOMSTR">
+<summary>
+The string displayed when a Fortran 95 source file
+is compiled to a shared-library object file
+after first running the file through the C preprocessor.
+If this is not set, then &cv-link-SHF95PPCOM; or &cv-link-SHFORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
index c7000af6107645d8a23d1936ef01c334802535ca..6dbe7b0b3bdc783b734dec58d1b84bf2a82ca132 100644 (file)
@@ -6,8 +6,23 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="fortran">
 <summary>
-XXX
+Set construction variables for generic POSIX Fortran compilers.
 </summary>
+<sets>
+FORTRAN
+FORTRANFLAGS
+FORTRANCOM
+SHFORTRAN
+SHFORTRANFLAGS
+SHFORTRANCOM
+SHFORTRANPPCOM
+</sets>
+<uses>
+FORTRANCOMSTR
+FORTRANPPCOMSTR
+SHFORTRANCOMSTR
+SHFORTRANPPCOMSTR
+</uses>
 </tool>
 
 <cvar name="FORTRAN">
@@ -197,6 +212,16 @@ construction variables are included on this command line.
 </summary>
 </cvar>
 
+<cvar name="FORTRANPPCOMSTR">
+<summary>
+The string displayed when a Fortran source file
+is compiled to an object file
+after first running the file throught the C preprocessor.
+If this is not set, then &cv-link-FORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
+
 <cvar name="FORTRANSUFFIXES">
 <summary>
 The list of suffixes of files that will be scanned
@@ -251,3 +276,13 @@ in the &cv-link-SHFORTRANFLAGS; and
 are included on this command line.
 </summary>
 </cvar>
+
+<cvar name="SHFORTRANPPCOMSTR">
+<summary>
+The string displayed when a Fortran source file
+is compiled to a shared-library object file
+after first running the file throught the C preprocessor.
+If this is not set, then &cv-link-SHFORTRANPPCOM;
+(the command line) is displayed.
+</summary>
+</cvar>
index 4991811956b40cd8046fac70ebd2c766ec45c104..79444b9afc1ff8c67bc49ba3a7f1963f08d1cd16 100644 (file)
@@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="g++">
 <summary>
-XXX
+Set construction variables for the &gXX; C++ compiler.
 </summary>
+<sets>
+CXX
+SHCXXFLAGS
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+SHOBJSUFFIX
+CXXVERSION
+</sets>
 </tool>
index 6357f94d5fdf6f63358dc42c2e6fb50b7166b02b..96d6f874d96a2a39845970903cc9aa798d89fad1 100644 (file)
@@ -6,6 +6,8 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="g77">
 <summary>
-XXX
+Set construction variables for the &g77; Fortran compiler.
+Calls the &t-f77; Tool module
+to set variables.
 </summary>
 </tool>
index 19ad1a902ff0482c13848de52dd80af76e2a2e41..62bad7b3761587091b86584884ba153f2bcd7fe7 100644 (file)
@@ -6,6 +6,10 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="gas">
 <summary>
-XXX
+Sets construction variables for the &gas; assembler.
+Calls the &t-as; module.
 </summary>
+<sets>
+AS
+</sets>
 </tool>
index 15f19cf0f144e15833b14649211b46d7196bd55d..f36a5ebf325ebd38b5cc61e3406206cef1d587c7 100644 (file)
@@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="gcc">
 <summary>
-XXX
+Set construction variables for the &gcc; C compiler.
 </summary>
+<sets>
+CC
+SHCCFLAGS
+CCVERSION
+</sets>
 </tool>
index d454af445770f5cef5243c5fe093d946eac5c9f0..d822081dea1058c63364dba23d13fdac2d91429a 100644 (file)
@@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="gnulink">
 <summary>
-XXX
+Set construction variables for GNU linker/loader.
 </summary>
+<sets>
+SHLINKFLAGS
+RPATHPREFIX
+RPATHSUFFIX
+</sets>
 </tool>
index 9a63e94d28ad708c5869111de363633ea37f24dc..2376735dd84966f955ba5eb170c2d084dfc2989c 100644 (file)
@@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="gs">
 <summary>
-XXX
+Set construction variables for Ghostscript.
 </summary>
+<sets>
+GS
+GSFLAGS
+GSCOM
+</sets>
+<uses>
+GSCOMSTR
+</uses>
 </tool>
 
 <cvar name="GS">
index ca0314c9dbd82d69e349b6b5bdd23159ef4ccc26..893907a6f63238807218289db759cfcf4a0a472e 100644 (file)
@@ -6,6 +6,6 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="hpc++">
 <summary>
-XXX
+Set construction variables for the compilers aCC on HP/UX systems.
 </summary>
 </tool>
index 9f63b5538dde5874f50f3250b265637e9710d74e..62a1ca43d31fd9201dea032694ef1e9c224a9e97 100644 (file)
@@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="hpcc">
 <summary>
-XXX
+Set construction variables for the
+<application>aCC</application> on HP/UX systems.
+Calls the &t-cXX; tool for additional variables.
 </summary>
+<sets>
+CXX
+SHCXXFLAGS
+CXXVERSION
+</sets>
 </tool>
index 1bd3b78afa2b3558a1d61fd6baf9e2b9434b7b33..6a450179f05f32ef10af5898f754f7574fe0a243 100644 (file)
@@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="hplink">
 <summary>
-XXX
+Sets construction variables for the linker on HP/UX systems.
 </summary>
+<sets>
+LINKFLAGS
+SHLINKFLAGS
+SHLIBSUFFIX
+</sets>
 </tool>
index c41486e6d537fb9cafec09e9dafad7dbc44e0b9e..a585f3f21a8fb9ec1960eaba214bee5a4e96dc5f 100644 (file)
@@ -6,6 +6,25 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="icc">
 <summary>
-XXX
+Sets construction variables for the
+<application>icc</application> compiler on OS/2 systems.
 </summary>
+<sets>
+CC
+CCCOM
+CXXCOM
+CPPDEFPREFIX
+CPPDEFSUFFIX
+INCPREFIX
+INCSUFFIX
+CFILESUFFIX
+CXXFILESUFFIX
+</sets>
+<uses>
+CFLAGS
+CCFLAGS
+CPPFLAGS
+_CPPDEFFLAGS
+_CPPINCFLAGS
+</uses>
 </tool>
index 5b8c3559241cede721077d5baae63bba45fcfe0a..13b63926ad8d1e7b4329e4e8c3c4c5fa3c7afda0 100644 (file)
@@ -6,6 +6,7 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="icl">
 <summary>
-XXX
+Sets construction variables for the Intel C/C++ compiler.
+Calls the &t-intelc; Tool module to set its variables.
 </summary>
 </tool>
index 4b5b912dcf6e763eeff6e47bd15216679f4c58e4..06f242757704c1625cfad719f98ac2f42393b5a7 100644 (file)
@@ -6,6 +6,19 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="ifl">
 <summary>
-XXX
+Sets construction variables for the Intel Fortran compiler.
 </summary>
+<sets>
+FORTRAN
+FORTRANCOM
+FORTRANPPCOM
+SHFORTRANCOM
+SHFORTRANPPCOM
+</sets>
+<uses>
+FORTRANFLAGS
+_FORTRANINCFLAGS
+CPPFLAGS
+_CPPDEFFLAGS
+</uses>
 </tool>
index 0303dec5897813a3445189d35a1c3679f36210eb..20950f80260e53f20c530082115cb2b802192004 100644 (file)
@@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="ifort">
 <summary>
-XXX
+Sets construction variables for newer versions
+of the Intel Fortran compiler for Linux.
 </summary>
+<sets>
+SHLINK
+SHLINKFLAGS
+</sets>
 </tool>
index 03acfa4af932671be1038e06f9919e57ecb785ac..2b29b30c4bbbc2afe2896b72c47936b194a7f1a5 100644 (file)
@@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="ilink">
 <summary>
-XXX
+Sets construction variables for the
+<application>ilink</application> linker on OS/2 systems.
 </summary>
+<sets>
+LINK
+LINKFLAGS
+LINKCOM
+LIBDIRPREFIX
+LIBDIRSUFFIX
+LIBLINKPREFIX
+LIBLINKSUFFIX
+</sets>
+<uses>
+</uses>
 </tool>
index 370d0464a05adb2bfc95eea7f946eccbd3e96280..49e868b9553cdd21837b468eacd7101ada8df71f 100644 (file)
@@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="ilink32">
 <summary>
-XXX
+Sets construction variables for the Borland
+<application>ilink32</application> linker.
 </summary>
+<sets>
+LINK
+LINKFLAGS
+LINKCOM
+LIBDIRPREFIX
+LIBDIRSUFFIX
+LIBLINKPREFIX
+LIBLINKSUFFIX
+</sets>
+<uses>
+</uses>
 </tool>
index 0141c22f89666713fa4dff384b94d5194b1e7d15..0abc2a7eade38fed09cebaa0b0a2ce811806218d 100644 (file)
@@ -6,8 +6,22 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="intelc">
 <summary>
-XXX
+Sets construction variables for the Intel C/C++ compiler
+(Linux and Windows, version 7 and later).
+Calls the &t-gcc; or &t-msvc;
+(on Linux and Windows, respectively)
+to set underlying variables.
 </summary>
+<sets>
+CC
+CXX
+LINK
+AR
+<!--LD-->
+INTEL_C_COMPILER_VERSION
+</sets>
+<uses>
+</uses>
 </tool>
 
 <cvar name="INTEL_C_COMPILER_VERSION">
index 488459b7fd3afe648b4bf60c3d35464fc4011f60..0deaaaeb9ad575087bb2433b6fc4453d21ceb719 100644 (file)
@@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="jar">
 <summary>
-XXX
+Sets construction variables for the &jar; utility.
 </summary>
+<sets>
+JAR
+JARFLAGS
+JARCOM
+JARSUFFIX
+</sets>
+<uses>
+JARCOMSTR
+</uses>
 </tool>
 
 <builder name="Jar">
index 400a23b273d961910fc454d1cbafcc6b8bd7662f..6c28e8cca789c55519226e6208d23ee6d88999f5 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="javac">
 <summary>
-XXX
+Sets construction variables for the &javac; compiler.
 </summary>
+<sets>
+JAVAC
+JAVACFLAGS
+JAVACCOM
+JAVACLASSSUFFIX
+JAVASUFFIX
+</sets>
+<uses>
+JAVACCOMSTR
+</uses>
 </tool>
 
 <builder name="Java">
index 75d0efb59ae113c50074a95ace2ccd5cc9d3463e..c6487e7c279387e5bfc18b7c90d189c51d29cafc 100644 (file)
@@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="javah">
 <summary>
-XXX
+Sets construction variables for the &javah; tool.
 </summary>
+<sets>
+JAVAH
+JAVAHFLAGS
+JAVAHCOM
+JAVACLASSSUFFIX
+</sets>
+<uses>
+JAVAHCOMSTR
+</uses>
 </tool>
 
 <builder name="JavaH">
index 35eea30a5e5ef8c2b77b21accf8a56e59183736c..1584e0fe35e991741c073e44f373cdcf0f55ffe0 100644 (file)
@@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="latex">
 <summary>
-XXX
+Sets construction variables for the &latex; utility.
 </summary>
+<sets>
+LATEX
+LATEXFLAGS
+LATEXCOM
+</sets>
+<uses>
+LATEXCOMSTR
+</uses>
 </tool>
 
 <cvar name="LATEX">
index d67feb08f70696418df84a3fc9d7f3fa91ddc6b8..d7d86d02ba3c360a2fd2ed3f417ba73f4b6ec759 100644 (file)
@@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="lex">
 <summary>
-XXX
+Sets construction variables for the &lex; lexical analyser.
 </summary>
+<sets>
+LEX
+LEXFLAGS
+LEXCOM
+</sets>
+<uses>
+LEXCOMSTR
+</uses>
 </tool>
 
 <cvar name="LEX">
index 0728ddaddef8842e4413a1c97773ca12ed8438a3..8737bea4d3d5b14f23d759f850a346e0e6bfcfcc 100644 (file)
@@ -6,8 +6,31 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="link">
 <summary>
-XXX
+Sets construction variables for generic POSIX linkers.
 </summary>
+<sets>
+SHLINK
+SHLINKFLAGS
+SHLINKCOM
+LINK
+LINKFLAGS
+LINKCOM
+LIBDIRPREFIX
+LIBDIRSUFFIX
+LIBLINKPREFIX
+LIBLINKSUFFIX
+SHLIBSUFFIX
+LDMODULE
+LDMODULEPREFIX
+LDMODULESUFFIX
+LDMODULEFLAGS
+LDMODULECOM
+</sets>
+<uses>
+SHLINKCOMSTR
+LINKCOMSTR
+LDMODULECOMSTR
+</uses>
 </tool>
 
 <cvar name="LDMODULE">
index 58ffc483a78ca276da87e881b3c467ba3cdb737d..e8a54f496dea871ed2a4429117c5734a37245fc8 100644 (file)
@@ -6,6 +6,26 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="linkloc">
 <summary>
-XXX
+Sets construction variables for the
+<application>LinkLoc</application>
+linker for the Phar Lap ETS embedded operating system.
 </summary>
+<sets>
+<!--SUBST_CMD_FILE-->
+SHLINK
+SHLINKFLAGS
+SHLINKCOM
+<!--SHLINKEMITTER-->
+LINK
+LINKFLAGS
+LINKCOM
+LIBDIRPREFIX
+LIBDIRSUFFIX
+LIBLINKPREFIX
+LIBLINKSUFFIX
+</sets>
+<uses>
+SHLINKCOMSTR
+LINKCOMSTR
+</uses>
 </tool>
index 0ee421e543e30ce620ac33c52f22480fa3009c6f..63d16bee1c84855290945f677321461f91b5d34d 100644 (file)
@@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="m4">
 <summary>
-XXX
+Sets construction variables for the &m4; macro processor.
 </summary>
+<sets>
+M4
+M4FLAGS
+M4COM
+</sets>
+<uses>
+M4COMSTR
+</uses>
 </tool>
 
 <builder name="M4">
index ee1ed1d7d428a619b41e414faba247cefee35fac..614da1fc27df94c8ef12f7ecfd5f775c39ce1c57 100644 (file)
@@ -6,6 +6,21 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="masm">
 <summary>
-XXX
+Sets construction variables for the Microsoft assembler.
 </summary>
+<sets>
+AS
+ASFLAGS
+ASPPFLAGS
+ASCOM
+ASPPCOM
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+</sets>
+<uses>
+ASCOMSTR
+ASPPCOMSTR
+CPPFLAGS
+_CPPDEFFLAGS
+_CPPINCFLAGS
+</uses>
 </tool>
index 8885785fad7359d427f31863dc0131f012dbf2b1..2698aa6955ff5667234cf0cbc89815081fa75c49 100644 (file)
@@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="midl">
 <summary>
-XXX
+Sets construction variables for the Microsoft IDL compiler.
 </summary>
+<sets>
+MIDL
+MIDLFLAGS
+MIDLCOM
+</sets>
+<uses>
+MIDLCOMSTR
+</uses>
 </tool>
 
 <builder name="TypeLibrary">
@@ -32,3 +40,29 @@ and
 files.
 </summary>
 </builder>
+
+<cvar name="MIDL">
+<summary>
+The Microsoft IDL compiler.
+</summary>
+</cvar>
+
+<cvar name="MIDLCOM">
+<summary>
+The command line used to pass files to the Microsoft IDL compiler.
+</summary>
+</cvar>
+
+<cvar name="MIDLCOMSTR">
+<summary>
+The string displayed when
+the Microsoft IDL copmiler is called.
+If this is not set, then &cv-link-MIDLCOM; (the command line) is displayed.
+</summary>
+</cvar>
+
+<cvar name="MIDLFLAGS">
+<summary>
+General options passed to the Microsoft IDL compiler.
+</summary>
+</cvar>
index 9f9cf1f365383a60f6ced9b7f1b1d7ee939d6a43..048124c91efb8f780d02c5a8575a31a7877e23d5 100644 (file)
@@ -6,6 +6,32 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="mingw">
 <summary>
-XXX
+Sets construction variables for MinGW (Minimal Gnu on Windows).
 </summary>
+<sets>
+CC
+SHCCFLAGS
+CXX
+SHCXXFLAGS
+SHLINKFLAGS
+SHLINKCOM
+AS
+WINDOWSDEFPREFIX
+WINDOWSDEFSUFFIX
+SHOBJSUFFIX
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+RC
+RCFLAGS
+RCINCFLAGS
+RCINCPREFIX
+RCINCSUFFIX
+RCCOM
+OBJSUFFIX
+LIBPREFIX
+LIBSUFFIX
+</sets>
+<uses>
+SHLINKCOMSTR
+RCCOMSTR
+</uses>
 </tool>
index 9d56fd5c24412d13cf42d8534165964de17ddd34..014ca9b5087c465a05b1c12a81c7375ace20de6d 100644 (file)
@@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="mslib">
 <summary>
-XXX
+Sets construction variables for the Microsoft
+<application>mslib</application>
+library archiver.
 </summary>
+<sets>
+AR
+ARFLAGS
+ARCOM
+LIBPREFIX
+LIBSUFFIX
+</sets>
+<uses>
+ARCOMSTR
+</uses>
 </tool>
index 160d415089c6e5d9b77437c4f35e53fff1bec6ea..6ad9dead0ab927966bb2044c5e0345f7f65dad31 100644 (file)
@@ -6,8 +6,49 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="mslink">
 <summary>
-XXX
-</summary>
+Sets construction variables for the Microsoft linker.
+</summary>
+<sets>
+SHLINK
+SHLINKFLAGS
+SHLINKCOM
+LINK
+LINKFLAGS
+LINKCOM
+LIBDIRPREFIX
+LIBDIRSUFFIX
+LIBLINKPREFIX
+LIBLINKSUFFIX
+WIN32DEFPREFIX
+WIN32DEFSUFFIX
+WINDOWSDEFPREFIX
+WINDOWSDEFSUFFIX
+WINDOWS_INSERT_DEF
+WIN32EXPPREFIX
+WIN32EXPSUFFIX
+WINDOWSEXPPREFIX
+WINDOWSEXPSUFFIX
+WINDOWSSHLIBMANIFESTPREFIX
+WINDOWSSHLIBMANIFESTSUFFIX
+WINDOWSPROGMANIFESTPREFIX
+WINDOWSPROGMANIFESTSUFFIX
+<!--REGSVRACTION-->
+REGSVR
+REGSVRFLAGS
+REGSVRCOM
+LDMODULE
+LDMODULEPREFIX
+LDMODULESUFFIX
+LDMODULEFLAGS
+LDMODULECOM
+</sets>
+<uses>
+SHLINKCOMSTR
+LINKCOMSTR
+REGSVRCOMSTR
+MSVS_IGNORE_IDE_PATHS
+LDMODULECOMSTR
+</uses>
 </tool>
 
 <cvar name="no_import_lib">
index 0ea260269014118dc7fa4abd5a3209d9589c0440..b85c7aa0cf87b826beace08760a8c3f5da338f5f 100644 (file)
@@ -6,8 +6,50 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="msvc">
 <summary>
-XXX
+Sets construction variables for the Microsoft Visual C/C++ compiler.
 </summary>
+<sets>
+CCPDBFLAGS
+CCPCHFLAGS
+<!--CCCOMFLAGS-->
+CC
+CCFLAGS
+CFLAGS
+CCCOM
+SHCC
+SHCCFLAGS
+SHCFLAGS
+SHCCCOM
+CXX
+CXXFLAGS
+CXXCOM
+SHCXX
+SHCXXFLAGS
+SHCXXCOM
+CPPDEFPREFIX
+CPPDEFSUFFIX
+INCPREFIX
+INCSUFFIX
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+RC
+RCFLAGS
+RCCOM
+BUILDERS
+OBJPREFIX
+OBJSUFFIX
+SHOBJPREFIX
+SHOBJSUFFIX
+CFILESUFFIX
+CXXFILESUFFIX
+PCHPDBFLAGS
+PCHCOM
+</sets>
+<uses>
+CCCOMSTR
+SHCCCOMSTR
+CXXCOMSTR
+SHCXXCOMSTR
+</uses>
 </tool>
 
 <builder name="PCH">
@@ -127,6 +169,14 @@ If this is not set, then &cv-link-PCHCOM; (the command line) is displayed.
 </summary>
 </cvar>
 
+<cvar name="PCHPDBFLAGS">
+<summary>
+A construction variable that, when expanded,
+adds the <literal>/yD</literal> flag to the command line
+only if the &cv-PDB; construction variable is set.
+</summary>
+</cvar>
+
 <cvar name="PCHSTOP">
 <summary>
 This variable specifies how much of a source file is precompiled. This
@@ -169,3 +219,36 @@ If this is not set, then &cv-link-RCCOM; (the command line) is displayed.
 The flags passed to the resource compiler by the RES builder.
 </summary>
 </cvar>
+
+<cvar name="RCINCFLAGS">
+<summary>
+An automatically-generated construction variable
+containing the command-line options
+for specifying directories to be searched
+by the resource compiler.
+The value of &cv-RCINCFLAGS; is created
+by appending &cv-RCINCPREFIX; and &cv-RCINCSUFFIX;
+to the beginning and end
+of each directory in &cv-CPPPATH;.
+</summary>
+</cvar>
+
+<cvar name="RCINCPREFIX">
+<summary>
+The prefix (flag) used to specify an include directory
+on the resource compiler command line.
+This will be appended to the beginning of each directory
+in the &cv-CPPPATH; construction variable
+when the &cv-RCINCFLAGS; variable is expanded.
+</summary>
+</cvar>
+
+<cvar name="RCINCSUFFIX">
+<summary>
+The suffix used to specify an include directory
+on the resource compiler command line.
+This will be appended to the end of each directory
+in the &cv-CPPPATH; construction variable
+when the &cv-RCINCFLAGS; variable is expanded.
+</summary>
+</cvar>
index 07fda0c39d4864328ed2b16f1614bb590632fec4..2bf02f8d269178516e174c24be83a1004efd9e4a 100644 (file)
@@ -6,8 +6,22 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="msvs">
 <summary>
-XXX
+Sets construction variables for Microsoft Visual Studio.
 </summary>
+<sets>
+MSVSPROJECTCOM
+MSVSSOLUTIONCOM
+MSVSSCONSCRIPT
+MSVSSCONS
+MSVSSCONSFLAGS
+MSVSSCONSCOM
+MSVSBUILDCOM
+MSVSREBUILDCOM
+MSVSCLEANCOM
+MSVSENCODING
+</sets>
+<uses>
+</uses>
 </tool>
 
 <builder name ="MSVSProject">
@@ -373,9 +387,15 @@ There is no default value.
 Tells the MS Visual Studio tool(s) to use
 the MFC directories in its default paths
 for compiling and linking.
-Under MSVS version 6,
+The &cv-MSVS_USE_MFC_DIRS; variable has no effect if the
+<envar>INCLUDE</envar>
+or
+<envar>LIB</envar>
+environment variables are set explictly.
+
+Under Visual Studio version 6,
 setting
-<envar>MSVS_USE_MFC_DIRS</envar>
+&cv-MSVS_USE_MFC_DIRS;
 to a non-zero value
 adds the
 <filename>ATL\include</filename>
@@ -386,42 +406,57 @@ the default
 <envar>INCLUDE</envar>
 external environment variable,
 and adds the
-<envar>MFC\lib</envar>
+<filename>MFC\lib</filename>
 directory to
 the default
 <envar>LIB</envar>
 external environment variable.
-Under MSVS version 7,
+
+Under Visual Studio version 7,
 setting
-<envar>MSVS_USE_MFC_DIRS</envar>
+&cv-MSVS_USE_MFC_DIRS;
 to a non-zero value
 adds the
-<envar>atlmfc\include</envar>
+<filename>atlmfc\include</filename>
 directory to the default
 <envar>INCLUDE</envar>
 external environment variable,
 and adds the
-<envar>atlmfc\lib</envar>
+<filename>atlmfc\lib</filename>
 directory to the default
 <envar>LIB</envar>
 external environment variable.
-The current default value is
-<literal>1</literal>,
-which means these directories
-are added to the paths by default.
-This default value is likely to change
-in a future release,
-so users who want the ATL and MFC
-values included in their paths
-are encouraged to enable the
-<envar>MSVS_USE_MFC_DIRS</envar>
-value explicitly
-to avoid future incompatibility.
-This variable has no effect if the
+
+Under Visual Studio version 8,
+setting
+&cv-MSVS_USE_MFC_DIRS;
+to a non-zero value will,
+by default,
+add the
+<filename>atlmfc\include</filename>
+directory to the default
 <envar>INCLUDE</envar>
-or
+external environment variable,
+and the
+<filename>atlmfc\lib</filename>
+directory to the default
 <envar>LIB</envar>
-environment variables are set explictly.
+external environment variable.
+If, however, the
+<envar>['MSVS']['PLATFORMSDKDIR']</envar>
+variable is set,
+then the
+<filename>mfc</filename>
+and the
+<filename>atl</filename>
+subdirectories of the
+<envar>PLATFORMSDKDIR</envar>
+are added to the default value of the
+<envar>INCLUDE</envar>
+external environment variable,
+and the default value of the
+<envar>LIB</envar>
+external environment variable is left untouched.
 </summary>
 </cvar>
 
index 443eda75637a5fdbcdeef3d4faba58486471e8fe..5ea07ee3e83f4ca5c170fc034f95567983235a8f 100644 (file)
@@ -6,8 +6,36 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="mwcc">
 <summary>
-XXX
+Sets construction variables for the Metrowerks CodeWarrior compiler.
 </summary>
+<sets>
+MWCW_VERSIONS
+MWCW_VERSION
+<!--CCCOMFLAGS-->
+CC
+CCCOM
+CXX
+CXXCOM
+SHCC
+SHCCFLAGS
+SHCFLAGS
+SHCCCOM
+SHCXX
+SHCXXFLAGS
+SHCXXCOM
+CFILESUFFIX
+CXXFILESUFFIX
+CPPDEFPREFIX
+CPPDEFSUFFIX
+INCPREFIX
+INCSUFFIX
+</sets>
+<uses>
+CCCOMSTR
+CXXCOMSTR
+SHCCCOMSTR
+SHCXXCOMSTR
+</uses>
 </tool>
 
 <cvar name="MWCW_VERSION">
index 9943927eb65a9b85a1cbdf3fd4d56f4c6a0afdbc..c2b0d6359e866d5a3c477fa87ad7595f879e9d43 100644 (file)
@@ -6,6 +6,22 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="mwld">
 <summary>
-XXX
+Sets construction variables for the Metrowerks CodeWarrior linker.
 </summary>
+<sets>
+AR
+ARCOM
+LIBDIRPREFIX
+LIBDIRSUFFIX
+LIBLINKPREFIX
+LIBLINKSUFFIX
+LINK
+LINKCOM
+SHLINK
+SHLINKFLAGS
+SHLINKCOM
+<!--SHLIBEMITTER-->
+</sets>
+<uses>
+</uses>
 </tool>
index 071f5378013f7d423ab9dcd49ac7f9f484712365..d2cb5c2b52ff1a09cc3e64c5dd608ad217c6a652 100644 (file)
@@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="nasm">
 <summary>
-XXX
+Sets construction variables for the
+<application>nasm</application> Netwide Assembler.
 </summary>
+<sets>
+AS
+ASFLAGS
+ASPPFLAGS
+ASCOM
+ASPPCOM
+</sets>
+<uses>
+ASCOMSTR
+ASPPCOMSTR
+</uses>
 </tool>
index 1e447dda073db8bcd3b9b832e633437f2e826e43..c3a4eed2fd22d3940820a6d01aea1b06ea6ecaea 100644 (file)
@@ -4,6 +4,16 @@ __COPYRIGHT__
 This file is processed by the bin/SConsDoc.py module.
 See its __doc__ string for a discussion of the format.
 -->
+<tool name="pdf">
+<summary>
+Sets construction variables for the Portable Document Format builder.
+</summary>
+<sets>
+PDFPREFIX
+PDFSUFFIX
+</sets>
+</tool>
+
 <builder name="PDF">
 <summary>
 Builds a <filename>.pdf</filename> file
index e9fe793ed36ffd6bfb0170e0e90a4ff760d26034..71f625611f7424ab62703c86d403de592cd8c2b8 100644 (file)
@@ -6,6 +6,44 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="pdflatex">
 <summary>
-XXX
+Sets construction variables for the &pdflatex; utility.
 </summary>
+<sets>
+PDFLATEX
+PDFLATEXFLAGS
+PDFLATEXCOM
+LATEXRETRIES
+</sets>
+<uses>
+PDFLATEXCOMSTR
+</uses>
 </tool>
+
+<cvar name="PDFLATEX">
+<summary>
+The &pdflatex; utility.
+</summary>
+</cvar>
+
+<cvar name="PDFLATEXCOM">
+<summary>
+The command line used to call the &pdflatex; utility.
+</summary>
+</cvar>
+
+<cvar name="PDFLATEXCOMSTR">
+<summary>
+The string displayed when calling the &pdflatex; utility.
+If this is not set, then &cv-link-PDFLATEXCOM; (the command line) is displayed.
+
+<example>
+env = Environment(PDFLATEX;COMSTR = "Building $TARGET from LaTeX input $SOURCES")
+</example>
+</summary>
+</cvar>
+
+<cvar name="PDFLATEXFLAGS">
+<summary>
+General options passed to the &pdflatex; utility.
+</summary>
+</cvar>
index 47e4138a298d9d340fd16fad6452a1f5da6698bc..a895d6f3ac0546fd1f76ac4d3ac2273fdcdde8b5 100644 (file)
@@ -6,6 +6,48 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="pdftex">
 <summary>
-XXX
+Sets construction variables for the &pdftex; utility.
 </summary>
+<sets>
+PDFTEX
+PDFTEXFLAGS
+PDFTEXCOM
+PDFLATEX
+PDFLATEXFLAGS
+PDFLATEXCOM
+LATEXRETRIES
+</sets>
+<uses>
+PDFTEXCOMSTR
+PDFLATEXCOMSTR
+</uses>
 </tool>
+
+<cvar name="PDFTEX">
+<summary>
+The &pdftex; utility.
+</summary>
+</cvar>
+
+<cvar name="PDFTEXCOM">
+<summary>
+The command line used to call the &pdftex; utility.
+</summary>
+</cvar>
+
+<cvar name="PDFTEXCOMSTR">
+<summary>
+The string displayed when calling the &pdftex; utility.
+If this is not set, then &cv-link-PDFTEXCOM; (the command line) is displayed.
+
+<example>
+env = Environment(PDFTEXCOMSTR = "Building $TARGET from TeX input $SOURCES")
+</example>
+</summary>
+</cvar>
+
+<cvar name="PDFTEXFLAGS">
+<summary>
+General options passed to the &pdftex; utility.
+</summary>
+</cvar>
index 4b11cbcc5e1eee1262551a698202023cfcb5a675..66fe5545b7cc16372d937b5770a71853311c441f 100644 (file)
@@ -6,8 +6,36 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="qt">
 <summary>
-XXX
+Sets construction variables for building Qt applications.
 </summary>
+<sets>
+QTDIR
+QT_BINPATH
+QT_CPPPATH
+QT_LIBPATH
+QT_MOC
+QT_UIC
+QT_LIB
+QT_AUTOSCAN
+QT_UICIMPLFLAGS
+QT_UICDECLFLAGS
+QT_MOCFROMHFLAGS
+QT_MOCFROMCXXFLAGS
+QT_UICDECLPREFIX
+QT_UICDECLSUFFIX
+QT_UICIMPLPREFIX
+QT_UICIMPLSUFFIX
+QT_MOCHPREFIX
+QT_MOCHSUFFIX
+QT_MOCCXXPREFIX
+QT_MOCCXXSUFFIX
+QT_UISUFFIX
+QT_UICCOM
+QT_MOCFROMHCOM
+QT_MOCFROMCXXCOM
+</sets>
+<uses>
+</uses>
 </tool>
 
 <builder name="Moc">
@@ -168,10 +196,10 @@ file.
 </summary>
 </cvar>
 
-<cvar name="QT_MOCFROMCPPFLAGS">
+<cvar name="QT_MOCFROMCXXFLAGS">
 <summary>
 Default value is '-i'. These flags are passed to moc, when moccing a
-cpp file.
+C++ file.
 </summary>
 </cvar>
 
index 63511e54dbe4155a21a3a1578b0f4ad813b6351a..ff13f48f936376856098e8ded7452938ddf56bff 100644 (file)
@@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="rmic">
 <summary>
-XXX
+Sets construction variables for the &rmic; utility.
 </summary>
+<sets>
+RMIC
+RMICFLAGS
+RMICCOM
+JAVACLASSSUFFIX
+</sets>
+<uses>
+RMICCOMSTR
+</uses>
 </tool>
 
 <builder name="RMIC">
index a3adb224d4b8d2acff8d603c8238f8684212059a..dd774168f8e74d79ea74db4a359f28327ee6bcfe 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="rpcgen">
 <summary>
-XXX
+Sets construction variables for building with RPCGEN.
 </summary>
+<sets>
+RPCGEN
+RPCGENFLAGS
+RPCGENCLIENTFLAGS
+RPCGENHEADERFLAGS
+RPCGENSERVICEFLAGS
+RPCGENXDRFLAGS
+</sets>
+<uses>
+</uses>
 </tool>
 
 <builder name="RPCGenClient">
index ccea1ca800e8ec1ba2e3fb6d533b11a1cac5c6e1..63debc43463b2b11f5c2a10eef83d02a00cdc765 100644 (file)
@@ -6,6 +6,19 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="sgiar">
 <summary>
-XXX
+Sets construction variables for the SGI library archiver.
 </summary>
+<sets>
+AR
+ARFLAGS
+ARCOMSTR
+SHLINK
+SHLINKFLAGS
+LIBPREFIX
+LIBSUFFIX
+</sets>
+<uses>
+ARCOMSTR
+SHLINKCOMSTR
+</uses>
 </tool>
index a507f7948a9a2e6e70f3091faec910c4f3033be3..a933ac2ddb0561063e420ac5c08353ae7dbc3f5f 100644 (file)
@@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="sgic++">
 <summary>
-XXX
+Sets construction variables for the SGI C++ compiler.
 </summary>
+<sets>
+CXX
+CXXFLAGS
+SHCXX
+SHOBJSUFFIX
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+</sets>
 </tool>
index 285ae8c51960cb60091dbcbc565c70e113275ed7..152b841c7910955bdbfca6d64f383ad144810ca9 100644 (file)
@@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="sgicc">
 <summary>
-XXX
+Sets construction variables for the SGI C compiler.
 </summary>
+<sets>
+CXX
+SHOBJSUFFIX
+<!--STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME-->
+</sets>
+<uses>
+</uses>
 </tool>
index 8fa8f7d7cd3e4ccc8bf2b2e7c70d790327137902..23039725ed58341f84dc5446202399aeb6707459 100644 (file)
@@ -6,6 +6,12 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="sgilink">
 <summary>
-XXX
+Sets construction variables for the SGI linker.
 </summary>
+<sets>
+LINK
+SHLINKFLAGS
+RPATHPREFIX
+RPATHSUFFIX
+</sets>
 </tool>
index e22563d8dcd7e221a86ceb7a7bd337bd001842d5..884a8644d4df0fdfc9d25cf580e44f566c2c4bf1 100644 (file)
@@ -6,6 +6,20 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="sunar">
 <summary>
-XXX
+Sets construction variables for the Sun library archiver.
 </summary>
+<sets>
+AR
+ARFLAGS
+ARCOM
+SHLINK
+SHLINKFLAGS
+SHLINKCOM
+LIBPREFIX
+LIBSUFFIX
+</sets>
+<uses>
+ARCOMSTR
+SHLINKCOMSTR
+</uses>
 </tool>
index c18dd9090ba703625b7f63fa51d68cb83a911797..6eb2920d20306b1baaa38cb043ef5628efbb9d97 100644 (file)
@@ -6,6 +6,14 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="sunc++">
 <summary>
-XXX
+Sets construction variables for the Sun C++ compiler.
 </summary>
+<sets>
+CXX
+SHCXX
+CXXVERSION
+SHCXXFLAGS
+SHOBJPREFIX
+SHOBJSUFFIX
+</sets>
 </tool>
index 9f6d3408eb8667c6ea1c59192d78162dae809268..da91d1240f384454d73e2558ceee36382f214892 100644 (file)
@@ -6,6 +6,12 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="suncc">
 <summary>
-XXX
+Sets construction variables for the Sun C compiler.
 </summary>
+<sets>
+CXX
+SHCCFLAGS
+SHOBJPREFIX
+SHOBJSUFFIX
+</sets>
 </tool>
index 6cad24f7d4830e7972a478aa300f3898f1307053..083d4289a32b6244e153f631c3c055e7bc7ae5da 100644 (file)
@@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="sunlink">
 <summary>
-XXX
+Sets construction variables for the Sun linker.
 </summary>
+<sets>
+SHLINKFLAGS
+RPATHPREFIX
+RPATHSUFFIX
+</sets>
 </tool>
index 05faff2e0fe5b3b492525a0acd7e880286c41c91..d277d64277e9d0c7a9585983511fdcdd500359b5 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="swig">
 <summary>
-XXX
+Sets construction variables for the SWIG interface generator.
 </summary>
+<sets>
+SWIG
+SWIGFLAGS
+SWIGCFILESUFFIX
+SWIGCXXFILESUFFIX
+SWIGCOM
+</sets>
+<uses>
+SWIGCOMSTR
+</uses>
 </tool>
 
 <cvar name="SWIG">
index 763df545ee2e55ec91303b46efec58c4231f743a..8cf407d9687adad28df1199aebc7ad62654f6679 100644 (file)
@@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="tar">
 <summary>
-XXX
+Sets construction variables for the &tar; archiver.
 </summary>
+<sets>
+TAR
+TARFLAGS
+TARCOM
+TARSUFFIX
+</sets>
+<uses>
+TARCOMSTR
+</uses>
 </tool>
 
 <builder name="Tar">
index 4cfc252c15fb38946b41246bb677f6e5749204da..80a84cc1988efbaed2ee40647f83563c3a6d9299 100644 (file)
@@ -6,8 +6,28 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="tex">
 <summary>
-XXX
+Sets construction variables for the TeX formatter and typesetter.
 </summary>
+<sets>
+TEX
+TEXFLAGS
+TEXCOM
+LATEX
+LATEXFLAGS
+LATEXCOM
+BIBTEX
+BIBTEXFLAGS
+BIBTEXCOM
+MAKEINDEX
+MAKEINDEXFLAGS
+MAKEINDEXCOM
+</sets>
+<uses>
+TEXCOMSTR
+LATEXCOMSTR
+BIBTEXCOMSTR
+MAKEINDEXCOMSTR
+</uses>
 </tool>
 
 <cvar name="BIBTEX">
index 9415c7d319d9ebf9e3fe82a2e41fa6db8957e40d..55179d3a07d79f6e52993a52f7bcf9fb21e8c057 100644 (file)
@@ -6,6 +6,17 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="tlib">
 <summary>
-XXX
+Sets construction variables for the Borlan
+<application>tib</application> library archiver.
 </summary>
+<sets>
+AR
+ARFLAGS
+ARCOM
+LIBPREFIX
+LIBSUFFIX
+</sets>
+<uses>
+ARCOMSTR
+</uses>
 </tool>
index a6ad9b4b6686622bb7c256099ee55845c4bb6bab..2db06030dfcd6ec5932739a67113ea55310997f8 100644 (file)
@@ -6,8 +6,19 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="yacc">
 <summary>
-XXX
+Sets construction variables for the &yacc; parse generator.
 </summary>
+<sets>
+YACC
+YACCFLAGS
+YACCCOM
+YACCHFILESUFFIX
+YACCHXXFILESUFFIX
+YACCVCGFILESUFFIX
+</sets>
+<uses>
+YACCCOMSTR
+</uses>
 </tool>
 
 <cvar name="YACC">
index 909a4c40ea97935647d6d2745a59fc10d47ae7da..c7c233eaa52ad69140c9162fc8f063757c7c279c 100644 (file)
@@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format.
 -->
 <tool name="zip">
 <summary>
-XXX
+Sets construction variables for the &zip; archiver.
 </summary>
+<sets>
+ZIP
+ZIPFLAGS
+ZIPCOM
+ZIPCOMPRESSION
+ZIPSUFFIX
+</sets>
+<uses>
+ZIPCOMSTR
+</uses>
 </tool>
 
 <builder name="Zip">
@@ -92,3 +102,9 @@ module is otherwise unavailable.
 General options passed to the zip utility.
 </summary>
 </cvar>
+
+<cvar name="ZIPSUFFIX">
+<summary>
+The suffix used for zip file names.
+</summary>
+</cvar>
index d79aed78024cbefe2181c22c2c9a053461b8db27..5614adba48a6299492dfe70ef14dfa0df5943620 100644 (file)
@@ -29,7 +29,7 @@ import stat
 import string
 import sys
 
-Version = "0.96.96"
+Version = "0.97"
 
 man_pages = [
     'scons.1',
similarity index 100%
rename from test/Dir.py
rename to test/Dir/Dir.py
diff --git a/test/Dir/mixed-targets.py b/test/Dir/mixed-targets.py
new file mode 100644 (file)
index 0000000..52f9f0a
--- /dev/null
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+#
+# __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.
+#
+
+__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+
+"""
+Make sure that target lists of intermixed Node.FS.Dir and Node.FS.File
+Nodes work with a DirEntryScanner.
+"""
+
+import TestSCons
+
+test = TestSCons.TestSCons()
+
+test.subdir('src', ['src', 'dir'])
+
+test.write('SConstruct', """\
+import os
+import shutil
+
+import SCons.Defaults
+
+def copier(target, source, env):
+    os.rmdir('build')
+    shutil.copytree(str(source[0]), 'build')
+    return 0
+
+Copier = Builder(action = copier,
+                 target_scanner = SCons.Defaults.DirEntryScanner,
+                 target_factory = Entry,
+                 source_factory = Entry)
+
+env = Environment(BUILDERS = {'Copier': Copier})
+env.Copier(['build/dir', 'build/file1'], ['src'])
+""")
+
+test.write(['src', 'file1'],            "src/file1\n")
+
+test.write(['src', 'dir', 'file2'],     "src/dir/file2\n")
+test.write(['src', 'dir', 'file3'],     "src/dir/file3\n")
+
+test.run(arguments = '.')
+
+test.must_match(['build', 'file1'],         "src/file1\n")
+
+test.must_match(['build', 'dir', 'file2'],  "src/dir/file2\n")
+test.must_match(['build', 'dir', 'file3'],  "src/dir/file3\n")
+
+test.pass_test()
similarity index 100%
rename from test/DirSource.py
rename to test/Dir/source.py
diff --git a/test/Parallel/ref_count.py b/test/Parallel/ref_count.py
new file mode 100644 (file)
index 0000000..93b6142
--- /dev/null
@@ -0,0 +1,153 @@
+#!/usr/bin/env python
+#
+# __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.
+#
+
+__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+
+"""
+Test for a specific race condition that used to stop a build cold when
+a Node's ref_count would get decremented past 0 and "disappear" from
+the Taskmaster's walk of the dependency graph.
+
+Note that this test does not fail every time, but would at least fail
+more than 60%-70% of the time on the system(s) I tested.
+
+The rather complicated set up here creates a condition where,
+after building four "object files" simultaneously while running with
+-j4, sets up a race condition amongst the three dependencies of the
+c6146/cpumanf.out file, where two of the dependencies are built at the
+same time (that is, by the same command) and one is built separately.
+
+We used to detect Nodes that had been started but not finished building
+and just set the waiting ref_count to the number of Nodes.  In this case,
+if we got unlucky, we'd re-visit the Nodes for the two files first and
+set the ref_count to two *before* the command that built individual node
+completed and decremented the ref_count from two to one.  Then when the
+two files completed, we'd update the ref_count to 1 - 2 = -1, which would
+cause the Taskmaster to *not* "wake up" the Node because it's ref_count
+hadn't actually reached 0.
+
+(The solution was to not set the ref_count, but to add to it only the
+Nodes that were, in fact, added to the waiting_parents lists of various
+child Nodes.)
+"""
+
+import TestSCons
+
+_python_ = TestSCons._python_
+
+test = TestSCons.TestSCons()
+
+test.write('build.py', """\
+import string
+import sys
+import time
+args = sys.argv[1:]
+outputs = []
+while args:
+    if args[0][0] != '-':
+        break
+    arg = args.pop(0)
+    if arg == '-o':
+        outputs.append(args.pop(0))
+        continue
+    if arg == '-s':
+        time.sleep(int(args.pop(0)))
+contents = ''
+for ifile in args:
+    contents = contents + open(ifile, 'rb').read()
+for ofile in outputs:
+    ofp = open(ofile, 'wb')
+    ofp.write('%s:  building from %s\\n' % (ofile, string.join(args)))
+    ofp.write(contents)
+    ofp.close()
+""")
+
+#
+#
+#
+
+test.write('SConstruct', """\
+env = Environment()
+cmd = r'%(_python_)s build.py -o $TARGET $SOURCES'
+f1 = env.Command('c6416/cpumanf/file1.obj', 'file1.c', cmd)
+f2 = env.Command('c6416/cpumanf/file2.obj', 'file2.c', cmd)
+f3 = env.Command('c6416/cpumanf/file3.obj', 'file3.c', cmd)
+f4 = env.Command('c6416/cpumanf/file4.obj', 'file4.c', cmd)
+f5 = env.Command('c6416/cpumanf/file5.obj', 'file5.c', cmd)
+f6 = env.Command('c6416/cpumanf/file6.obj', 'file6.c', cmd)
+
+objs = f1 + f2 + f3 + f4 + f5 + f6
+
+btc = env.Command('build/target/cpumanf.out', 'c6416/cpumanf.out', cmd)
+
+addcheck_obj = env.Command('addcheck.obj', 'addcheck.c', cmd)
+
+addcheck_exe = env.Command('addcheck.exe', addcheck_obj, cmd)
+
+cmd2 = r'%(_python_)s build.py -s 2 -o ${TARGETS[0]} -o ${TARGETS[1]} $SOURCES'
+
+cksums = env.Command(['c6416/cpumanf_pre_cksum.out',
+                     'c6416/cpumanf_pre_cksum.map'],
+                    objs,
+                    cmd2)
+
+cpumanf_out = env.Command('c6416/cpumanf.out',
+                          cksums + addcheck_exe,
+                          cmd)
+
+cpumanf = env.Alias('cpumanf', objs + btc)
+
+env.Command('after.out', cpumanf, r'%(_python_)s build.py -o $TARGET after.in')
+""" % locals())
+
+test.write('file1.c', "file1.c\n")
+test.write('file2.c', "file2.c\n")
+test.write('file3.c', "file3.c\n")
+test.write('file4.c', "file4.c\n")
+test.write('file5.c', "file5.c\n")
+test.write('file6.c', "file6.c\n")
+
+test.write('addcheck.c', "addcheck.c\n")
+
+test.write('after.in', "after.in\n")
+
+test.run(arguments = '-j4 after.out')
+
+test.must_match('after.out', """\
+after.out:  building from after.in
+after.in
+""")
+
+test.write('file5.c', "file5.c modified\n")
+
+test.write('after.in', "after.in modified\n")
+
+test.run(arguments = '-j4 after.out')
+
+test.must_match('after.out', """\
+after.out:  building from after.in
+after.in modified
+""")
+
+test.pass_test()
index 0133ced1813cf9d2231faa672b43845dd66e157f..a24c65da5a3b7b9f8eedcf2ae030411ae743c3e3 100644 (file)
@@ -81,7 +81,17 @@ class TestPerforce(TestSCons.TestSCons):
                 spawnv(os.P_NOWAIT, self.p4d, args)
                 self.sleep(2)
         else:
-            self.p4portflags = ['-p', self.host + ':1666']
+            import socket
+            s = socket.socket()
+            host_port = (self.host, 1666)
+            try:
+                s.connect(host_port)
+            except socket.error:
+                self.skip_test("No Perforce server found; skipping test(s).\n")
+            else:
+                s.close()
+
+            self.p4portflags = ['-p', '%s:%s' % host_port]
             try:
                 self.p4('obliterate -y //%s/...' % self.depot)
                 self.p4('depot -d %s' % self.depot)
index 22932162960191daa2704538c1023349f05e15ef..353d9a4264f50c32bbaa7745a8649b66b36fb784 100644 (file)
@@ -36,8 +36,14 @@ import TestSCons
 
 test = TestSCons.TestSCons()
 
+pdflatex = test.where_is('pdflatex')
+
+if not pdflatex:
+    test.skip_test("Could not find pdflatex; skipping test(s).\n")
+
 test.write(['SConstruct'], """\
-PDF( 'bibtest.tex' )
+env = Environment(tools=['pdflatex', 'tex'])
+env.PDF( 'bibtest.tex' )
 """)
 
 test.write(['bibtest.tex'], r"""
index d267f00ddfebdc798009eb46f486a6a2941fd7fe..7debffc3d3c31da8f6dddfb3e340486afd7e7274 100644 (file)
@@ -143,11 +143,12 @@ tools = [
     'zip',
 ]
 
-if sys.platform == 'win32':
-    tools.extend([
-        '386asm',
-        'linkloc',
-    ])
+#if sys.platform == 'win32':
+# Just comment out (for now?) due to registry dependency.
+#    tools.extend([
+#        '386asm',
+#        'linkloc',
+#    ])
 
 # Intel no compiler warning..
 intel_no_compiler_warning = """