From 691da3ed8ba25b0e776d83b4404993925a876071 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Fri, 18 May 2007 05:40:31 +0000 Subject: Merged revisions 1884-1905 via svnmerge from 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. ........ --- HOWTO/release.txt | 3 + QMTest/TestSCons.py | 2 +- README | 129 +++++++++++++------------- SConstruct | 2 +- bin/SConsDoc.py | 9 ++ bin/scons-proc.py | 27 ++++-- debian/changelog | 6 +- doc/SConscript | 4 +- doc/scons.mod | 60 +++++++----- rpm/scons.spec.in | 2 +- src/CHANGES.txt | 14 +++ src/README.txt | 46 +++++----- src/RELEASE.txt | 81 ++++++++--------- src/engine/SCons/Node/NodeTests.py | 5 +- src/engine/SCons/Node/__init__.py | 15 ++- src/engine/SCons/Scanner/Dir.py | 12 ++- src/engine/SCons/Scanner/DirTests.py | 15 ++- src/engine/SCons/Taskmaster.py | 9 +- src/engine/SCons/TaskmasterTests.py | 9 +- src/engine/SCons/Tool/386asm.xml | 16 +++- src/engine/SCons/Tool/BitKeeper.xml | 12 ++- src/engine/SCons/Tool/CVS.xml | 12 ++- src/engine/SCons/Tool/Perforce.xml | 11 ++- src/engine/SCons/Tool/RCS.xml | 12 ++- src/engine/SCons/Tool/SCCS.xml | 12 ++- src/engine/SCons/Tool/Subversion.xml | 12 ++- src/engine/SCons/Tool/aixc++.xml | 10 +- src/engine/SCons/Tool/aixcc.xml | 9 +- src/engine/SCons/Tool/aixf77.xml | 8 +- src/engine/SCons/Tool/aixlink.xml | 10 +- src/engine/SCons/Tool/applelink.xml | 22 +++++ src/engine/SCons/Tool/ar.xml | 14 ++- src/engine/SCons/Tool/as.xml | 15 ++- src/engine/SCons/Tool/bcc32.xml | 23 ++++- src/engine/SCons/Tool/c++.xml | 23 ++++- src/engine/SCons/Tool/cc.xml | 39 +++++--- src/engine/SCons/Tool/cvf.xml | 21 ++++- src/engine/SCons/Tool/default.xml | 3 +- src/engine/SCons/Tool/dmd.xml | 43 ++++++++- src/engine/SCons/Tool/dvi.xml | 11 +++ src/engine/SCons/Tool/dvipdf.xml | 10 +- src/engine/SCons/Tool/dvips.xml | 12 ++- src/engine/SCons/Tool/f77.xml | 50 +++++++++- src/engine/SCons/Tool/f90.xml | 38 +++++++- src/engine/SCons/Tool/f95.xml | 39 +++++++- src/engine/SCons/Tool/fortran.xml | 37 +++++++- src/engine/SCons/Tool/g++.xml | 9 +- src/engine/SCons/Tool/g77.xml | 4 +- src/engine/SCons/Tool/gas.xml | 6 +- src/engine/SCons/Tool/gcc.xml | 7 +- src/engine/SCons/Tool/gnulink.xml | 7 +- src/engine/SCons/Tool/gs.xml | 10 +- src/engine/SCons/Tool/hpc++.xml | 2 +- src/engine/SCons/Tool/hpcc.xml | 9 +- src/engine/SCons/Tool/hplink.xml | 7 +- src/engine/SCons/Tool/icc.xml | 21 ++++- src/engine/SCons/Tool/icl.xml | 3 +- src/engine/SCons/Tool/ifl.xml | 15 ++- src/engine/SCons/Tool/ifort.xml | 7 +- src/engine/SCons/Tool/ilink.xml | 14 ++- src/engine/SCons/Tool/ilink32.xml | 14 ++- src/engine/SCons/Tool/intelc.xml | 16 +++- src/engine/SCons/Tool/jar.xml | 11 ++- src/engine/SCons/Tool/javac.xml | 12 ++- src/engine/SCons/Tool/javah.xml | 11 ++- src/engine/SCons/Tool/latex.xml | 10 +- src/engine/SCons/Tool/lex.xml | 10 +- src/engine/SCons/Tool/link.xml | 25 ++++- src/engine/SCons/Tool/linkloc.xml | 22 ++++- src/engine/SCons/Tool/m4.xml | 10 +- src/engine/SCons/Tool/masm.xml | 17 +++- src/engine/SCons/Tool/midl.xml | 36 +++++++- src/engine/SCons/Tool/mingw.xml | 28 +++++- src/engine/SCons/Tool/mslib.xml | 14 ++- src/engine/SCons/Tool/mslink.xml | 45 ++++++++- src/engine/SCons/Tool/msvc.xml | 85 ++++++++++++++++- src/engine/SCons/Tool/msvs.xml | 81 ++++++++++++----- src/engine/SCons/Tool/mwcc.xml | 30 +++++- src/engine/SCons/Tool/mwld.xml | 18 +++- src/engine/SCons/Tool/nasm.xml | 14 ++- src/engine/SCons/Tool/pdf.xml | 10 ++ src/engine/SCons/Tool/pdflatex.xml | 40 +++++++- src/engine/SCons/Tool/pdftex.xml | 44 ++++++++- src/engine/SCons/Tool/qt.xml | 34 ++++++- src/engine/SCons/Tool/rmic.xml | 11 ++- src/engine/SCons/Tool/rpcgen.xml | 12 ++- src/engine/SCons/Tool/sgiar.xml | 15 ++- src/engine/SCons/Tool/sgic++.xml | 9 +- src/engine/SCons/Tool/sgicc.xml | 9 +- src/engine/SCons/Tool/sgilink.xml | 8 +- src/engine/SCons/Tool/sunar.xml | 16 +++- src/engine/SCons/Tool/sunc++.xml | 10 +- src/engine/SCons/Tool/suncc.xml | 8 +- src/engine/SCons/Tool/sunlink.xml | 7 +- src/engine/SCons/Tool/swig.xml | 12 ++- src/engine/SCons/Tool/tar.xml | 11 ++- src/engine/SCons/Tool/tex.xml | 22 ++++- src/engine/SCons/Tool/tlib.xml | 13 ++- src/engine/SCons/Tool/yacc.xml | 13 ++- src/engine/SCons/Tool/zip.xml | 18 +++- src/setup.py | 2 +- test/Dir.py | 74 --------------- test/Dir/Dir.py | 74 +++++++++++++++ test/Dir/mixed-targets.py | 70 ++++++++++++++ test/Dir/source.py | 172 +++++++++++++++++++++++++++++++++++ test/DirSource.py | 172 ----------------------------------- test/Parallel/ref_count.py | 153 +++++++++++++++++++++++++++++++ test/Perforce/Perforce.py | 12 ++- test/TEX/bibtex-latex-rerun.py | 8 +- test/import.py | 11 ++- 110 files changed, 2118 insertions(+), 556 deletions(-) delete mode 100644 test/Dir.py create mode 100644 test/Dir/Dir.py create mode 100644 test/Dir/mixed-targets.py create mode 100644 test/Dir/source.py delete mode 100644 test/DirSource.py create mode 100644 test/Parallel/ref_count.py diff --git a/HOWTO/release.txt b/HOWTO/release.txt index a29b37b..ca46263 100644 --- a/HOWTO/release.txt +++ b/HOWTO/release.txt @@ -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 diff --git a/QMTest/TestSCons.py b/QMTest/TestSCons.py index 1b499de..196c24e 100644 --- a/QMTest/TestSCons.py +++ b/QMTest/TestSCons.py @@ -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 699d1b5..6eecb8c 100644 --- 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 diff --git a/SConstruct b/SConstruct index f0d8c1a..a81b37b 100644 --- a/SConstruct +++ b/SConstruct @@ -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() diff --git a/bin/SConsDoc.py b/bin/SConsDoc.py index 57bf1d4..96625b4 100644 --- a/bin/SConsDoc.py +++ b/bin/SConsDoc.py @@ -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. diff --git a/bin/scons-proc.py b/bin/scons-proc.py index d55016f..fc60a9b 100644 --- a/bin/scons-proc.py +++ b/bin/scons-proc.py @@ -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('\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('\n') - # f.write('Uses: ' + ', '.join(u) + '.\n') - # f.write('\n') + if v.sets: + s = map(lambda x: '&cv-link-%s;' % x, v.sets) + f.write('\n') + f.write('Sets: ' + ', '.join(s) + '.\n') + f.write('\n') + if v.uses: + u = map(lambda x: '&cv-link-%s;' % x, v.uses) + f.write('\n') + f.write('Uses: ' + ', '.join(u) + '.\n') + f.write('\n') f.write('\n') f.write('\n') def write_mod(self, filename): diff --git a/debian/changelog b/debian/changelog index 063cba4..441f572 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Thu, 12 Apr 2007 12:36:25 -0500 + -- Steven Knight Thu, 17 May 2007 08:59:41 -0500 scons (0.96-1) unstable; urgency=low diff --git a/doc/SConscript b/doc/SConscript index 7617974..8316e6e 100644 --- a/doc/SConscript +++ b/doc/SConscript @@ -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) diff --git a/doc/scons.mod b/doc/scons.mod index aa1a0b9..bbb20f0 100644 --- a/doc/scons.mod +++ b/doc/scons.mod @@ -16,30 +16,42 @@ --> -Aegis"> -Ant"> -Autoconf"> -Automake"> -cc"> -Cons"> -cp"> -csh"> -gcc"> -Jam"> -jar"> -javac"> -javah"> -Make"> -Make++"> -Python"> -ranlib"> -rmic"> -SCons"> -scons"> -ScCons"> -tar"> -touch"> -zip"> +Aegis"> +Ant"> +ar"> +as"> +Autoconf"> +Automake"> +cc"> +Cons"> +cp"> +csh"> +gas"> +gcc"> +g77"> +gXX"> +Jam"> +jar"> +javac"> +javah"> +latex"> +lex"> +m4"> +Make"> +Make++"> +pdflatex"> +pdftex"> +Python"> +ranlib"> +rmic"> +SCons"> +scons"> +ScCons"> +tar"> +tex"> +touch"> +yacc"> +zip"> -XXX +Sets construction variables for the 386ASM assembler +for the Phar Lap ETS embedded operating system. + +AS +ASFLAGS +ASPPFLAGS +ASCOM +ASPPCOM + + +CC +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + diff --git a/src/engine/SCons/Tool/BitKeeper.xml b/src/engine/SCons/Tool/BitKeeper.xml index 8ab7049..d0e42d7 100644 --- a/src/engine/SCons/Tool/BitKeeper.xml +++ b/src/engine/SCons/Tool/BitKeeper.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the BitKeeper +source code control system. + +BITKEEPER +BITKEEPERGET +BITKEEPERGETFLAGS +BITKEEPERCOM + + +BITKEEPERCOMSTR + diff --git a/src/engine/SCons/Tool/CVS.xml b/src/engine/SCons/Tool/CVS.xml index fb666e8..3d8c055 100644 --- a/src/engine/SCons/Tool/CVS.xml +++ b/src/engine/SCons/Tool/CVS.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the CVS source code +management system. + +CVS +CVSCOM +CVSFLAGS +CVSCOFLAGS + + +CVSCOMSTR + diff --git a/src/engine/SCons/Tool/Perforce.xml b/src/engine/SCons/Tool/Perforce.xml index b8824ed..bc7ffed 100644 --- a/src/engine/SCons/Tool/Perforce.xml +++ b/src/engine/SCons/Tool/Perforce.xml @@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for interacting with the +Perforce source code management system. + +P4 +P4FLAGS +P4COM + + +P4COMSTR + diff --git a/src/engine/SCons/Tool/RCS.xml b/src/engine/SCons/Tool/RCS.xml index 2c89a5b..c81cf94 100644 --- a/src/engine/SCons/Tool/RCS.xml +++ b/src/engine/SCons/Tool/RCS.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the interaction +with the Revision Control System. + +RCS +RCS_CO +RCS_COFLAGS +RCS_COCOM + + +RCS_COCOMSTR + diff --git a/src/engine/SCons/Tool/SCCS.xml b/src/engine/SCons/Tool/SCCS.xml index 9f7539d..5a55bda 100644 --- a/src/engine/SCons/Tool/SCCS.xml +++ b/src/engine/SCons/Tool/SCCS.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for interacting with the +Source Code Control System. + +SCCS +SCCSFLAGS +SCCSGETFLAGS +SCCSCOM + + +SCCSCOMSTR + diff --git a/src/engine/SCons/Tool/Subversion.xml b/src/engine/SCons/Tool/Subversion.xml index c3a4f5f..adbd2b7 100644 --- a/src/engine/SCons/Tool/Subversion.xml +++ b/src/engine/SCons/Tool/Subversion.xml @@ -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. --> + -XXX +Sets construction variables for the IMB xlc / Visual Age C++ compiler. + +CXX +SHCXX +CXXVERSION +SHOBJSUFFIX + + + diff --git a/src/engine/SCons/Tool/aixcc.xml b/src/engine/SCons/Tool/aixcc.xml index a7a043c..8ec301b 100644 --- a/src/engine/SCons/Tool/aixcc.xml +++ b/src/engine/SCons/Tool/aixcc.xml @@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the IBM xlc / Visual Age C compiler. + +CC +SHCC +CCVERSION + + + diff --git a/src/engine/SCons/Tool/aixf77.xml b/src/engine/SCons/Tool/aixf77.xml index 9043b66..14274f3 100644 --- a/src/engine/SCons/Tool/aixf77.xml +++ b/src/engine/SCons/Tool/aixf77.xml @@ -6,6 +6,12 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the IBM Visual Age f77 Fortran compiler. + +F77 +SHF77 + + + diff --git a/src/engine/SCons/Tool/aixlink.xml b/src/engine/SCons/Tool/aixlink.xml index a1aa05b..567882b 100644 --- a/src/engine/SCons/Tool/aixlink.xml +++ b/src/engine/SCons/Tool/aixlink.xml @@ -6,6 +6,14 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the IBM Visual Age linker. + + +LINKFLAGS +SHLINKFLAGS +SHLIBSUFFIX + + + diff --git a/src/engine/SCons/Tool/applelink.xml b/src/engine/SCons/Tool/applelink.xml index d5fadbb..10b4559 100644 --- a/src/engine/SCons/Tool/applelink.xml +++ b/src/engine/SCons/Tool/applelink.xml @@ -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. --> + + +Sets construction variables for the Apple linker +(similar to the GNU linker). + + +FRAMEWORKPATHPREFIX +_FRAMEWORKPATH +_FRAMEWORKS +LINKCOM +SHLINKFLAGS +SHLINKCOM +LDMODULEPREFIX +LDMODULESUFFIX +LDMODULEFLAGS +LDMODULECOM + + +FRAMEWORKSFLAGS + + + "> On Mac OS X with gcc, diff --git a/src/engine/SCons/Tool/ar.xml b/src/engine/SCons/Tool/ar.xml index b26f634..1fe9a57 100644 --- a/src/engine/SCons/Tool/ar.xml +++ b/src/engine/SCons/Tool/ar.xml @@ -6,8 +6,20 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &ar; library archiver. + +AR +ARFLAGS +ARCOM +LIBPREFIX +LIBSUFFIX +RANLIB +RANLIBFLAGS +RANLIBCOM + + + diff --git a/src/engine/SCons/Tool/as.xml b/src/engine/SCons/Tool/as.xml index f61d26a..b771d0e 100644 --- a/src/engine/SCons/Tool/as.xml +++ b/src/engine/SCons/Tool/as.xml @@ -6,8 +6,21 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &as; assembler. + +AS +ASFLAGS +ASCOM +ASPPFLAGS +ASPPCOM + + +CC +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + diff --git a/src/engine/SCons/Tool/bcc32.xml b/src/engine/SCons/Tool/bcc32.xml index 1cdb9c0..38ded35 100644 --- a/src/engine/SCons/Tool/bcc32.xml +++ b/src/engine/SCons/Tool/bcc32.xml @@ -6,6 +6,27 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the bcc32 compiler. + +CC +CCFLAGS +CFLAGS +CCCOM +SHCC +SHCCFLAGS +SHCFLAGS +SHCCCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +SHOBJSUFFIX + +CFILESUFFIX + + +_CPPDEFFLAGS +_CPPINCFLAGS + diff --git a/src/engine/SCons/Tool/c++.xml b/src/engine/SCons/Tool/c++.xml index 2dc7bb2..02530da 100644 --- a/src/engine/SCons/Tool/c++.xml +++ b/src/engine/SCons/Tool/c++.xml @@ -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. --> - + -XXX +Sets construction variables for generic POSIX C++ compilers. + +CXX +CXXFLAGS +CXXCOM +SHCXX +SHCXXFLAGS +SHCXXCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +SHOBJSUFFIX +OBJSUFFIX + +CXXFILESUFFIX + + +CXXCOMSTR + diff --git a/src/engine/SCons/Tool/cc.xml b/src/engine/SCons/Tool/cc.xml index b7ff65a..a89182a 100644 --- a/src/engine/SCons/Tool/cc.xml +++ b/src/engine/SCons/Tool/cc.xml @@ -6,22 +6,31 @@ See its __doc__ string for a discussion of the format. --> -&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-CFILESUFFIX; +Sets construction variables for generic POSIX C copmilers. + + +FRAMEWORKS +FRAMEWORKPATH +CC +CFLAGS +CCFLAGS +CCCOM +SHCC +SHCFLAGS +SHCCFLAGS +SHCCCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +SHOBJSUFFIX + +CFILESUFFIX + + +PLATFORM + diff --git a/src/engine/SCons/Tool/cvf.xml b/src/engine/SCons/Tool/cvf.xml index 9acde9b..a8011e1 100644 --- a/src/engine/SCons/Tool/cvf.xml +++ b/src/engine/SCons/Tool/cvf.xml @@ -6,6 +6,25 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Compaq Visual Fortran compiler. + +FORTRAN +FORTRANCOM +FORTRANPPCOM +SHFORTRANCOM +SHFORTRANPPCOM +OBJSUFFIX +FORTRANMODDIR +FORTRANMODDIRPREFIX +FORTRANMODDIRSUFFIX + + +FORTRANFLAGS +SHFORTRANFLAGS +_FORTRANMODFLAG +_FORTRANINCFLAGS +CPPFLAGS +_CPPDEFFLAGS + diff --git a/src/engine/SCons/Tool/default.xml b/src/engine/SCons/Tool/default.xml index a4da87a..e14f9f7 100644 --- a/src/engine/SCons/Tool/default.xml +++ b/src/engine/SCons/Tool/default.xml @@ -6,6 +6,7 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets variables by calling a default list of Tool modules +for the platform on which SCons is running. diff --git a/src/engine/SCons/Tool/dmd.xml b/src/engine/SCons/Tool/dmd.xml index 62ab78e..cab3ab4 100644 --- a/src/engine/SCons/Tool/dmd.xml +++ b/src/engine/SCons/Tool/dmd.xml @@ -6,6 +6,47 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Digital Mars D compiler. + + + + + diff --git a/src/engine/SCons/Tool/dvi.xml b/src/engine/SCons/Tool/dvi.xml index 26fdd43..8285a54 100644 --- a/src/engine/SCons/Tool/dvi.xml +++ b/src/engine/SCons/Tool/dvi.xml @@ -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. --> + + +Attaches the &b-DVI; builder to the +construction environment. + + + + + + + Builds a .dvi file diff --git a/src/engine/SCons/Tool/dvipdf.xml b/src/engine/SCons/Tool/dvipdf.xml index f0679b3..7f5b160 100644 --- a/src/engine/SCons/Tool/dvipdf.xml +++ b/src/engine/SCons/Tool/dvipdf.xml @@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the dvipdf utility. + +DVIPDF +DVIPDFFLAGS +DVIPDFCOM + + +DVIPDFCOMSTR + diff --git a/src/engine/SCons/Tool/dvips.xml b/src/engine/SCons/Tool/dvips.xml index dbfcaf3..328bb46 100644 --- a/src/engine/SCons/Tool/dvips.xml +++ b/src/engine/SCons/Tool/dvips.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the dvips utility. + +DVIPS +DVIPSFLAGS +PSCOM +PSPREFIX +PSSUFFIX + + +PSCOMSTR + diff --git a/src/engine/SCons/Tool/f77.xml b/src/engine/SCons/Tool/f77.xml index a1d3c34..3281bd6 100644 --- a/src/engine/SCons/Tool/f77.xml +++ b/src/engine/SCons/Tool/f77.xml @@ -6,8 +6,36 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for generic POSIX Fortran 77 compilers. + +F77 +F77FLAGS +F77COM +F77PPCOM +FORTRAN +FORTRANFLAGS +FORTRANCOM +SHF77 +SHF77FLAGS +SHF77COM +SHF77PPCOM +SHFORTRAN +SHFORTRANFLAGS +SHFORTRANCOM +SHFORTRANPPCOM +_F77INCFLAGS + + +F77COMSTR +F77PPCOMSTR +FORTRANCOMSTR +FORTRANPPCOMSTR +SHF77COMSTR +SHF77PPCOMSTR +SHFORTRANCOMSTR +SHFORTRANPPCOMSTR + @@ -140,6 +168,16 @@ for all Fortran versions. + + +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. + + + 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. + + + +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. + + diff --git a/src/engine/SCons/Tool/f90.xml b/src/engine/SCons/Tool/f90.xml index 9159a24..18135a3 100644 --- a/src/engine/SCons/Tool/f90.xml +++ b/src/engine/SCons/Tool/f90.xml @@ -6,8 +6,25 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for generic POSIX Fortran 90 compilers. + +F90 +F90FLAGS +F90COM +F90PPCOM +SHF90 +SHF90FLAGS +SHF90COM +SHF90PPCOM +_F90INCFLAGS + + +F90COMSTR +F90PPCOMSTR +SHF90COMSTR +SHF90PPCOMSTR + @@ -140,6 +157,15 @@ for all Fortran versions. + + +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. + + + 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. + + + +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. + + diff --git a/src/engine/SCons/Tool/f95.xml b/src/engine/SCons/Tool/f95.xml index e3c026e..0882a45 100644 --- a/src/engine/SCons/Tool/f95.xml +++ b/src/engine/SCons/Tool/f95.xml @@ -6,8 +6,25 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for generic POSIX Fortran 95 compilers. + +F95 +F95FLAGS +F95COM +F95PPCOM +SHF95 +SHF95FLAGS +SHF95COM +SHF95PPCOM +_F95INCFLAGS + + +F95COMSTR +F95PPCOMSTR +SHF95COMSTR +SHF95PPCOMSTR + @@ -140,6 +157,16 @@ for all Fortran versions. + + +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. + + + 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. + + + +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. + + diff --git a/src/engine/SCons/Tool/fortran.xml b/src/engine/SCons/Tool/fortran.xml index c7000af..6dbe7b0 100644 --- a/src/engine/SCons/Tool/fortran.xml +++ b/src/engine/SCons/Tool/fortran.xml @@ -6,8 +6,23 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for generic POSIX Fortran compilers. + +FORTRAN +FORTRANFLAGS +FORTRANCOM +SHFORTRAN +SHFORTRANFLAGS +SHFORTRANCOM +SHFORTRANPPCOM + + +FORTRANCOMSTR +FORTRANPPCOMSTR +SHFORTRANCOMSTR +SHFORTRANPPCOMSTR + @@ -197,6 +212,16 @@ construction variables are included on this command line. + + +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. + + + 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. + + + +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. + + diff --git a/src/engine/SCons/Tool/g++.xml b/src/engine/SCons/Tool/g++.xml index 4991811..79444b9 100644 --- a/src/engine/SCons/Tool/g++.xml +++ b/src/engine/SCons/Tool/g++.xml @@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for the &gXX; C++ compiler. + +CXX +SHCXXFLAGS + +SHOBJSUFFIX +CXXVERSION + diff --git a/src/engine/SCons/Tool/g77.xml b/src/engine/SCons/Tool/g77.xml index 6357f94..96d6f87 100644 --- a/src/engine/SCons/Tool/g77.xml +++ b/src/engine/SCons/Tool/g77.xml @@ -6,6 +6,8 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for the &g77; Fortran compiler. +Calls the &t-f77; Tool module +to set variables. diff --git a/src/engine/SCons/Tool/gas.xml b/src/engine/SCons/Tool/gas.xml index 19ad1a9..62bad7b 100644 --- a/src/engine/SCons/Tool/gas.xml +++ b/src/engine/SCons/Tool/gas.xml @@ -6,6 +6,10 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &gas; assembler. +Calls the &t-as; module. + +AS + diff --git a/src/engine/SCons/Tool/gcc.xml b/src/engine/SCons/Tool/gcc.xml index 15f19cf..f36a5eb 100644 --- a/src/engine/SCons/Tool/gcc.xml +++ b/src/engine/SCons/Tool/gcc.xml @@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for the &gcc; C compiler. + +CC +SHCCFLAGS +CCVERSION + diff --git a/src/engine/SCons/Tool/gnulink.xml b/src/engine/SCons/Tool/gnulink.xml index d454af4..d822081 100644 --- a/src/engine/SCons/Tool/gnulink.xml +++ b/src/engine/SCons/Tool/gnulink.xml @@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for GNU linker/loader. + +SHLINKFLAGS +RPATHPREFIX +RPATHSUFFIX + diff --git a/src/engine/SCons/Tool/gs.xml b/src/engine/SCons/Tool/gs.xml index 9a63e94..2376735 100644 --- a/src/engine/SCons/Tool/gs.xml +++ b/src/engine/SCons/Tool/gs.xml @@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for Ghostscript. + +GS +GSFLAGS +GSCOM + + +GSCOMSTR + diff --git a/src/engine/SCons/Tool/hpc++.xml b/src/engine/SCons/Tool/hpc++.xml index ca0314c..893907a 100644 --- a/src/engine/SCons/Tool/hpc++.xml +++ b/src/engine/SCons/Tool/hpc++.xml @@ -6,6 +6,6 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for the compilers aCC on HP/UX systems. diff --git a/src/engine/SCons/Tool/hpcc.xml b/src/engine/SCons/Tool/hpcc.xml index 9f63b55..62a1ca4 100644 --- a/src/engine/SCons/Tool/hpcc.xml +++ b/src/engine/SCons/Tool/hpcc.xml @@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format. --> -XXX +Set construction variables for the +aCC on HP/UX systems. +Calls the &t-cXX; tool for additional variables. + +CXX +SHCXXFLAGS +CXXVERSION + diff --git a/src/engine/SCons/Tool/hplink.xml b/src/engine/SCons/Tool/hplink.xml index 1bd3b78..6a45017 100644 --- a/src/engine/SCons/Tool/hplink.xml +++ b/src/engine/SCons/Tool/hplink.xml @@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the linker on HP/UX systems. + +LINKFLAGS +SHLINKFLAGS +SHLIBSUFFIX + diff --git a/src/engine/SCons/Tool/icc.xml b/src/engine/SCons/Tool/icc.xml index c41486e..a585f3f 100644 --- a/src/engine/SCons/Tool/icc.xml +++ b/src/engine/SCons/Tool/icc.xml @@ -6,6 +6,25 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the +icc compiler on OS/2 systems. + +CC +CCCOM +CXXCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +CFILESUFFIX +CXXFILESUFFIX + + +CFLAGS +CCFLAGS +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + diff --git a/src/engine/SCons/Tool/icl.xml b/src/engine/SCons/Tool/icl.xml index 5b8c355..13b6392 100644 --- a/src/engine/SCons/Tool/icl.xml +++ b/src/engine/SCons/Tool/icl.xml @@ -6,6 +6,7 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Intel C/C++ compiler. +Calls the &t-intelc; Tool module to set its variables. diff --git a/src/engine/SCons/Tool/ifl.xml b/src/engine/SCons/Tool/ifl.xml index 4b5b912..06f2427 100644 --- a/src/engine/SCons/Tool/ifl.xml +++ b/src/engine/SCons/Tool/ifl.xml @@ -6,6 +6,19 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Intel Fortran compiler. + +FORTRAN +FORTRANCOM +FORTRANPPCOM +SHFORTRANCOM +SHFORTRANPPCOM + + +FORTRANFLAGS +_FORTRANINCFLAGS +CPPFLAGS +_CPPDEFFLAGS + diff --git a/src/engine/SCons/Tool/ifort.xml b/src/engine/SCons/Tool/ifort.xml index 0303dec..20950f8 100644 --- a/src/engine/SCons/Tool/ifort.xml +++ b/src/engine/SCons/Tool/ifort.xml @@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for newer versions +of the Intel Fortran compiler for Linux. + +SHLINK +SHLINKFLAGS + diff --git a/src/engine/SCons/Tool/ilink.xml b/src/engine/SCons/Tool/ilink.xml index 03acfa4..2b29b30 100644 --- a/src/engine/SCons/Tool/ilink.xml +++ b/src/engine/SCons/Tool/ilink.xml @@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the +ilink linker on OS/2 systems. + +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX + + + diff --git a/src/engine/SCons/Tool/ilink32.xml b/src/engine/SCons/Tool/ilink32.xml index 370d046..49e868b 100644 --- a/src/engine/SCons/Tool/ilink32.xml +++ b/src/engine/SCons/Tool/ilink32.xml @@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Borland +ilink32 linker. + +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX + + + diff --git a/src/engine/SCons/Tool/intelc.xml b/src/engine/SCons/Tool/intelc.xml index 0141c22..0abc2a7 100644 --- a/src/engine/SCons/Tool/intelc.xml +++ b/src/engine/SCons/Tool/intelc.xml @@ -6,8 +6,22 @@ See its __doc__ string for a discussion of the format. --> -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. + +CC +CXX +LINK +AR + +INTEL_C_COMPILER_VERSION + + + diff --git a/src/engine/SCons/Tool/jar.xml b/src/engine/SCons/Tool/jar.xml index 488459b..0deaaae 100644 --- a/src/engine/SCons/Tool/jar.xml +++ b/src/engine/SCons/Tool/jar.xml @@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &jar; utility. + +JAR +JARFLAGS +JARCOM +JARSUFFIX + + +JARCOMSTR + diff --git a/src/engine/SCons/Tool/javac.xml b/src/engine/SCons/Tool/javac.xml index 400a23b..6c28e8c 100644 --- a/src/engine/SCons/Tool/javac.xml +++ b/src/engine/SCons/Tool/javac.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &javac; compiler. + +JAVAC +JAVACFLAGS +JAVACCOM +JAVACLASSSUFFIX +JAVASUFFIX + + +JAVACCOMSTR + diff --git a/src/engine/SCons/Tool/javah.xml b/src/engine/SCons/Tool/javah.xml index 75d0efb..c6487e7 100644 --- a/src/engine/SCons/Tool/javah.xml +++ b/src/engine/SCons/Tool/javah.xml @@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &javah; tool. + +JAVAH +JAVAHFLAGS +JAVAHCOM +JAVACLASSSUFFIX + + +JAVAHCOMSTR + diff --git a/src/engine/SCons/Tool/latex.xml b/src/engine/SCons/Tool/latex.xml index 35eea30..1584e0f 100644 --- a/src/engine/SCons/Tool/latex.xml +++ b/src/engine/SCons/Tool/latex.xml @@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &latex; utility. + +LATEX +LATEXFLAGS +LATEXCOM + + +LATEXCOMSTR + diff --git a/src/engine/SCons/Tool/lex.xml b/src/engine/SCons/Tool/lex.xml index d67feb0..d7d86d0 100644 --- a/src/engine/SCons/Tool/lex.xml +++ b/src/engine/SCons/Tool/lex.xml @@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &lex; lexical analyser. + +LEX +LEXFLAGS +LEXCOM + + +LEXCOMSTR + diff --git a/src/engine/SCons/Tool/link.xml b/src/engine/SCons/Tool/link.xml index 0728dda..8737bea 100644 --- a/src/engine/SCons/Tool/link.xml +++ b/src/engine/SCons/Tool/link.xml @@ -6,8 +6,31 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for generic POSIX linkers. + +SHLINK +SHLINKFLAGS +SHLINKCOM +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX +SHLIBSUFFIX +LDMODULE +LDMODULEPREFIX +LDMODULESUFFIX +LDMODULEFLAGS +LDMODULECOM + + +SHLINKCOMSTR +LINKCOMSTR +LDMODULECOMSTR + diff --git a/src/engine/SCons/Tool/linkloc.xml b/src/engine/SCons/Tool/linkloc.xml index 58ffc48..e8a54f4 100644 --- a/src/engine/SCons/Tool/linkloc.xml +++ b/src/engine/SCons/Tool/linkloc.xml @@ -6,6 +6,26 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the +LinkLoc +linker for the Phar Lap ETS embedded operating system. + + +SHLINK +SHLINKFLAGS +SHLINKCOM + +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX + + +SHLINKCOMSTR +LINKCOMSTR + diff --git a/src/engine/SCons/Tool/m4.xml b/src/engine/SCons/Tool/m4.xml index 0ee421e..63d16be 100644 --- a/src/engine/SCons/Tool/m4.xml +++ b/src/engine/SCons/Tool/m4.xml @@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &m4; macro processor. + +M4 +M4FLAGS +M4COM + + +M4COMSTR + diff --git a/src/engine/SCons/Tool/masm.xml b/src/engine/SCons/Tool/masm.xml index ee1ed1d..614da1f 100644 --- a/src/engine/SCons/Tool/masm.xml +++ b/src/engine/SCons/Tool/masm.xml @@ -6,6 +6,21 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Microsoft assembler. + +AS +ASFLAGS +ASPPFLAGS +ASCOM +ASPPCOM + + + +ASCOMSTR +ASPPCOMSTR +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + diff --git a/src/engine/SCons/Tool/midl.xml b/src/engine/SCons/Tool/midl.xml index 8885785..2698aa6 100644 --- a/src/engine/SCons/Tool/midl.xml +++ b/src/engine/SCons/Tool/midl.xml @@ -6,8 +6,16 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Microsoft IDL compiler. + +MIDL +MIDLFLAGS +MIDLCOM + + +MIDLCOMSTR + @@ -32,3 +40,29 @@ and files. + + + +The Microsoft IDL compiler. + + + + + +The command line used to pass files to the Microsoft IDL compiler. + + + + + +The string displayed when +the Microsoft IDL copmiler is called. +If this is not set, then &cv-link-MIDLCOM; (the command line) is displayed. + + + + + +General options passed to the Microsoft IDL compiler. + + diff --git a/src/engine/SCons/Tool/mingw.xml b/src/engine/SCons/Tool/mingw.xml index 9f9cf1f..048124c 100644 --- a/src/engine/SCons/Tool/mingw.xml +++ b/src/engine/SCons/Tool/mingw.xml @@ -6,6 +6,32 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for MinGW (Minimal Gnu on Windows). + +CC +SHCCFLAGS +CXX +SHCXXFLAGS +SHLINKFLAGS +SHLINKCOM +AS +WINDOWSDEFPREFIX +WINDOWSDEFSUFFIX +SHOBJSUFFIX + +RC +RCFLAGS +RCINCFLAGS +RCINCPREFIX +RCINCSUFFIX +RCCOM +OBJSUFFIX +LIBPREFIX +LIBSUFFIX + + +SHLINKCOMSTR +RCCOMSTR + diff --git a/src/engine/SCons/Tool/mslib.xml b/src/engine/SCons/Tool/mslib.xml index 9d56fd5..014ca9b 100644 --- a/src/engine/SCons/Tool/mslib.xml +++ b/src/engine/SCons/Tool/mslib.xml @@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Microsoft +mslib +library archiver. + +AR +ARFLAGS +ARCOM +LIBPREFIX +LIBSUFFIX + + +ARCOMSTR + diff --git a/src/engine/SCons/Tool/mslink.xml b/src/engine/SCons/Tool/mslink.xml index 160d415..6ad9dea 100644 --- a/src/engine/SCons/Tool/mslink.xml +++ b/src/engine/SCons/Tool/mslink.xml @@ -6,8 +6,49 @@ See its __doc__ string for a discussion of the format. --> -XXX - +Sets construction variables for the Microsoft linker. + + +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 + +REGSVR +REGSVRFLAGS +REGSVRCOM +LDMODULE +LDMODULEPREFIX +LDMODULESUFFIX +LDMODULEFLAGS +LDMODULECOM + + +SHLINKCOMSTR +LINKCOMSTR +REGSVRCOMSTR +MSVS_IGNORE_IDE_PATHS +LDMODULECOMSTR + diff --git a/src/engine/SCons/Tool/msvc.xml b/src/engine/SCons/Tool/msvc.xml index 0ea2602..b85c7aa 100644 --- a/src/engine/SCons/Tool/msvc.xml +++ b/src/engine/SCons/Tool/msvc.xml @@ -6,8 +6,50 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Microsoft Visual C/C++ compiler. + +CCPDBFLAGS +CCPCHFLAGS + +CC +CCFLAGS +CFLAGS +CCCOM +SHCC +SHCCFLAGS +SHCFLAGS +SHCCCOM +CXX +CXXFLAGS +CXXCOM +SHCXX +SHCXXFLAGS +SHCXXCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX + +RC +RCFLAGS +RCCOM +BUILDERS +OBJPREFIX +OBJSUFFIX +SHOBJPREFIX +SHOBJSUFFIX +CFILESUFFIX +CXXFILESUFFIX +PCHPDBFLAGS +PCHCOM + + +CCCOMSTR +SHCCCOMSTR +CXXCOMSTR +SHCXXCOMSTR + @@ -127,6 +169,14 @@ If this is not set, then &cv-link-PCHCOM; (the command line) is displayed. + + +A construction variable that, when expanded, +adds the /yD flag to the command line +only if the &cv-PDB; construction variable is set. + + + 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. + + + +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;. + + + + + +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. + + + + + +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. + + diff --git a/src/engine/SCons/Tool/msvs.xml b/src/engine/SCons/Tool/msvs.xml index 07fda0c..2bf02f8 100644 --- a/src/engine/SCons/Tool/msvs.xml +++ b/src/engine/SCons/Tool/msvs.xml @@ -6,8 +6,22 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for Microsoft Visual Studio. + +MSVSPROJECTCOM +MSVSSOLUTIONCOM +MSVSSCONSCRIPT +MSVSSCONS +MSVSSCONSFLAGS +MSVSSCONSCOM +MSVSBUILDCOM +MSVSREBUILDCOM +MSVSCLEANCOM +MSVSENCODING + + + @@ -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 +INCLUDE +or +LIB +environment variables are set explictly. + +Under Visual Studio version 6, setting -MSVS_USE_MFC_DIRS +&cv-MSVS_USE_MFC_DIRS; to a non-zero value adds the ATL\include @@ -386,42 +406,57 @@ the default INCLUDE external environment variable, and adds the -MFC\lib +MFC\lib directory to the default LIB external environment variable. -Under MSVS version 7, + +Under Visual Studio version 7, setting -MSVS_USE_MFC_DIRS +&cv-MSVS_USE_MFC_DIRS; to a non-zero value adds the -atlmfc\include +atlmfc\include directory to the default INCLUDE external environment variable, and adds the -atlmfc\lib +atlmfc\lib directory to the default LIB external environment variable. -The current default value is -1, -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 -MSVS_USE_MFC_DIRS -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 +atlmfc\include +directory to the default INCLUDE -or +external environment variable, +and the +atlmfc\lib +directory to the default LIB -environment variables are set explictly. +external environment variable. +If, however, the +['MSVS']['PLATFORMSDKDIR'] +variable is set, +then the +mfc +and the +atl +subdirectories of the +PLATFORMSDKDIR +are added to the default value of the +INCLUDE +external environment variable, +and the default value of the +LIB +external environment variable is left untouched. diff --git a/src/engine/SCons/Tool/mwcc.xml b/src/engine/SCons/Tool/mwcc.xml index 443eda7..5ea07ee 100644 --- a/src/engine/SCons/Tool/mwcc.xml +++ b/src/engine/SCons/Tool/mwcc.xml @@ -6,8 +6,36 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Metrowerks CodeWarrior compiler. + +MWCW_VERSIONS +MWCW_VERSION + +CC +CCCOM +CXX +CXXCOM +SHCC +SHCCFLAGS +SHCFLAGS +SHCCCOM +SHCXX +SHCXXFLAGS +SHCXXCOM +CFILESUFFIX +CXXFILESUFFIX +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX + + +CCCOMSTR +CXXCOMSTR +SHCCCOMSTR +SHCXXCOMSTR + diff --git a/src/engine/SCons/Tool/mwld.xml b/src/engine/SCons/Tool/mwld.xml index 9943927..c2b0d63 100644 --- a/src/engine/SCons/Tool/mwld.xml +++ b/src/engine/SCons/Tool/mwld.xml @@ -6,6 +6,22 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Metrowerks CodeWarrior linker. + +AR +ARCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX +LINK +LINKCOM +SHLINK +SHLINKFLAGS +SHLINKCOM + + + + diff --git a/src/engine/SCons/Tool/nasm.xml b/src/engine/SCons/Tool/nasm.xml index 071f537..d2cb5c2 100644 --- a/src/engine/SCons/Tool/nasm.xml +++ b/src/engine/SCons/Tool/nasm.xml @@ -6,6 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the +nasm Netwide Assembler. + +AS +ASFLAGS +ASPPFLAGS +ASCOM +ASPPCOM + + +ASCOMSTR +ASPPCOMSTR + diff --git a/src/engine/SCons/Tool/pdf.xml b/src/engine/SCons/Tool/pdf.xml index 1e447dd..c3a4eed 100644 --- a/src/engine/SCons/Tool/pdf.xml +++ b/src/engine/SCons/Tool/pdf.xml @@ -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. --> + + +Sets construction variables for the Portable Document Format builder. + + +PDFPREFIX +PDFSUFFIX + + + Builds a .pdf file diff --git a/src/engine/SCons/Tool/pdflatex.xml b/src/engine/SCons/Tool/pdflatex.xml index e9fe793..71f6256 100644 --- a/src/engine/SCons/Tool/pdflatex.xml +++ b/src/engine/SCons/Tool/pdflatex.xml @@ -6,6 +6,44 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &pdflatex; utility. + +PDFLATEX +PDFLATEXFLAGS +PDFLATEXCOM +LATEXRETRIES + + +PDFLATEXCOMSTR + + + + +The &pdflatex; utility. + + + + + +The command line used to call the &pdflatex; utility. + + + + + +The string displayed when calling the &pdflatex; utility. +If this is not set, then &cv-link-PDFLATEXCOM; (the command line) is displayed. + + +env = Environment(PDFLATEX;COMSTR = "Building $TARGET from LaTeX input $SOURCES") + + + + + + +General options passed to the &pdflatex; utility. + + diff --git a/src/engine/SCons/Tool/pdftex.xml b/src/engine/SCons/Tool/pdftex.xml index 47e4138..a895d6f 100644 --- a/src/engine/SCons/Tool/pdftex.xml +++ b/src/engine/SCons/Tool/pdftex.xml @@ -6,6 +6,48 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &pdftex; utility. + +PDFTEX +PDFTEXFLAGS +PDFTEXCOM +PDFLATEX +PDFLATEXFLAGS +PDFLATEXCOM +LATEXRETRIES + + +PDFTEXCOMSTR +PDFLATEXCOMSTR + + + + +The &pdftex; utility. + + + + + +The command line used to call the &pdftex; utility. + + + + + +The string displayed when calling the &pdftex; utility. +If this is not set, then &cv-link-PDFTEXCOM; (the command line) is displayed. + + +env = Environment(PDFTEXCOMSTR = "Building $TARGET from TeX input $SOURCES") + + + + + + +General options passed to the &pdftex; utility. + + diff --git a/src/engine/SCons/Tool/qt.xml b/src/engine/SCons/Tool/qt.xml index 4b11cbc..66fe554 100644 --- a/src/engine/SCons/Tool/qt.xml +++ b/src/engine/SCons/Tool/qt.xml @@ -6,8 +6,36 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for building Qt applications. + +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 + + + @@ -168,10 +196,10 @@ file. - + Default value is '-i'. These flags are passed to moc, when moccing a -cpp file. +C++ file. diff --git a/src/engine/SCons/Tool/rmic.xml b/src/engine/SCons/Tool/rmic.xml index 63511e5..ff13f48 100644 --- a/src/engine/SCons/Tool/rmic.xml +++ b/src/engine/SCons/Tool/rmic.xml @@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &rmic; utility. + +RMIC +RMICFLAGS +RMICCOM +JAVACLASSSUFFIX + + +RMICCOMSTR + diff --git a/src/engine/SCons/Tool/rpcgen.xml b/src/engine/SCons/Tool/rpcgen.xml index a3adb22..dd77416 100644 --- a/src/engine/SCons/Tool/rpcgen.xml +++ b/src/engine/SCons/Tool/rpcgen.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for building with RPCGEN. + +RPCGEN +RPCGENFLAGS +RPCGENCLIENTFLAGS +RPCGENHEADERFLAGS +RPCGENSERVICEFLAGS +RPCGENXDRFLAGS + + + diff --git a/src/engine/SCons/Tool/sgiar.xml b/src/engine/SCons/Tool/sgiar.xml index ccea1ca..63debc4 100644 --- a/src/engine/SCons/Tool/sgiar.xml +++ b/src/engine/SCons/Tool/sgiar.xml @@ -6,6 +6,19 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the SGI library archiver. + +AR +ARFLAGS +ARCOMSTR +SHLINK +SHLINKFLAGS +LIBPREFIX +LIBSUFFIX + + +ARCOMSTR +SHLINKCOMSTR + diff --git a/src/engine/SCons/Tool/sgic++.xml b/src/engine/SCons/Tool/sgic++.xml index a507f79..a933ac2 100644 --- a/src/engine/SCons/Tool/sgic++.xml +++ b/src/engine/SCons/Tool/sgic++.xml @@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the SGI C++ compiler. + +CXX +CXXFLAGS +SHCXX +SHOBJSUFFIX + + diff --git a/src/engine/SCons/Tool/sgicc.xml b/src/engine/SCons/Tool/sgicc.xml index 285ae8c..152b841 100644 --- a/src/engine/SCons/Tool/sgicc.xml +++ b/src/engine/SCons/Tool/sgicc.xml @@ -6,6 +6,13 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the SGI C compiler. + +CXX +SHOBJSUFFIX + + + + diff --git a/src/engine/SCons/Tool/sgilink.xml b/src/engine/SCons/Tool/sgilink.xml index 8fa8f7d..2303972 100644 --- a/src/engine/SCons/Tool/sgilink.xml +++ b/src/engine/SCons/Tool/sgilink.xml @@ -6,6 +6,12 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the SGI linker. + +LINK +SHLINKFLAGS +RPATHPREFIX +RPATHSUFFIX + diff --git a/src/engine/SCons/Tool/sunar.xml b/src/engine/SCons/Tool/sunar.xml index e22563d..884a864 100644 --- a/src/engine/SCons/Tool/sunar.xml +++ b/src/engine/SCons/Tool/sunar.xml @@ -6,6 +6,20 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Sun library archiver. + +AR +ARFLAGS +ARCOM +SHLINK +SHLINKFLAGS +SHLINKCOM +LIBPREFIX +LIBSUFFIX + + +ARCOMSTR +SHLINKCOMSTR + diff --git a/src/engine/SCons/Tool/sunc++.xml b/src/engine/SCons/Tool/sunc++.xml index c18dd90..6eb2920 100644 --- a/src/engine/SCons/Tool/sunc++.xml +++ b/src/engine/SCons/Tool/sunc++.xml @@ -6,6 +6,14 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Sun C++ compiler. + +CXX +SHCXX +CXXVERSION +SHCXXFLAGS +SHOBJPREFIX +SHOBJSUFFIX + diff --git a/src/engine/SCons/Tool/suncc.xml b/src/engine/SCons/Tool/suncc.xml index 9f6d340..da91d12 100644 --- a/src/engine/SCons/Tool/suncc.xml +++ b/src/engine/SCons/Tool/suncc.xml @@ -6,6 +6,12 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Sun C compiler. + +CXX +SHCCFLAGS +SHOBJPREFIX +SHOBJSUFFIX + diff --git a/src/engine/SCons/Tool/sunlink.xml b/src/engine/SCons/Tool/sunlink.xml index 6cad24f..083d428 100644 --- a/src/engine/SCons/Tool/sunlink.xml +++ b/src/engine/SCons/Tool/sunlink.xml @@ -6,6 +6,11 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Sun linker. + +SHLINKFLAGS +RPATHPREFIX +RPATHSUFFIX + diff --git a/src/engine/SCons/Tool/swig.xml b/src/engine/SCons/Tool/swig.xml index 05faff2..d277d64 100644 --- a/src/engine/SCons/Tool/swig.xml +++ b/src/engine/SCons/Tool/swig.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the SWIG interface generator. + +SWIG +SWIGFLAGS +SWIGCFILESUFFIX +SWIGCXXFILESUFFIX +SWIGCOM + + +SWIGCOMSTR + diff --git a/src/engine/SCons/Tool/tar.xml b/src/engine/SCons/Tool/tar.xml index 763df54..8cf407d 100644 --- a/src/engine/SCons/Tool/tar.xml +++ b/src/engine/SCons/Tool/tar.xml @@ -6,8 +6,17 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &tar; archiver. + +TAR +TARFLAGS +TARCOM +TARSUFFIX + + +TARCOMSTR + diff --git a/src/engine/SCons/Tool/tex.xml b/src/engine/SCons/Tool/tex.xml index 4cfc252..80a84cc 100644 --- a/src/engine/SCons/Tool/tex.xml +++ b/src/engine/SCons/Tool/tex.xml @@ -6,8 +6,28 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the TeX formatter and typesetter. + +TEX +TEXFLAGS +TEXCOM +LATEX +LATEXFLAGS +LATEXCOM +BIBTEX +BIBTEXFLAGS +BIBTEXCOM +MAKEINDEX +MAKEINDEXFLAGS +MAKEINDEXCOM + + +TEXCOMSTR +LATEXCOMSTR +BIBTEXCOMSTR +MAKEINDEXCOMSTR + diff --git a/src/engine/SCons/Tool/tlib.xml b/src/engine/SCons/Tool/tlib.xml index 9415c7d..55179d3 100644 --- a/src/engine/SCons/Tool/tlib.xml +++ b/src/engine/SCons/Tool/tlib.xml @@ -6,6 +6,17 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the Borlan +tib library archiver. + +AR +ARFLAGS +ARCOM +LIBPREFIX +LIBSUFFIX + + +ARCOMSTR + diff --git a/src/engine/SCons/Tool/yacc.xml b/src/engine/SCons/Tool/yacc.xml index a6ad9b4..2db0603 100644 --- a/src/engine/SCons/Tool/yacc.xml +++ b/src/engine/SCons/Tool/yacc.xml @@ -6,8 +6,19 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &yacc; parse generator. + +YACC +YACCFLAGS +YACCCOM +YACCHFILESUFFIX +YACCHXXFILESUFFIX +YACCVCGFILESUFFIX + + +YACCCOMSTR + diff --git a/src/engine/SCons/Tool/zip.xml b/src/engine/SCons/Tool/zip.xml index 909a4c4..c7c233e 100644 --- a/src/engine/SCons/Tool/zip.xml +++ b/src/engine/SCons/Tool/zip.xml @@ -6,8 +6,18 @@ See its __doc__ string for a discussion of the format. --> -XXX +Sets construction variables for the &zip; archiver. + +ZIP +ZIPFLAGS +ZIPCOM +ZIPCOMPRESSION +ZIPSUFFIX + + +ZIPCOMSTR + @@ -92,3 +102,9 @@ module is otherwise unavailable. General options passed to the zip utility. + + + +The suffix used for zip file names. + + diff --git a/src/setup.py b/src/setup.py index d79aed7..5614adb 100644 --- a/src/setup.py +++ b/src/setup.py @@ -29,7 +29,7 @@ import stat import string import sys -Version = "0.96.96" +Version = "0.97" man_pages = [ 'scons.1', diff --git a/test/Dir.py b/test/Dir.py deleted file mode 100644 index d7ec9ae..0000000 --- a/test/Dir.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/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__" - -""" -Verify that the Dir() global function and environment method work -correctly, and that the former does not try to expand construction -variables. -""" - -import TestSCons - -test = TestSCons.TestSCons() - -test.write('SConstruct', """ -env = Environment(FOO = 'fff', BAR = 'bbb') -print Dir('ddd') -print Dir('$FOO') -print Dir('${BAR}_$BAR') -print env.Dir('eee') -print env.Dir('$FOO') -print env.Dir('${BAR}_$BAR') -""") - -test.run(stdout = test.wrap_stdout(read_str = """\ -ddd -$FOO -${BAR}_$BAR -eee -fff -bbb_bbb -""", build_str = """\ -scons: `.' is up to date. -""")) - - - -test.write('SConstruct', """\ -import os -def my_mkdir(target=None, source=None, env=None): - os.mkdir(str(target[0])) - -MDBuilder = Builder(action=my_mkdir, target_factory=Dir) -env = Environment() -env.Append(BUILDERS = {'MD':MDBuilder}) -env.MD(target='sub1', source=['SConstruct']) -env.MD(target='sub2', source=['SConstruct'], OVERRIDE='foo') -""") - -test.run() - -test.pass_test() diff --git a/test/Dir/Dir.py b/test/Dir/Dir.py new file mode 100644 index 0000000..d7ec9ae --- /dev/null +++ b/test/Dir/Dir.py @@ -0,0 +1,74 @@ +#!/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__" + +""" +Verify that the Dir() global function and environment method work +correctly, and that the former does not try to expand construction +variables. +""" + +import TestSCons + +test = TestSCons.TestSCons() + +test.write('SConstruct', """ +env = Environment(FOO = 'fff', BAR = 'bbb') +print Dir('ddd') +print Dir('$FOO') +print Dir('${BAR}_$BAR') +print env.Dir('eee') +print env.Dir('$FOO') +print env.Dir('${BAR}_$BAR') +""") + +test.run(stdout = test.wrap_stdout(read_str = """\ +ddd +$FOO +${BAR}_$BAR +eee +fff +bbb_bbb +""", build_str = """\ +scons: `.' is up to date. +""")) + + + +test.write('SConstruct', """\ +import os +def my_mkdir(target=None, source=None, env=None): + os.mkdir(str(target[0])) + +MDBuilder = Builder(action=my_mkdir, target_factory=Dir) +env = Environment() +env.Append(BUILDERS = {'MD':MDBuilder}) +env.MD(target='sub1', source=['SConstruct']) +env.MD(target='sub2', source=['SConstruct'], OVERRIDE='foo') +""") + +test.run() + +test.pass_test() diff --git a/test/Dir/mixed-targets.py b/test/Dir/mixed-targets.py new file mode 100644 index 0000000..52f9f0a --- /dev/null +++ b/test/Dir/mixed-targets.py @@ -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() diff --git a/test/Dir/source.py b/test/Dir/source.py new file mode 100644 index 0000000..fa07a88 --- /dev/null +++ b/test/Dir/source.py @@ -0,0 +1,172 @@ +#!/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__" + +""" +This test tests directories as source files. The correct behavior is that +any file under a directory acts like a source file of that directory. +In other words, if a build has a directory as a source file, any +change in any file under that directory should trigger a rebuild. +""" + +import sys +import TestSCons + + +test = TestSCons.TestSCons() + +test.subdir('bsig', [ 'bsig', 'subdir' ], + 'csig', [ 'csig', 'subdir' ], + 'cmd-bsig', [ 'cmd-bsig', 'subdir' ], + 'cmd-csig', [ 'cmd-csig', 'subdir' ]) + +test.write('SConstruct', """\ +def writeTarget(target, source, env): + f=open(str(target[0]), 'wb') + f.write("stuff\\n") + f.close() + return 0 + +test_bld_dir = Builder(action=writeTarget, + source_factory=Dir, + source_scanner=DirScanner) +test_bld_file = Builder(action=writeTarget) +env = Environment() +env['BUILDERS']['TestDir'] = test_bld_dir +env['BUILDERS']['TestFile'] = test_bld_file + +env_bsig = env.Clone() +env_bsig.TargetSignatures('build') +env_bsig.TestFile(source='junk.txt', target='bsig/junk.out') +env_bsig.TestDir(source='bsig', target='bsig.out') +env_bsig.Command('cmd-bsig-noscan.out', 'cmd-bsig', writeTarget) +env_bsig.Command('cmd-bsig.out', 'cmd-bsig', writeTarget, + source_scanner=DirScanner) + +env_csig = env.Clone() +env_csig.TargetSignatures('content') +env_csig.TestFile(source='junk.txt', target='csig/junk.out') +env_csig.TestDir(source='csig', target='csig.out') +env_csig.Command('cmd-csig-noscan.out', 'cmd-csig', writeTarget) +env_csig.Command('cmd-csig.out', 'cmd-csig', writeTarget, + source_scanner=DirScanner) +""") + +test.write([ 'bsig', 'foo.txt' ], 'foo.txt 1\n') +test.write([ 'bsig', '#hash.txt' ], 'hash.txt 1\n') +test.write([ 'bsig', 'subdir', 'bar.txt'], 'bar.txt 1\n') +test.write([ 'bsig', 'subdir', '#hash.txt'], 'hash.txt 1\n') +test.write([ 'csig', 'foo.txt' ], 'foo.txt 1\n') +test.write([ 'csig', '#hash.txt' ], 'hash.txt 1\n') +test.write([ 'csig', 'subdir', 'bar.txt' ], 'bar.txt 1\n') +test.write([ 'csig', 'subdir', '#hash.txt' ], 'hash.txt 1\n') +test.write([ 'cmd-bsig', 'foo.txt' ], 'foo.txt 1\n') +test.write([ 'cmd-bsig', '#hash.txt' ], 'hash.txt 1\n') +test.write([ 'cmd-bsig', 'subdir', 'bar.txt' ], 'bar.txt 1\n') +test.write([ 'cmd-bsig', 'subdir', '#hash.txt' ], 'hash.txt 1\n') +test.write([ 'cmd-csig', 'foo.txt' ], 'foo.txt 1\n') +test.write([ 'cmd-csig', '#hash.txt' ], '#hash.txt 1\n') +test.write([ 'cmd-csig', 'subdir', 'bar.txt' ], 'bar.txt 1\n') +test.write([ 'cmd-csig', 'subdir', '#hash.txt' ], 'hash.txt 1\n') +test.write('junk.txt', 'junk.txt\n') + +test.run(arguments=".", stderr=None) +test.must_match('bsig.out', 'stuff\n') +test.must_match('csig.out', 'stuff\n') +test.must_match('cmd-bsig.out', 'stuff\n') +test.must_match('cmd-csig.out', 'stuff\n') +test.must_match('cmd-bsig-noscan.out', 'stuff\n') +test.must_match('cmd-csig-noscan.out', 'stuff\n') + +test.up_to_date(arguments='bsig.out') +test.up_to_date(arguments='csig.out') +test.up_to_date(arguments='cmd-bsig.out') +test.up_to_date(arguments='cmd-csig.out') +test.up_to_date(arguments='cmd-bsig-noscan.out') +test.up_to_date(arguments='cmd-csig-noscan.out') + +test.write([ 'bsig', 'foo.txt' ], 'foo.txt 2\n') +test.not_up_to_date(arguments='bsig.out') + +test.write([ 'bsig', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='bsig.out') + +test.write([ 'csig', 'foo.txt' ], 'foo.txt 2\n') +test.not_up_to_date(arguments='csig.out') + +test.write([ 'csig', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='csig.out') + +test.write([ 'cmd-bsig', 'foo.txt' ], 'foo.txt 2\n') +test.not_up_to_date(arguments='cmd-bsig.out') +test.up_to_date(arguments='cmd-bsig-noscan.out') + +test.write([ 'cmd-bsig', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='cmd-bsig.out') +test.up_to_date(arguments='cmd-bsig-noscan.out') + +test.write([ 'cmd-csig', 'foo.txt' ], 'foo.txt 2\n') +test.not_up_to_date(arguments='cmd-csig.out') +test.up_to_date(arguments='cmd-csig-noscan.out') + +test.write([ 'cmd-csig', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='cmd-csig.out') +test.up_to_date(arguments='cmd-csig-noscan.out') + +test.write([ 'bsig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') +test.not_up_to_date(arguments='bsig.out') + +test.write([ 'bsig', 'subdir', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='bsig.out') + +test.write([ 'csig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') +test.not_up_to_date(arguments='csig.out') + +test.write([ 'csig', 'subdir', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='csig.out') + +test.write([ 'cmd-bsig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') +test.not_up_to_date(arguments='cmd-bsig.out') +test.up_to_date(arguments='cmd-bsig-noscan.out') + +test.write([ 'cmd-bsig', 'subdir', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='cmd-bsig.out') +test.up_to_date(arguments='cmd-bsig-noscan.out') + +test.write([ 'cmd-csig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') +test.not_up_to_date(arguments='cmd-csig.out') +test.up_to_date(arguments='cmd-csig-noscan.out') + +test.write([ 'cmd-csig', 'subdir', 'new.txt' ], 'new.txt\n') +test.not_up_to_date(arguments='cmd-csig.out') +test.up_to_date(arguments='cmd-csig-noscan.out') + +test.write('junk.txt', 'junk.txt 2\n') +test.not_up_to_date(arguments='bsig.out') +# XXX For some reason, 'csig' is still reported as up to date. +# XXX Comment out this test until someone can look at it. +#test.not_up_to_date(arguments='csig.out') + +test.pass_test() diff --git a/test/DirSource.py b/test/DirSource.py deleted file mode 100644 index fa07a88..0000000 --- a/test/DirSource.py +++ /dev/null @@ -1,172 +0,0 @@ -#!/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__" - -""" -This test tests directories as source files. The correct behavior is that -any file under a directory acts like a source file of that directory. -In other words, if a build has a directory as a source file, any -change in any file under that directory should trigger a rebuild. -""" - -import sys -import TestSCons - - -test = TestSCons.TestSCons() - -test.subdir('bsig', [ 'bsig', 'subdir' ], - 'csig', [ 'csig', 'subdir' ], - 'cmd-bsig', [ 'cmd-bsig', 'subdir' ], - 'cmd-csig', [ 'cmd-csig', 'subdir' ]) - -test.write('SConstruct', """\ -def writeTarget(target, source, env): - f=open(str(target[0]), 'wb') - f.write("stuff\\n") - f.close() - return 0 - -test_bld_dir = Builder(action=writeTarget, - source_factory=Dir, - source_scanner=DirScanner) -test_bld_file = Builder(action=writeTarget) -env = Environment() -env['BUILDERS']['TestDir'] = test_bld_dir -env['BUILDERS']['TestFile'] = test_bld_file - -env_bsig = env.Clone() -env_bsig.TargetSignatures('build') -env_bsig.TestFile(source='junk.txt', target='bsig/junk.out') -env_bsig.TestDir(source='bsig', target='bsig.out') -env_bsig.Command('cmd-bsig-noscan.out', 'cmd-bsig', writeTarget) -env_bsig.Command('cmd-bsig.out', 'cmd-bsig', writeTarget, - source_scanner=DirScanner) - -env_csig = env.Clone() -env_csig.TargetSignatures('content') -env_csig.TestFile(source='junk.txt', target='csig/junk.out') -env_csig.TestDir(source='csig', target='csig.out') -env_csig.Command('cmd-csig-noscan.out', 'cmd-csig', writeTarget) -env_csig.Command('cmd-csig.out', 'cmd-csig', writeTarget, - source_scanner=DirScanner) -""") - -test.write([ 'bsig', 'foo.txt' ], 'foo.txt 1\n') -test.write([ 'bsig', '#hash.txt' ], 'hash.txt 1\n') -test.write([ 'bsig', 'subdir', 'bar.txt'], 'bar.txt 1\n') -test.write([ 'bsig', 'subdir', '#hash.txt'], 'hash.txt 1\n') -test.write([ 'csig', 'foo.txt' ], 'foo.txt 1\n') -test.write([ 'csig', '#hash.txt' ], 'hash.txt 1\n') -test.write([ 'csig', 'subdir', 'bar.txt' ], 'bar.txt 1\n') -test.write([ 'csig', 'subdir', '#hash.txt' ], 'hash.txt 1\n') -test.write([ 'cmd-bsig', 'foo.txt' ], 'foo.txt 1\n') -test.write([ 'cmd-bsig', '#hash.txt' ], 'hash.txt 1\n') -test.write([ 'cmd-bsig', 'subdir', 'bar.txt' ], 'bar.txt 1\n') -test.write([ 'cmd-bsig', 'subdir', '#hash.txt' ], 'hash.txt 1\n') -test.write([ 'cmd-csig', 'foo.txt' ], 'foo.txt 1\n') -test.write([ 'cmd-csig', '#hash.txt' ], '#hash.txt 1\n') -test.write([ 'cmd-csig', 'subdir', 'bar.txt' ], 'bar.txt 1\n') -test.write([ 'cmd-csig', 'subdir', '#hash.txt' ], 'hash.txt 1\n') -test.write('junk.txt', 'junk.txt\n') - -test.run(arguments=".", stderr=None) -test.must_match('bsig.out', 'stuff\n') -test.must_match('csig.out', 'stuff\n') -test.must_match('cmd-bsig.out', 'stuff\n') -test.must_match('cmd-csig.out', 'stuff\n') -test.must_match('cmd-bsig-noscan.out', 'stuff\n') -test.must_match('cmd-csig-noscan.out', 'stuff\n') - -test.up_to_date(arguments='bsig.out') -test.up_to_date(arguments='csig.out') -test.up_to_date(arguments='cmd-bsig.out') -test.up_to_date(arguments='cmd-csig.out') -test.up_to_date(arguments='cmd-bsig-noscan.out') -test.up_to_date(arguments='cmd-csig-noscan.out') - -test.write([ 'bsig', 'foo.txt' ], 'foo.txt 2\n') -test.not_up_to_date(arguments='bsig.out') - -test.write([ 'bsig', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='bsig.out') - -test.write([ 'csig', 'foo.txt' ], 'foo.txt 2\n') -test.not_up_to_date(arguments='csig.out') - -test.write([ 'csig', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='csig.out') - -test.write([ 'cmd-bsig', 'foo.txt' ], 'foo.txt 2\n') -test.not_up_to_date(arguments='cmd-bsig.out') -test.up_to_date(arguments='cmd-bsig-noscan.out') - -test.write([ 'cmd-bsig', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='cmd-bsig.out') -test.up_to_date(arguments='cmd-bsig-noscan.out') - -test.write([ 'cmd-csig', 'foo.txt' ], 'foo.txt 2\n') -test.not_up_to_date(arguments='cmd-csig.out') -test.up_to_date(arguments='cmd-csig-noscan.out') - -test.write([ 'cmd-csig', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='cmd-csig.out') -test.up_to_date(arguments='cmd-csig-noscan.out') - -test.write([ 'bsig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') -test.not_up_to_date(arguments='bsig.out') - -test.write([ 'bsig', 'subdir', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='bsig.out') - -test.write([ 'csig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') -test.not_up_to_date(arguments='csig.out') - -test.write([ 'csig', 'subdir', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='csig.out') - -test.write([ 'cmd-bsig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') -test.not_up_to_date(arguments='cmd-bsig.out') -test.up_to_date(arguments='cmd-bsig-noscan.out') - -test.write([ 'cmd-bsig', 'subdir', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='cmd-bsig.out') -test.up_to_date(arguments='cmd-bsig-noscan.out') - -test.write([ 'cmd-csig', 'subdir', 'bar.txt' ], 'bar.txt 2\n') -test.not_up_to_date(arguments='cmd-csig.out') -test.up_to_date(arguments='cmd-csig-noscan.out') - -test.write([ 'cmd-csig', 'subdir', 'new.txt' ], 'new.txt\n') -test.not_up_to_date(arguments='cmd-csig.out') -test.up_to_date(arguments='cmd-csig-noscan.out') - -test.write('junk.txt', 'junk.txt 2\n') -test.not_up_to_date(arguments='bsig.out') -# XXX For some reason, 'csig' is still reported as up to date. -# XXX Comment out this test until someone can look at it. -#test.not_up_to_date(arguments='csig.out') - -test.pass_test() diff --git a/test/Parallel/ref_count.py b/test/Parallel/ref_count.py new file mode 100644 index 0000000..93b6142 --- /dev/null +++ b/test/Parallel/ref_count.py @@ -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() diff --git a/test/Perforce/Perforce.py b/test/Perforce/Perforce.py index 0133ced..a24c65d 100644 --- a/test/Perforce/Perforce.py +++ b/test/Perforce/Perforce.py @@ -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) diff --git a/test/TEX/bibtex-latex-rerun.py b/test/TEX/bibtex-latex-rerun.py index 2293216..353d9a4 100644 --- a/test/TEX/bibtex-latex-rerun.py +++ b/test/TEX/bibtex-latex-rerun.py @@ -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""" diff --git a/test/import.py b/test/import.py index d267f00..7debffc 100644 --- a/test/import.py +++ b/test/import.py @@ -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 = """ -- cgit v0.12