Merged revisions 2454-2525 via svnmerge from
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Thu, 13 Dec 2007 04:25:43 +0000 (04:25 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Thu, 13 Dec 2007 04:25:43 +0000 (04:25 +0000)
commitb11691d95c3dec33e43342908957d46a05105412
tree86299c32c336859f1bf05c6e3800d8c54282ccd8
parente83216c06c63f9fa94c66c76a241e3ec513a23b2
Merged revisions 2454-2525 via svnmerge from
http://scons.tigris.org/svn/scons/branches/core

........
  r2455 | stevenknight | 2007-09-20 01:27:23 -0500 (Thu, 20 Sep 2007) | 2 lines

  Use ${TARGET.base} to make sure $TARGET attributes stay fixed.
........
  r2456 | stevenknight | 2007-09-25 11:52:30 -0500 (Tue, 25 Sep 2007) | 5 lines

  Issue 1734:  Avoid having content signature calculation of Alias Nodes
  consume excessive amounts of memory by having an Alias' "contents" be a
  concatenation of the children's signatures, not the children's contents.
  (Ken Deeter)
........
  r2457 | stevenknight | 2007-09-26 12:18:49 -0500 (Wed, 26 Sep 2007) | 2 lines

  Add an Options.UnknownOptions() method.
........
  r2458 | stevenknight | 2007-09-26 16:26:05 -0500 (Wed, 26 Sep 2007) | 2 lines

  Add a compatibility fnmatch.filter() function.
........
  r2459 | stevenknight | 2007-09-27 18:26:03 -0500 (Thu, 27 Sep 2007) | 3 lines

  Add a new Glob() function that matches in-memory Nodes as well as on-disk
  files (including matching repository and source directories).
........
  r2460 | stevenknight | 2007-09-28 15:01:37 -0500 (Fri, 28 Sep 2007) | 5 lines

  Issue 1020:  fix use of Clean() for files created by "side effect"
  in BuildDir() by removing the file by absolute path, not by what str()
  returns.  (It will think that the file is a source file and return a
  path to the source directory.)
........
  r2461 | stevenknight | 2007-09-29 05:39:09 -0500 (Sat, 29 Sep 2007) | 2 lines

  Update to TestCmd 0.28 modules.
........
  r2462 | stevenknight | 2007-09-29 05:49:29 -0500 (Sat, 29 Sep 2007) | 3 lines

  The RPM packaging can no longer take a "target" argument and produces
  an appropriate error message.  Update the test accordingly.
........
  r2463 | pscholl | 2007-09-30 08:57:01 -0500 (Sun, 30 Sep 2007) | 3 lines

  fix documentation issues (issue 1736 on the bugtracker)
........
  r2464 | pscholl | 2007-09-30 09:39:49 -0500 (Sun, 30 Sep 2007) | 3 lines

  fix target set up if multiple package builders are specified at once.
........
  r2465 | stevenknight | 2007-10-01 13:00:44 -0500 (Mon, 01 Oct 2007) | 3 lines

  Update to TestCmd 0.29, with new methods for searching for a list
  of lines in output.
........
  r2466 | stevenknight | 2007-10-01 13:58:41 -0500 (Mon, 01 Oct 2007) | 4 lines

  Issue 1737:  Fix use of Configure() contexts with the -c (clean) and -h
  (help) options by supporting the ability to *configure* whether or no
  configure context tests are executed during those modes.
........
  r2467 | stevenknight | 2007-10-01 16:58:21 -0500 (Mon, 01 Oct 2007) | 2 lines

  Update to TestCmd 0.30, with a new TestCmd.rmdir() method.
........
  r2468 | stevenknight | 2007-10-01 17:05:44 -0500 (Mon, 01 Oct 2007) | 4 lines

  Issue 1586:  Capture a test script for "ghost" entries in .sconsign files.
  Test cases by Morten Elo Peterson and Jason Orendorff, packaged by
  Gary Oberbrunner.
........
  r2469 | stevenknight | 2007-10-04 11:21:12 -0500 (Thu, 04 Oct 2007) | 4 lines

  When cloning a construction environment, have the clone record the
  re-binding of the methods that were added to the original construction
  environment, so that further clones have their methods re-bound as well.
........
  r2470 | stevenknight | 2007-10-05 13:02:34 -0500 (Fri, 05 Oct 2007) | 3 lines

  Refactor the Glob() code for efficiency and readability.  (Greg Noel)
  Refactor Glob() unit tests for platform-independence.
........
  r2471 | stevenknight | 2007-10-09 10:49:15 -0500 (Tue, 09 Oct 2007) | 2 lines

  Back out Glob() refactoring to avoid Repository breakage.
........
  r2472 | stevenknight | 2007-10-09 12:16:33 -0500 (Tue, 09 Oct 2007) | 3 lines

  Fix ToolInitializer-related infinite recursion when the BUILDERS dict
  and the environment attributes can get out of sync.
........
  r2473 | stevenknight | 2007-10-10 14:39:19 -0500 (Wed, 10 Oct 2007) | 4 lines

  Fix a race condition in the -j sub-test by using marker directories to
  make sure (?) that the two build scripts are actually executed in parallel
  (regardless of system load).
........
  r2474 | stevenknight | 2007-10-11 12:32:07 -0500 (Thu, 11 Oct 2007) | 4 lines

  Re-fix globbing on case-insensitive systems like Windows.  Slight
  efficiency improvements as well (avoiding unnecessary calls to
  fnmatch.filter()).
........
  r2475 | stevenknight | 2007-10-11 15:04:42 -0500 (Thu, 11 Oct 2007) | 3 lines

  Refactor the Node lookup logic to fix handling Windows drive letters
  after an initial '#'.
........
  r2476 | stevenknight | 2007-10-12 00:01:31 -0500 (Fri, 12 Oct 2007) | 2 lines

  Fix nested scope issues (for the benefit of older Python versions).
........
  r2477 | stevenknight | 2007-10-12 11:36:21 -0500 (Fri, 12 Oct 2007) | 2 lines

  Issue 1743:  Document '#' interpretation, with examples.
........
  r2478 | stevenknight | 2007-10-12 12:17:50 -0500 (Fri, 12 Oct 2007) | 3 lines

  Fix the ability of our default ActionFactory function to handle Nodes
  as input.
........
  r2479 | stevenknight | 2007-10-12 13:53:37 -0500 (Fri, 12 Oct 2007) | 4 lines

  Enhance Options() file execution to add the file's directory to sys.path
  (and remove it afterwards) and to add a __name__ variable that can be
  used for introspecting on the file's location.
........
  r2480 | stevenknight | 2007-10-14 17:57:09 -0500 (Sun, 14 Oct 2007) | 4 lines

  Remove unnecessary os.path.normpath() calls when looking up directories
  or files by checking for whether we can just tack on a single entry name
  to the already-normalized lookup path of the directory Node.
........
  r2481 | stevenknight | 2007-10-17 01:08:47 -0500 (Wed, 17 Oct 2007) | 2 lines

  Add a GetBuildFailures() function.
........
  r2482 | stevenknight | 2007-10-17 09:56:18 -0500 (Wed, 17 Oct 2007) | 2 lines

  Fix the GetBuildFailures() example in the man page.
........
  r2483 | stevenknight | 2007-10-17 10:54:21 -0500 (Wed, 17 Oct 2007) | 3 lines

  Use sys.exitfunc if there's no atexit module (Python 1.5.2).
  Sort the failure list for deterministic build output under system load.
........
  r2484 | stevenknight | 2007-10-20 12:33:07 -0500 (Sat, 20 Oct 2007) | 2 lines

  Use more efficient Decider() defaults instead of {Target,Source}Signatures().
........
  r2485 | stevenknight | 2007-10-20 17:42:27 -0500 (Sat, 20 Oct 2007) | 2 lines

  Windows portability in GetBuildFailures() test scripts.
........
  r2486 | stevenknight | 2007-10-20 20:46:26 -0500 (Sat, 20 Oct 2007) | 2 lines

  Windows portability:  rename internal copy.py script, use a stub instead of tar.
........
  r2487 | stevenknight | 2007-10-24 23:36:24 -0500 (Wed, 24 Oct 2007) | 4 lines

  Whenever a script configures SConsignFile(None), make sure it uses
  stub compiler and linker scripts, not the system ones, to avoid writing
  (or trying to write) .sconsign files in system directories.
........
  r2488 | stevenknight | 2007-10-26 13:57:38 -0500 (Fri, 26 Oct 2007) | 2 lines

  Issue 1764:  Fix test-script portability issues on Solaris.
........
  r2489 | stevenknight | 2007-10-27 07:37:37 -0500 (Sat, 27 Oct 2007) | 3 lines

  Issue 1757:  add a CheckTypeSize() call to Configure contexts
  (David Cournapeau).
........
  r2490 | stevenknight | 2007-10-28 07:58:30 -0500 (Sun, 28 Oct 2007) | 2 lines

  Python 1.5.2 compatibility:  no use of +=.
........
  r2491 | stevenknight | 2007-10-29 12:13:35 -0500 (Mon, 29 Oct 2007) | 3 lines

  Issue 1758:  Fix the SCons packaging build for use with shared-lib
  versions of Python and to avoid .egg-info naming issues.
........
  r2492 | stevenknight | 2007-10-29 14:09:57 -0500 (Mon, 29 Oct 2007) | 2 lines

  Document the "expect" argument to CheckTypeSize().  (David Cournapeau)
........
  r2493 | stevenknight | 2007-11-05 20:57:27 -0600 (Mon, 05 Nov 2007) | 2 lines

  Fix use of Glob() when a pattern is below an explicitly-named subdirectory.
........
  r2495 | stevenknight | 2007-11-12 22:58:12 -0600 (Mon, 12 Nov 2007) | 5 lines

  Add a get_sources() access method to avoid an O(n^2) problem when adding
  sources to an Executor object.  The old code weeded out duplicates
  whenever a new source was added; the new code only does that when the
  source is list going to be used.
........
  r2496 | stevenknight | 2007-11-15 12:19:55 -0600 (Thu, 15 Nov 2007) | 4 lines

  Redefine the $WINDOWSPROGMANIFESTSUFFIX and
  $WINDOWSSHLIBMANIFESTSUFFIX variables so they pick up changes to
  the underlying $SHLIBSUFFIX and $PROGSUFFIX variables.
........
  r2497 | stevenknight | 2007-11-18 17:11:52 -0600 (Sun, 18 Nov 2007) | 4 lines

  Support .status and .command attributes of BuildError exceptions.
  Change Action objects to return BuildError objects (not raise them)
  when an action fails.
........
  r2498 | stevenknight | 2007-11-19 07:27:16 -0600 (Mon, 19 Nov 2007) | 3 lines

  When converting .sconsign paths to Nodes, use the more efficient
  _lookup_abs() method.
........
  r2499 | stevenknight | 2007-11-25 00:18:20 -0600 (Sun, 25 Nov 2007) | 3 lines

  Move the reflection-checking is_under() logic from the .srcdir_list()
  method to the .srcdir_duplicate() method.
........
  r2500 | stevenknight | 2007-11-25 00:31:33 -0600 (Sun, 25 Nov 2007) | 2 lines

  Have the .srcnode() method use the .srcdir_list() method.
........
  r2501 | stevenknight | 2007-11-28 22:56:39 -0600 (Wed, 28 Nov 2007) | 3 lines

  Issue 1845:  Have single-source Builders (like Object()) return
  NodeList objects even when called with multiple files.
........
  r2502 | stevenknight | 2007-11-28 23:00:46 -0600 (Wed, 28 Nov 2007) | 2 lines

  Issue 1845:  Document the NodeList behavior w.r.t Python's += operator.
........
  r2503 | stevenknight | 2007-11-29 09:35:31 -0600 (Thu, 29 Nov 2007) | 3 lines

  Issue 1840:  Fix a lot of typos in the man page and Users' Guide.
  (Malte Helmert)
........
  r2504 | stevenknight | 2007-11-29 10:41:44 -0600 (Thu, 29 Nov 2007) | 3 lines

  Issue 1841:  Fix --implicit-cache spurious rebuilds and inefficiency
  when using Builders that produce multiple targets.  (Benoit Belley)
........
  r2505 | stevenknight | 2007-11-30 17:36:03 -0600 (Fri, 30 Nov 2007) | 3 lines

  Unit test fix for Python 1.5.2, which can't .extend() lists with
  UserList objects.
........
  r2506 | stevenknight | 2007-11-30 20:37:14 -0600 (Fri, 30 Nov 2007) | 2 lines

  Python 1.5.2 portability:  use string.join(), not ' '.join().
........
  r2507 | stevenknight | 2007-11-30 21:42:19 -0600 (Fri, 30 Nov 2007) | 3 lines

  When searching directory lists like $CPPPATH, don't make Dir Nodes for
  directories that don't exist on disk.
........
  r2508 | stevenknight | 2007-12-01 00:14:35 -0600 (Sat, 01 Dec 2007) | 2 lines

  Add a Requires() function for specifying order-only prerequisites.
........
  r2509 | stevenknight | 2007-12-01 07:32:24 -0600 (Sat, 01 Dec 2007) | 3 lines

  Handle absolute paths without infinite recursion in the new code that
  searches for implicit dependencies without creating unnecessary Dir Nodes.
........
  r2510 | stevenknight | 2007-12-03 15:11:56 -0600 (Mon, 03 Dec 2007) | 2 lines

  Restore the rel_path() method, for the benefit of SConscript files using it.
........
  r2511 | stevenknight | 2007-12-04 00:34:02 -0600 (Tue, 04 Dec 2007) | 4 lines

  User's Guide updates for the Big Signature refactoring, capturing mention
  of things that still need documenting, and other changes from re-running
  the examples through the latest code.
........
  r2512 | stevenknight | 2007-12-04 08:48:51 -0600 (Tue, 04 Dec 2007) | 3 lines

  Issue 1846:  allow building only part of the dependency graph when
  BuildDir(duplicate=0) is used.  (Benoit Belley)
........
  r2513 | stevenknight | 2007-12-06 05:02:56 -0600 (Thu, 06 Dec 2007) | 3 lines

  Have the code that avoids creating unnecessary Dir Nodes when searching
  $*PATH variables handle absolute paths with Windows drive letters.
........
  r2514 | stevenknight | 2007-12-08 07:44:15 -0600 (Sat, 08 Dec 2007) | 6 lines

  Issue 1852:  Make the default behavior of
  {Source,Target}Signatures('timestamp') equivalent to
  'timestamp-match', not 'timestamp-newer'.  Fix use of CacheDir with
  Decider('timestamp-newer') by updating the modification time when copying
  files from the cache.
........
  r2515 | stevenknight | 2007-12-08 08:23:02 -0600 (Sat, 08 Dec 2007) | 4 lines

  Update the mock compiler inin/sconsoutput to use $CPPPATH.
  Capture the ripple effect in the Troubleshooting appendix.
  Also add a -t option to the mock "touch" command.
........
  r2516 | stevenknight | 2007-12-08 09:16:11 -0600 (Sat, 08 Dec 2007) | 3 lines

  Update the Dependencies chapter for use of the Decider() function,
  and to now discourage use of SourceSignatures() and TargetSignatures().
........
  r2517 | stevenknight | 2007-12-08 12:31:10 -0600 (Sat, 08 Dec 2007) | 4 lines

  Issue 1721:  On Windows, wrap __builtin__.close() and __builtin__.file()
  to disable file handle inheritance on any files opened by SCons during
  the run.
........
  r2518 | stevenknight | 2007-12-11 17:33:20 -0600 (Tue, 11 Dec 2007) | 4 lines

  Prevent the _get_str() method from causing underlying stat() values
  to be cached if we're not yet saving the string representations of
  FS.Base() Nodes.
........
  r2519 | stevenknight | 2007-12-11 23:27:05 -0600 (Tue, 11 Dec 2007) | 4 lines

  Add a warning about the unreliability of -j if the pywin32 modules aren't
  available or are old and can't suppress file handle inheritance.
  Add a release note about the change to open() and file().
........
  r2520 | stevenknight | 2007-12-11 23:28:05 -0600 (Tue, 11 Dec 2007) | 2 lines

  Add an overlooked update, fix spelling.
........
  r2521 | stevenknight | 2007-12-12 09:12:42 -0600 (Wed, 12 Dec 2007) | 3 lines

  Use &TargetSignatures; (replace missing ampersand) in the title of
  that section.  Move the &Depends; section to before the &Ignore; section.
........
  r2522 | stevenknight | 2007-12-12 09:20:46 -0600 (Wed, 12 Dec 2007) | 3 lines

  Final documentation update for checkpoint release:  propagate .in changes
  to .xml files.
........
  r2523 | stevenknight | 2007-12-12 09:29:11 -0600 (Wed, 12 Dec 2007) | 2 lines

  Update release lines for new checkpoint release.
........

git-svn-id: http://scons.tigris.org/svn/scons/trunk@2527 fdb21ef1-2011-0410-befe-b5e4ea1792b1
138 files changed:
QMTest/TestCmd.py
QMTest/TestCommon.py
SConstruct
bin/sconsoutput.py
doc/man/scons.1
doc/scons.mod
doc/user/ENV.in
doc/user/ENV.xml
doc/user/builders-writing.in
doc/user/builders-writing.xml
doc/user/command-line.in
doc/user/command-line.xml
doc/user/depends.in
doc/user/depends.xml
doc/user/environments.in
doc/user/environments.xml
doc/user/factories.in
doc/user/factories.xml
doc/user/file-removal.in
doc/user/file-removal.xml
doc/user/help.in
doc/user/help.xml
doc/user/hierarchy.in
doc/user/hierarchy.xml
doc/user/install.in
doc/user/install.xml
doc/user/libraries.in
doc/user/libraries.xml
doc/user/main.in
doc/user/main.xml
doc/user/parseconfig.in
doc/user/parseconfig.xml
doc/user/repositories.in
doc/user/repositories.xml
doc/user/sconf.in
doc/user/sconf.xml
doc/user/simple.in
doc/user/simple.xml
doc/user/sourcecode.xml
doc/user/troubleshoot.in
doc/user/troubleshoot.xml
src/CHANGES.txt
src/RELEASE.txt
src/engine/SCons/Action.py
src/engine/SCons/ActionTests.py
src/engine/SCons/Builder.py
src/engine/SCons/BuilderTests.py
src/engine/SCons/CacheDir.py
src/engine/SCons/Conftest.py
src/engine/SCons/Defaults.py
src/engine/SCons/Environment.py
src/engine/SCons/EnvironmentTests.py
src/engine/SCons/Errors.py
src/engine/SCons/Executor.py
src/engine/SCons/ExecutorTests.py
src/engine/SCons/Node/Alias.py
src/engine/SCons/Node/AliasTests.py
src/engine/SCons/Node/FS.py
src/engine/SCons/Node/FSTests.py
src/engine/SCons/Node/__init__.py
src/engine/SCons/Options/OptionsTests.py
src/engine/SCons/Options/__init__.py
src/engine/SCons/Platform/win32.py
src/engine/SCons/SConf.py
src/engine/SCons/SConfTests.py
src/engine/SCons/Script/Main.py
src/engine/SCons/Script/__init__.py
src/engine/SCons/Taskmaster.py
src/engine/SCons/TaskmasterTests.py
src/engine/SCons/Tool/mslink.py
src/engine/SCons/Tool/packaging/__init__.py
src/engine/SCons/Util.py
src/engine/SCons/compat/__init__.py
test/AR/AR.py
test/AR/ARFLAGS.py
test/BuildDir/Clean.py [new file with mode: 0644]
test/BuildDir/File-create.py [new file with mode: 0644]
test/BuildDir/Sconscript-build_dir.py
test/CC/SHCCCOMSTR.py
test/CXX/CXX.py
test/CXX/SHCXX.py
test/CXX/SHCXXCOMSTR.py
test/CacheDir/timestamp-content.py [moved from test/CacheDir/timestamp.py with 75% similarity]
test/CacheDir/timestamp-match.py [new file with mode: 0644]
test/CacheDir/timestamp-newer.py [new file with mode: 0644]
test/CacheDir/timestamp-timestamp.py [new file with mode: 0644]
test/Chmod.py
test/Configure/clean.py
test/Configure/help.py
test/Copy.py
test/Errors/preparation.py
test/Fortran/SHF77COMSTR.py
test/Fortran/SHF90COMSTR.py
test/Fortran/SHF95COMSTR.py
test/Fortran/SHFORTRANCOMSTR.py
test/GetBuildFailures/option-k.py [new file with mode: 0644]
test/GetBuildFailures/parallel.py [new file with mode: 0644]
test/GetBuildFailures/serial.py [new file with mode: 0644]
test/Glob/BuildDir.py [new file with mode: 0644]
test/Glob/Repository.py [new file with mode: 0644]
test/Glob/basic.py [new file with mode: 0644]
test/Glob/source.py [new file with mode: 0644]
test/Glob/strings.py [new file with mode: 0644]
test/Glob/subdir.py [new file with mode: 0644]
test/Glob/subst.py [new file with mode: 0644]
test/Install/Clone.py [new file with mode: 0644]
test/LINK/SHLINKCOMSTR.py
test/Library.py
test/MSVC/multiple-pdb.py
test/Mkdir.py
test/Move.py
test/NodeOps.py
test/Object.py
test/Options/chdir.py [new file with mode: 0644]
test/Options/import.py [new file with mode: 0644]
test/Parallel/duplicate-target.py
test/Parallel/failed-build.py [new file with mode: 0644]
test/Repository/variants.py
test/Requires/basic.py [new file with mode: 0644]
test/Scanner/no-Dir-node.py [new file with mode: 0644]
test/Touch.py
test/implicit-cache/DualTargets.py [new file with mode: 0644]
test/no-global-dependencies.py [new file with mode: 0644]
test/option-j.py
test/option/debug-dtree.py
test/option/debug-includes.py
test/option/debug-stree.py
test/option/debug-tree.py
test/option/tree-all.py
test/option/tree-derived.py
test/packaging/multiple-packages-at-once.py
test/packaging/rpm/explicit-target.py
test/sconsign/ghost-entries.py [new file with mode: 0644]
test/sconsign/script/Configure.py
test/sconsign/script/SConsignFile.py
test/sconsign/script/Signatures.py
test/sconsign/script/no-SConsignFile.py
test/subdivide.py