summaryrefslogtreecommitdiffstats
path: root/src/script/sconsign.py
Commit message (Collapse)AuthorAgeFilesLines
* Move scripts from src/scripts to scripts. Simplify scons.py to only be used ↵William Deegan2020-04-091-652/+0
| | | | for running from this source tree and for scons-local packaging
* Remove 'from __future__ import print_function' no longer needed as we're ↵William Deegan2020-02-171-2/+0
| | | | dropping < py 3.5
* Change scons and sconsign to error out if run with Python < 3.5William Deegan2019-12-301-2/+2
|
* syntax fixups suggested by PyCharmMats Wichmann2019-12-231-1/+1
| | | | | | | | | | | | | | Drop unneeded parens. Drop trailing semicolons. Triple double-quote docstrings. Regexes drop unneeded escapes. Spaces around parens, braces: remove/add. Some one-tuples get their missing closing comma. A couple of sets use set init syntax {foo} instead of set([iter]) now. And a fiddle in Node to reduce lookup time on md5 signature functions (came about because of a line-too-long issue, initially) Signed-off-by: Mats Wichmann <mats@linux.com>
* Some more lint-derived cleanupsMats Wichmann2019-04-271-3/+3
| | | | | | | | | | | | Consistently use "not is" and "not in", many instances used the form "not x is y" instead, which pylint objected to. A couple of bare except clauses got a qualifier. Files otherwise touched had trailing whitespace cleaned up as well. These are all things that sider would complain about if a change happened nearby, so this is pre-emptive. Signed-off-by: Mats Wichmann <mats@linux.com>
* Give sconsign a default filename.Mats Wichmann2019-04-051-39/+50
| | | | | | | | | | | | | | | | sconsign required filename(s) or directory name(s) to do anything, in their absence it just quits silently. Change so if filename argument omitted, use the same default as scons - .sconsign.dblite. print something in case of bad options. add an extra info line in case the sconsign cannot be read due to pickle protocol (when py2 used in a place where scons previously run with py3) Tweak the manpage a bit. Signed-off-by: Mats Wichmann <mats@linux.com>
* [PY 3.8] tempoary fix: move imp importMats Wichmann2019-03-301-1/+2
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* scons-local version has symlink problemsMats Wichmann2019-01-191-1/+1
| | | | | | | | | | | | | | Earlier fix to running with scons-local when the directory is a symlink (i.e. scons-local symlinked to scons-local-{versiontag} and invoked as scons-local/scons.py) broke running scons when the "executable" is a symlink. Restoring that behavior. This is dodgy to test reliably on a developer system, as the fallback mechansim to find a usable scons goes on to look for a system-installed scons, so it looked like it was working. I will add a test if I can figure out a good way. Signed-off-by: Mats Wichmann <mats@linux.com>
* For sconsign, add a warning message if missing sigsMats Wichmann2018-12-011-3/+56
| | | | | | | | Rather than just silently moving on, emit warning messages if id count does not match signature count; summarize at the end if there were any warnings. Signed-off-by: Mats Wichmann <mats@linux.com>
* For PR #3238: suggestion to use a comprehensionMats Wichmann2018-12-011-3/+2
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* For PR #3238: use a try block for str/bytes problemMats Wichmann2018-12-011-1/+4
| | | | | | | | | The previous fix changed a failing line that printed something that could be bytes in Py3 to do a decode. But it turned out that value can be either str or bytes and the change failed the sconsign tests. Use a try block instead of unconditionally calling decode. Signed-off-by: Mats Wichmann <mats@linux.com>
* Some fixes to sconsignMats Wichmann2018-12-011-21/+47
| | | | | | | | | | | | | | | | | | | | | | | | Two locations which attempt to directly print an item tipped over on py3, so they now decode(). There seem to be cases where implicit dependencies do not have signatures, so instead of looping through the dep list and indexing into the signature list (IndexError), the two lists are now zipped, which means nothing is printed, but sconsign does not die (the zip technique is used in FS.py in the engine). Minor PEP8 changes: spaces around operators; shorter lines; two-blanks rule around classes/functions. Also unused args changed to _ to show it was intentional. Manpage updated slightly - the internal whichdb function explicitly looks for the .dblite suffix, so the claim that if it's not .dbm it is assumed to be dblite was not true. sconsign still will not work on a dblite file which is not suffixed .dblite, but that is an existing problem, not a newly introduced one. Signed-off-by: Mats Wichmann <mats@linux.com>
* Get a little smarter about finding the scons engine.Mats Wichmann2018-10-121-41/+45
| | | | | | | | | | In the common script stanza, Previous version was generating some paths that were not useful. Make sure the path pulled from package info is not mangled into unsuability. General cleanup. Write error message to stderr instead of stdout in scons.py. Signed-off-by: Mats Wichmann <mats@linux.com>
* A few syntax cleanupsMats Wichmann2018-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | Suggested by PyCharm. Includes three "real" changes: 1. src/engine/SCons/Node/__init__.py has a print statement in a function which references 'self', but there is no 'self' defined (it is not a method in a class). Guessing it should have been 'node'. 2. src/engine/SCons/Environment.py makes a call using 'kwbd' which is not defined, looks like a copy-paste error and should be 'bd'. 3. src/engine/SCons/Tool/JavaCommon.py splits 'file', which is not defined, was evidently supposed to be 'fn'. These should be double-checked. The rest are purely syntax: whitespace, dropping trailing semicolons, using "is" to test for None, simplifying comparisons, normalizing docstring commenting ("always triple double quotes"), unneeded backslashes. Signed-off-by: Mats Wichmann <mats@linux.com>
* Apply fix for sconsign.py as wellChristian Sandberg2017-09-241-1/+1
|
* Dirty hack for failing test/sconsign/script/Configure.pyGaurav Juvekar2017-04-141-0/+5
|
* remove py3 checking codeWilliam Deegan2017-03-131-7/+1
|
* use whichdb from dbm for py3, and whichdb from whichdb for py2William Deegan2017-03-111-8/+8
|
* comment out code which checks for py3 and failsWilliam Deegan2017-02-281-5/+5
|
* revert some py3 changes which fail no py2 on windows and any platform/python ↵William Deegan2016-05-151-3/+13
| | | | without dbm module installed. Revisit py3 issues after we get py2 working again
* Remove all the six stuff.Russel Winder2016-02-021-8/+2
|
* Some more print statements to functions.Russel Winder2016-01-011-1/+2
|
* Post merge commit for safety. Building Fortran code works, but tests fail.Russel Winder2015-12-241-3/+34
|\
| * removed several pre-2.7 methods and imports, including some basic refactoringsDirk Baechle2015-12-101-2/+33
| |
| * - switching Node class and NodeInfo/Binfo to using slotsDirk Baechle2015-02-261-1/+1
| | | | | | | | - memoizer subsystem now uses decorators instead of the metaclass approach
* | Added six module as SCons.compat.six, for python3 port.Gary Oberbrunner2014-04-201-2/+2
| |
* | Made former 2to3 changes Python 2.7 compatible (or removed unneeded changes).Stefan Zimmermann2014-03-311-1/+9
| |
* | Result of raw 2to3 run (2to3-2.7); checkpoint for python3 conversion.Gary Oberbrunner2013-09-221-20/+20
|/
* fix issue #2051 - broken installation with easy_install on WindowsAnatoly Techtonik2011-04-141-14/+15
| | | | the fix was only committed for unix previously
* Convert old-style classes in src/script to new-style classes.Steven Knight2010-05-201-2/+2
|
* Fix regression tests (imports not happening as expected)Greg Noel2010-04-251-9/+6
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-241-2/+0
| | | | | | | Comb out all code that supported earlier versions of Python. Most such code is in snippets of only a few lines and can be identified by having a Python version string in it. Such snippets add up; this combing pass probably got rid of over 500 lines of code.
* Add a stub compat/_scon_dbm.py module and copy whichdb.whichdb() toSteven Knight2010-04-141-8/+12
| | | | dbm.whichdb() if necessary.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-03-291-1/+1
| | | | | | | | | | | | | The 'buffer' fixer simply replaces 'buffer( ... )' with 'memoryview( ... )', which is incorrect for our cases, so these changes had to be done by hand and a forward-compatibility class added. The 'xrange' fixer was applied. Manual changes were minimal: a few case in test strings and one use of 'range' as an identifer in the same scope as where 'xrange' was converted to 'range'. The "sets15" compat function, which provided backward compatibility for Python versions prior to 2.2, was removed as no longer needed.
* http://scons.tigris.org/issues/show_bug.cgi?id=2329Greg Noel2010-03-271-8/+3
| | | | | | | | | | | | | | | Applied a number of idiomatic changes. Uses of the 'sort()' method were converted into calls of 'sorted()' when possible and the sorted() expression was inserted into a subsequent statement whenever that made sense. The statement 'while 1:' was changed to 'while True:'. Names from the 'types' module (e.g., 'types.FooType') were converted to the equivalent build-in type (e.g., 'foo'). Comparisons between types were changed to use 'isinstance()'.
* Move 2.0 changes collected in branches/pending back to trunk for furtherGreg Noel2010-03-251-14/+12
| | | | | development. Note that this set of changes is NOT backward-compatible; the trunk no longer works with Python 1.5.2, 2.0, or 2.1.
* Issue 2051: Support execution when installed via easy_install.Steven Knight2010-02-211-0/+13
| | | | (Gottfried Ganssauge)
* Add emacs and vim editing settings to the bottom of *.py files.Steven Knight2009-02-091-0/+6
|
* Issue 2005: Avoid an infinite loop looking for the Python librarySteven Knight2008-09-111-9/+10
| | | | | directory. Look for a "scons-local" directory in addition to a "scons-local-{version}" directory.
* Merged revisions 2928-2932,2934-2946 via svnmerge fromSteven Knight2008-05-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://scons.tigris.org/svn/scons/branches/core ........ r2932 | garyo | 2008-04-30 09:14:38 -0700 (Wed, 30 Apr 2008) | 1 line Add doc for site_scons dir and related options. Closes issue #1996. ........ r2934 | stevenknight | 2008-04-30 22:05:38 -0700 (Wed, 30 Apr 2008) | 3 lines Issue 2039: Fix a syntax error in Intel C compiler support on Windows. (Jonas Olsson) ........ r2935 | belley | 2008-05-01 06:59:21 -0700 (Thu, 01 May 2008) | 10 lines test/KeyboardInterrupt.py no longer hangs under Cygwin. There seems to be a bug on Cygwin where the compiler process hangs after sending the SIGINT signal to the process group. It is probably a bug in cygwin1.dll, or maybe in the Python 'C' code or the Python subprocess module. We therefore do not use 'killpg' on Cygwin. Benoit ........ r2936 | belley | 2008-05-01 07:10:23 -0700 (Thu, 01 May 2008) | 12 lines cell_contents not defined in python < 2.5. [Issue 2035] Some versions of Python supports lexical scoping of local variables (aka closures) but not the cell_contents attribute that would allow the FunctionAction signature that take the content of these closure cells into account. The access to the cell_contents attribute is now protected with a try/except AttributeError so that at least the other parts of the function signature are properly computed. Benoit ........ r2937 | stevenknight | 2008-05-01 12:08:25 -0700 (Thu, 01 May 2008) | 3 lines When running tests, allow the user to set the $SCONSIGN variable to pick a specific sconsign script to execute. ........ r2938 | stevenknight | 2008-05-02 19:13:14 -0700 (Fri, 02 May 2008) | 2 lines Set svn:ignore to '*.py[co]'. ........ r2939 | stevenknight | 2008-05-08 21:07:18 -0700 (Thu, 08 May 2008) | 4 lines Issue 2033: Fix excessive memory use when a Python Value node's representation is stored in a .sconsign file and then re-stored after being interpreted with escaped backslashes and quotes. ........ r2940 | cournape | 2008-05-16 03:56:49 -0700 (Fri, 16 May 2008) | 1 line Fix issue 2054. ........ r2941 | stevenknight | 2008-05-16 12:02:45 -0700 (Fri, 16 May 2008) | 8 lines Issue 2045: After a Node has failed its build and we're propagating the failure to other Nodes on the candidate list, don't marke candidate Nodes as FAILED if they've already been visited and been determined to be up-to-date. This avoids problems with Configure tests not running because failure of an earlier Configure tests caused (e.g.) /usr/bin/g++ to get marked as FAILED, making SCons think it doesn't need to bother trying to rebuild anything that will use it... ........ r2942 | stevenknight | 2008-05-16 12:10:14 -0700 (Fri, 16 May 2008) | 8 lines Improve the regular expressions used by the test infrastructure to examine SCons output to decide if a list of targets are considered up-to-date or not. The new code uses the re.escape() function instead of hand-escaping '.' and '\n'. This required a little restructuring in the not_up_to_date() method to escape the characters within the arguments themselves, but not the surrounding characters we use to construct the regex that makes sure those strings *don't* exist in the output. ........ r2943 | stevenknight | 2008-05-16 14:04:23 -0700 (Fri, 16 May 2008) | 3 lines Issue 2049: Handle multiple pipe-separated values in Visual Studio for INCLUDE, LIB and PATH. Still only uses Win32, not any other values. ........ r2944 | stevenknight | 2008-05-16 18:36:27 -0700 (Fri, 16 May 2008) | 2 lines Record changes by David Cournapeau and Benoit Belley. ........ r2945 | stevenknight | 2008-05-17 07:13:46 -0700 (Sat, 17 May 2008) | 3 lines Pass in dc as a keyword argument to _smartLink for older Python versions without nested scopes. ........ r2946 | stevenknight | 2008-05-17 07:14:01 -0700 (Sat, 17 May 2008) | 3 lines Expect a warning about shadowing global variables on Python 2.1. (This code can go away after we release 1.0.) ........
* Merged revisions 2302-2362,2364-2452 via svnmerge fromSteven Knight2007-09-191-32/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://scons.tigris.org/svn/scons/branches/core ................ r2311 | stevenknight | 2007-08-17 07:51:31 -0500 (Fri, 17 Aug 2007) | 2 lines Fix the CHECKPOINT= help text. ................ r2313 | stevenknight | 2007-08-17 13:12:13 -0500 (Fri, 17 Aug 2007) | 2 lines Make sure the --debug=time works when -h is specified, too. ................ r2320 | stevenknight | 2007-08-18 08:54:49 -0500 (Sat, 18 Aug 2007) | 3 lines Don't execute any Configure() actions while reading SConscript files when -c or -h or -H are specified. ................ r2321 | stevenknight | 2007-08-20 08:48:57 -0500 (Mon, 20 Aug 2007) | 2 lines Cleaner test failure if before-and-after PostScript files don't match. ................ r2322 | stevenknight | 2007-08-20 11:02:57 -0500 (Mon, 20 Aug 2007) | 2 lines Remove function definitions that make some Java versions fail. ................ r2354 | stevenknight | 2007-08-20 14:26:13 -0500 (Mon, 20 Aug 2007) | 3 lines Relax test conditions for two scripts that have differing behavior under different versions of Java + SWIG (+ gcc...?). ................ r2355 | stevenknight | 2007-08-20 14:29:36 -0500 (Mon, 20 Aug 2007) | 2 lines Fix the SConstruct file so it doesn't die if Subversion isn't installed. ................ r2356 | stevenknight | 2007-08-20 22:26:35 -0500 (Mon, 20 Aug 2007) | 3 lines Update to latest Test{Cmd,Common}.py, with better avoidance of race conditions on temporary file and directory names. ................ r2373 | stevenknight | 2007-08-27 10:47:21 -0500 (Mon, 27 Aug 2007) | 2 lines Windows portability fixes in tests. ................ r2377 | stevenknight | 2007-08-27 12:33:47 -0500 (Mon, 27 Aug 2007) | 2 lines Add a null command list to suppress the baseline build when testing. ................ r2380 | stevenknight | 2007-08-27 16:33:42 -0500 (Mon, 27 Aug 2007) | 616 lines Merged revisions 1503-1543,1545-1546,1548-1558,1560-1562,1564-1886,1888-1909,1911-1941,1943,1945-1955,1957-1960,1962-1963,1965-1999,2001-2019,2021-2037,2039-2061,2063-2067,2069-2146,2148-2150,2152-2156,2158-2199,2201-2208,2210-2212,2214-2238,2240,2242-2288,2290-2291,2293-2305,2307-2364,2366-2373,2375-2377,2379 via svnmerge from http://scons.tigris.org/svn/scons/branches/sigrefactor ........ r1550 | stevenknight | 2006-07-27 21:40:08 -0500 (Thu, 27 Jul 2006) | 3 lines First cut at storing csig separately in the NodeInfo, but still using bsigs for up-to-date checks. ........ r1551 | stevenknight | 2006-07-28 07:07:27 -0500 (Fri, 28 Jul 2006) | 2 lines Refactor the use of dictify() to avoid __builtin__ issues with zip on 1.5. ........ r1552 | stevenknight | 2006-07-28 10:05:18 -0500 (Fri, 28 Jul 2006) | 3 lines Have msvsTests.py print why it's not executing tests when on a non-win32 system. ........ r1553 | stevenknight | 2006-07-28 11:28:37 -0500 (Fri, 28 Jul 2006) | 3 lines Refactor when NodeInfo objects get instantiated (when requested explicitly, not as a side effect of creating a BuildInfo object). ........ r1554 | stevenknight | 2006-07-28 11:42:53 -0500 (Fri, 28 Jul 2006) | 3 lines Refactor test/{Source,Target}Signatures.py to make changing their semantics easier. ........ r1555 | stevenknight | 2006-07-28 13:18:35 -0500 (Fri, 28 Jul 2006) | 6 lines Eliminate use of build signatures, changing interfaces and semantics of SourceSignature() and TargetSignatures(), accordingly. Make use of content signatures the default behavior. Get rid of most uses the Sig/*.py calculator modules and passing around a "calc" argument everywhere. ........ r1556 | stevenknight | 2006-07-28 15:14:03 -0500 (Fri, 28 Jul 2006) | 3 lines Fix use of CacheDir() with Alias and Value Nodes. Refactor sub-tests in test/CacheDir.py into separate test scripts. ........ r1557 | stevenknight | 2006-07-28 21:40:31 -0500 (Fri, 28 Jul 2006) | 2 lines Finish the necessary coding to remove the no-longer-needed Sig/*.py modules. ........ r1560 | stevenknight | 2006-07-29 05:52:27 -0500 (Sat, 29 Jul 2006) | 3 lines Move current_*() methods for the different flavors of file comparison into (e.g.) the Node.FS.File class itself, not its FileNodeInfo class. ........ r1562 | stevenknight | 2006-07-29 08:46:23 -0500 (Sat, 29 Jul 2006) | 2 lines Fix the default returned Boolean value of changed_{content,timestamp}(). ........ r1564 | stevenknight | 2006-07-29 10:51:24 -0500 (Sat, 29 Jul 2006) | 3 lines Fix the --debug=explain option. Move test/explain.py to test/option/debug-explain.py. ........ r1565 | stevenknight | 2006-07-29 16:09:31 -0500 (Sat, 29 Jul 2006) | 2 lines Refactor Taskmaster to visit source file Nodes in its walk. ........ r1566 | stevenknight | 2006-07-29 17:50:38 -0500 (Sat, 29 Jul 2006) | 4 lines Merge Node.FS._cur2() into Node.FS.is_up_to_date(). Use a Node.FS.*.make_ready() to handle disambiguation. Split the guts of has_src_builder() into a separate find_src_builder() method. ........ r1567 | stevenknight | 2006-07-29 17:55:36 -0500 (Sat, 29 Jul 2006) | 2 lines Make the sconsign script print the stored action information. ........ r1568 | stevenknight | 2006-07-29 17:59:03 -0500 (Sat, 29 Jul 2006) | 2 lines Refactor for test readability. ........ r1569 | stevenknight | 2006-07-29 20:32:26 -0500 (Sat, 29 Jul 2006) | 2 lines Get rid of the now-unnecessary "module" argument to SConsign methods. ........ r1570 | stevenknight | 2006-07-29 22:05:47 -0500 (Sat, 29 Jul 2006) | 3 lines Move content signature calcuation to an explicit make_ready() function. Collect NodeInfo field updating in the base class. ........ r1571 | stevenknight | 2006-07-30 06:26:17 -0500 (Sun, 30 Jul 2006) | 2 lines Eliminte the no-longer-necessary is_pseudo_derived() method. ........ r1572 | stevenknight | 2006-07-30 07:53:40 -0500 (Sun, 30 Jul 2006) | 2 lines Add tgt_sig_type arguments to various changed() methods' calling arguments. ........ r1573 | stevenknight | 2006-07-30 08:17:43 -0500 (Sun, 30 Jul 2006) | 2 lines More informative output from test/SideEffect.py when it fails. ........ r1574 | stevenknight | 2006-07-30 09:53:11 -0500 (Sun, 30 Jul 2006) | 3 lines Restore the ability to fall back gracefully to timestamps if the running version of Python has no md5 module available. ........ r1575 | stevenknight | 2006-08-02 20:21:04 -0500 (Wed, 02 Aug 2006) | 3 lines Fix a failing Qt test by calling disambiguate() before make_ready() for all of the targets in a list, not just the first. ........ r1646 | stevenknight | 2006-10-17 17:21:58 -0500 (Tue, 17 Oct 2006) | 6 lines Move all the scons.org stuff from the scons source tree itself to a directory next to the trunk, and delete the copies from the branches. There's a lot of stuff there (what with all of the documentation of the different versions) and it's ridiculous to make everyone sync it just to work on the code. ........ r1888 | stevenknight | 2007-04-17 14:57:47 -0500 (Tue, 17 Apr 2007) | 2 lines More efficient/cleaner code for dictifying --debug=explain info. ........ r1889 | stevenknight | 2007-04-17 15:55:00 -0500 (Tue, 17 Apr 2007) | 3 lines More efficient taskmaster: filter the list once for anything that hasn't been built, then extract a sub-list of anything that hasn't been visited. ........ r1894 | stevenknight | 2007-04-25 13:07:29 -0500 (Wed, 25 Apr 2007) | 4 lines Push conversion of individual NodeInfo objects into the objects themselves (instead of having the FileBuildInfo class assume that every dependency is a file system Entry of some kind). ........ r1895 | stevenknight | 2007-05-04 23:49:13 -0500 (Fri, 04 May 2007) | 3 lines Store content signatures for Aliases so we can really use them as dependencies. ........ r1896 | stevenknight | 2007-05-07 16:37:06 -0500 (Mon, 07 May 2007) | 3 lines Move the TargetSignatures.py test into a subdirectory, which we can populate with other tests (of the new settings, etc.). ........ r1897 | stevenknight | 2007-05-07 17:36:04 -0500 (Mon, 07 May 2007) | 3 lines Fix use of TargetSignatures('content') to override settings of SourceSignatures('timestamp'). ........ r1900 | stevenknight | 2007-05-14 18:48:39 -0500 (Mon, 14 May 2007) | 5 lines More specific sconsign signature tests: check for an actual 32-digit-long hex string when an MD5 checksum is expected, so we can correctly detect test failures if "None" shows up instead. (This will be used for getting avoiding calculating the content signature in 'timestamp' mode.) ........ r1949 | stevenknight | 2007-05-30 22:45:25 -0500 (Wed, 30 May 2007) | 7 lines Refactor the get_{csig,timestamp,size}() methods so they use the Memoizer pattern, instead of the the NodeInfo object, to cache the results. This won't be the final form (we have to reach and stuff a csig value in the cache slot to make --implicit-cache work) but it's a step that should make it easier to work on other in-progress modifications. ........ r1957 | stevenknight | 2007-06-01 10:18:15 -0500 (Fri, 01 Jun 2007) | 14 lines Shift updating a Node's signature/timestamp/size information until after the Node has been built (or visited, if it's a leaf Node). This therefore changes the semantics of the .visited() method, so that it's called for *every* Node visited, not just leaf Nodes. This adds a Taskmaster method for updating a Node's status without calling the .built() and .visited() methods, which is used by the CleanTask subclass to avoid writing .sconsign info when cleaning (-c). Interesting ripple effect in the SConf.py module: we have to manually override the .store_info() method on the Nodes we create, so that they don't write out their normal .sconsign information. The SConf subsystem writes out its own by hand. ........ r1962 | stevenknight | 2007-06-01 13:12:24 -0500 (Fri, 01 Jun 2007) | 5 lines Fix the ability to catch {IO,OS}Errors during build preparation and display the actual Node that triggered the error. (Which Node actually triggers this case, and therefore the displayed error message, changed after we delayed content evaluation until *after* a Node is built.) ........ r1975 | stevenknight | 2007-06-04 15:21:09 -0500 (Mon, 04 Jun 2007) | 3 lines Small refactoring: use {new,get}_ninfo() instead of instantiating self.NodeInfo() directly. ........ r1976 | stevenknight | 2007-06-04 16:14:12 -0500 (Mon, 04 Jun 2007) | 5 lines Similar to the previous change, call new_binfo() instead of instantiating the BuildInfo() type directly. Change new_binfo() so it doesn't automatically attach a NodeInfo object (because sometimes we want the existing NodeInfo, and sometimes we want a completely new one). ........ r1977 | stevenknight | 2007-06-04 16:35:44 -0500 (Mon, 04 Jun 2007) | 3 lines The body of DirFile.write() was all indented underneath a "if self.dirty:" block. Invert the test and outdent the body. ........ r1978 | stevenknight | 2007-06-04 16:52:14 -0500 (Mon, 04 Jun 2007) | 2 lines Memoize the stored information we get from the .sconsign file. ........ r1979 | stevenknight | 2007-06-05 14:17:32 -0500 (Tue, 05 Jun 2007) | 6 lines Delay merging a Node's build information into the .sconsign entry until the entry is being written out. This will allow us to include information (such as a content signature) that gets fetched for the first time *after* a Node is built. (The code here isn't the prettiest at the moment, but this checkpoints an implementation that passes all the tests.) ........ r1980 | stevenknight | 2007-06-06 10:06:56 -0500 (Wed, 06 Jun 2007) | 4 lines Refactor to have the store_info() method pull the binfo from the Node (instead of having the Node passing it in). Add a do_not_store_info() method to override the behavior. ........ r1981 | stevenknight | 2007-06-06 11:18:29 -0500 (Wed, 06 Jun 2007) | 3 lines Refactor the unit test invocation so we can run multiple test methods from each class. ........ r1982 | stevenknight | 2007-06-06 11:48:00 -0500 (Wed, 06 Jun 2007) | 7 lines Move responsibility for merging buildinfo entries from Node.FS to the SConsign module, through a new Base.store_info() method. Return the existing Base.set_entry() method to actually setting the entry, and use the new Base.store_info() method for things that need delayed storage and merging. Adds some commented-out prototype code for delaying the buildinfo entry merge until later. ........ r1983 | stevenknight | 2007-06-06 22:57:14 -0500 (Wed, 06 Jun 2007) | 4 lines Better testing for parallel-build exceptions: re-order the file names so that the input files are evaluated before the output files, increasing the likelihood of all three being built by simultaneous threads. ........ r1984 | stevenknight | 2007-06-06 22:57:55 -0500 (Wed, 06 Jun 2007) | 2 lines Have Trace() flush after write so interleaving stays correct. ........ r1985 | stevenknight | 2007-06-06 23:01:23 -0500 (Wed, 06 Jun 2007) | 11 lines Pull the NodeInfo objects out of the BuildInfo object and just deal with them as co-equal attributes of a Node. .sconsign files now have a place-holder SConsignEntry class that holds a Node's separate binfo and ninfo objects. This will also be more flexible if we ever add more information in the future. Since this changes the format (but not content) of the .sconsign file entries, we will need to double back and figure out how to make the transition from pre-BSR .sconsign files before this goes live. ........ r1986 | stevenknight | 2007-06-07 00:08:21 -0500 (Thu, 07 Jun 2007) | 2 lines Store the computed csig in the NodeInfo structure. ........ r1987 | stevenknight | 2007-06-07 18:59:31 -0500 (Thu, 07 Jun 2007) | 12 lines Track the content signature directly in the NodeInfo object, not in the _memo dictionary. Wipe out the existing NodeInfo after the Node has been built so the content signature gets recalculated correctly. Change the NodeInfoBase.update() method so that the default behavior is to always update the specified fields, not just ones that exist. This was necessary to get Alias and Value Nodes to work with this. Remove left-over comments. ........ r1988 | stevenknight | 2007-06-08 17:09:24 -0500 (Fri, 08 Jun 2007) | 5 lines Invert the logic (is_up_to_date => changed) when gathering Configure Node states, and eliminate (most) Boolean logic that short-circuits some of the tests. (This area isn't critical, so making sure the code is readable is more important than pure performance.) ........ r1990 | stevenknight | 2007-06-09 17:14:32 -0500 (Sat, 09 Jun 2007) | 7 lines Refactor the Node.changed() method so it always evaluates every dependency, instead of returning early as soon as it finds a difference (like a different number of old and new dependencies). This will be necessary to delay evaluation of Node information (content signatures) until it's actually needed (instead of evaluating it up front in case it's needed later). ........ r2001 | stevenknight | 2007-06-11 11:20:29 -0500 (Mon, 11 Jun 2007) | 3 lines Use SCons.compat in the refactored SConsign.py so use of True/False/etc. works on Python 1.5 and 2.1. ........ r2002 | stevenknight | 2007-06-11 11:57:56 -0500 (Mon, 11 Jun 2007) | 3 lines Have the "sconsign" script handle Configure context .sconsign information, which comes from different structures that have no NodeInfo objects. ........ r2003 | stevenknight | 2007-06-11 15:08:52 -0500 (Mon, 11 Jun 2007) | 8 lines Avoid generating content signatures unless they're actually used: Don't automatically create a content signature after a File Node is built/visited, and delay the .sconsign merge of the information until just before the information will be written. This means we'll only write out information that's actually fetched and used as part of deciding whether or not to rebuild any targets. ........ r2004 | stevenknight | 2007-06-13 00:05:52 -0500 (Wed, 13 Jun 2007) | 4 lines Fetch the {Source,Target}Signatures() values inside the Node.FS.changed_since_last_build() method, not in Node.Node.changed(). This is slightly less efficient, but cleaner architecturally. ........ r2005 | stevenknight | 2007-06-13 10:18:17 -0500 (Wed, 13 Jun 2007) | 6 lines Use zip() to collect the children and previous signatures info more efficiently when deciding if a node must be rebuilt. (The comment in the previous version of the source code about not using zip() because of Python 1.5 name space problems was due to the way the SConfTests.py module tried to reset the world's state.) ........ r2006 | stevenknight | 2007-06-13 10:59:16 -0500 (Wed, 13 Jun 2007) | 4 lines Add a NotImplementedError base class implementation of changed_since_last_build(), with doc string commentary about why the method is called through the dependency Node, not the target Node. ........ r2019 | stevenknight | 2007-06-18 12:26:06 -0500 (Mon, 18 Jun 2007) | 4 lines Remove the unnecessary cut-and-paste "import SCons.Action" in the changed_since_last_build() method, which was a left-over cut and paste. SCons.Action was already imported up top. ........ r2021 | stevenknight | 2007-06-18 18:31:09 -0500 (Mon, 18 Jun 2007) | 2 lines Make sure all "is up to date" messages get printed when -j is used. ........ r2022 | stevenknight | 2007-06-19 16:26:22 -0500 (Tue, 19 Jun 2007) | 3 lines Refactor the __checkClass() and must_be_a_Dir() methods into a more general and more efficient must_be_same() method. ........ r2024 | stevenknight | 2007-06-19 19:16:09 -0500 (Tue, 19 Jun 2007) | 3 lines More clean up: change various self.fs.Entry() calls to calls through the bound directory.Entry() method. ........ r2026 | stevenknight | 2007-06-19 22:10:04 -0500 (Tue, 19 Jun 2007) | 10 lines Refactor lookup of Node.FS nodes as follows: * Completely get rid of _doLookup(), which was old, complicated code that implemented a top-down, entry-by-entry search for path names. * Use a new FS._lookup() method, which normalizes names to absolute paths, with a new RootDir._lookup_abs() method, which handles the actual lookup. We plan to use the latter method for fast(er) internal lookups of already-normalized paths. * Create a new separate FS.get_root() method, just to avoid clutter in the RootDir._lookup_abs() method. ........ r2027 | stevenknight | 2007-06-20 13:29:19 -0500 (Wed, 20 Jun 2007) | 3 lines Remove the debug-explain.py test from sigrefactor, branches/core split this up into multiple sub-tests. ........ r2028 | stevenknight | 2007-06-20 13:38:28 -0500 (Wed, 20 Jun 2007) | 2 lines Handle a line-ending mismatch on Windows. ........ r2029 | stevenknight | 2007-06-20 13:39:05 -0500 (Wed, 20 Jun 2007) | 2 lines Support the ability to -d when path names have Windows \ separators. ........ r2030 | stevenknight | 2007-06-20 13:55:11 -0500 (Wed, 20 Jun 2007) | 2 lines Windows portability: TestSConsign._obj instead of a hard-coded '.o' suffix. ........ r2031 | stevenknight | 2007-06-20 15:30:06 -0500 (Wed, 20 Jun 2007) | 2 lines Python 1.5 namespace portability. ........ r2032 | stevenknight | 2007-06-20 16:38:28 -0500 (Wed, 20 Jun 2007) | 2 lines Fix tests affected by the -d fix for runtest.py. ........ r2039 | stevenknight | 2007-06-21 12:17:06 -0500 (Thu, 21 Jun 2007) | 2 lines Ignore *.pyo files, too, now that one of the tests causes us to generate them. ........ r2041 | stevenknight | 2007-06-21 12:36:30 -0500 (Thu, 21 Jun 2007) | 7 lines In the .sconsign file, store the paths to all of the dependencies relative to the top-level SConstruct directory, not the target's directory. This allows us to be much more efficient when writing the .sconsign file (since we can just store the already-computed path) and reading the .sconsign file (since we can use the quick, normalized-lookup method to translate the string into the correct Node). ........ r2042 | stevenknight | 2007-06-22 13:25:26 -0500 (Fri, 22 Jun 2007) | 2 lines Remove left-over debug code (instrumenting os.path.normpath()). ........ r2043 | stevenknight | 2007-06-22 13:28:35 -0500 (Fri, 22 Jun 2007) | 8 lines Actually use the new Dir._lookup_abs() method for fast .sconsign lookups relative to the top-level SConstruct directory and make it work correctly. (I had commented out the call to binfo.prepare_dependencies() and forgot to un-comment it.) This simplifies things by getting rid of the target node we attached to a BuildInfo (purely so we could do relative path lookups) and the corresponding conversions into and out of the .sconsign file. ........ r2044 | stevenknight | 2007-06-22 19:31:00 -0500 (Fri, 22 Jun 2007) | 5 lines Delay fetching the {Source,Target}Signature() values from an environment until they're actually needed. (If the performance here is "close enough", then we may not have to look at more complicated loop-invariant schemes.) ........ r2045 | stevenknight | 2007-06-22 22:06:19 -0500 (Fri, 22 Jun 2007) | 4 lines Replace the Environment.our_deepcopy() function with a Util.semi_deepcopy() function, rewritten to use the more efficient dispatch-table approach that the normal Python copy.py module uses. ........ r2050 | stevenknight | 2007-06-24 23:49:06 -0500 (Sun, 24 Jun 2007) | 5 lines Make the latest signature refactoring portable to Windows, and between platforms, by always storing the dependency paths with POSIX separators. Handle multiple drive letters by tracking a separate "labspath" attribute for the lookup path relative to the root directory's drive letter. ........ r2065 | stevenknight | 2007-06-27 11:02:48 -0500 (Wed, 27 Jun 2007) | 2 lines Branch files that were left out of the last merge. ........ r2066 | stevenknight | 2007-06-27 11:03:05 -0500 (Wed, 27 Jun 2007) | 2 lines Branch files that were left out of the last merge. ........ r2067 | stevenknight | 2007-06-27 11:03:24 -0500 (Wed, 27 Jun 2007) | 2 lines Branch files that were left out of the last merge. ........ r2069 | stevenknight | 2007-06-27 19:08:50 -0500 (Wed, 27 Jun 2007) | 2 lines Remove an unnecessary target.has_builder() call in changed_since_last_build(). ........ r2070 | stevenknight | 2007-06-27 19:25:47 -0500 (Wed, 27 Jun 2007) | 3 lines Refactor changed_since_last_build() to avoid code duplication and simplify (?) the structure--probably negligible performance impact. ........ r2071 | stevenknight | 2007-06-29 16:21:37 -0500 (Fri, 29 Jun 2007) | 3 lines Add the Decider() function, globally, and settable per construction environment or per Node. This hasn't yet been optimized. ........ r2072 | stevenknight | 2007-06-29 18:01:53 -0500 (Fri, 29 Jun 2007) | 2 lines Memoize Executor.get_build_env(). ........ r2073 | stevenknight | 2007-06-30 01:04:43 -0500 (Sat, 30 Jun 2007) | 5 lines Constructing a dictionary to map signature types ('build', 'MD5', etc.) to a dependency's methods ends up being less efficient than just using a series of if-elif statements. Refactor the default_decider_function() accordingly. ........ r2074 | stevenknight | 2007-07-01 08:59:35 -0500 (Sun, 01 Jul 2007) | 4 lines Now that the objects returned by Node.FS.get_stored_implicit() already convert the .sconsign strings to Nodes, don't have the --implicit-cache loop run them through the source_factory method. ........ r2075 | stevenknight | 2007-07-02 09:46:21 -0500 (Mon, 02 Jul 2007) | 4 lines Eliminate an if-test for the intialized default construction environment for internal calls of SCons.Defaults.DefaultEnvironment(), and some external calls as well. ........ r2076 | stevenknight | 2007-07-02 10:17:58 -0500 (Mon, 02 Jul 2007) | 3 lines More efficient use of the changed_since_last_build() method from the default construction environment. ........ r2077 | stevenknight | 2007-07-02 12:26:34 -0500 (Mon, 02 Jul 2007) | 6 lines Move the decision about whether a given dependent Node has a Builder or not back to when the Builder is actually set, by splitting the decision path in two; one for sources and one for targets. (Setting a construction environment's decider sets both of them, which may or may not be what we want in the long term.)) ........ r2079 | stevenknight | 2007-07-02 13:14:40 -0500 (Mon, 02 Jul 2007) | 4 lines Now explicity set the source decider function for a construction environment when the SourceSignatures() method is called, avoiding the delayed-evaluation tests. ........ r2081 | stevenknight | 2007-07-02 13:55:58 -0500 (Mon, 02 Jul 2007) | 6 lines And now explicity set the target decider function for a construction environment when the TargetSignatures() method is called, avoiding even more delayed-evaluation tests. This also renames the cslb_*() functions to decide_*(). ........ r2084 | stevenknight | 2007-07-03 07:13:38 -0500 (Tue, 03 Jul 2007) | 3 lines Memoize the Node.get_build_env() value, too, since we're now callng that repeatedly. ........ r2085 | stevenknight | 2007-07-03 09:50:25 -0500 (Tue, 03 Jul 2007) | 5 lines Get rid of the str_to_nodes() function within the FileBuildInfo.prepare_dependencies() method that checks for Alias lookups, in favor of a loop that uses new str_to_nodes() methods in the individual *NodeInfo classes to convert the strings to Nodes more directly. ........ r2086 | stevenknight | 2007-07-03 10:07:04 -0500 (Tue, 03 Jul 2007) | 3 lines Format the FileBuildInfo entries by zipping the children and their NodeInfo signatures, not by fetching each one by index. ........ r2089 | stevenknight | 2007-07-03 20:20:15 -0500 (Tue, 03 Jul 2007) | 4 lines Remove the _add_child() checks that verify that the argument is a list and contains all Nodes. It's internal, so any necessary verification can happen in the methods that call it. ........ r2101 | stevenknight | 2007-07-08 16:13:56 -0500 (Sun, 08 Jul 2007) | 3 lines Add string aliases for the canned Decider functions we'll support out of the box: timestamp-match (a.k.a. make), timestamp-newer, MD5 (a.k.a. content). ........ r2115 | stevenknight | 2007-07-10 21:00:14 -0500 (Tue, 10 Jul 2007) | 2 lines Refactor test/option-q.py into two separate subtests. ........ r2144 | stevenknight | 2007-07-16 01:04:25 -0500 (Mon, 16 Jul 2007) | 3 lines Fix -q exiting with a non-zero exit status when a file with no builder is specified on the command line. ........ r2314 | stevenknight | 2007-08-17 13:46:27 -0500 (Fri, 17 Aug 2007) | 3 lines Capture a test case to make sure get_csig() can be called from within a function Action. (Damyan Pepper) ........ r2315 | stevenknight | 2007-08-17 15:05:54 -0500 (Fri, 17 Aug 2007) | 3 lines Uncomment the test for content signatures with directories as sources, which the signature refactoring makes work. ........ r2316 | stevenknight | 2007-08-17 16:33:25 -0500 (Fri, 17 Aug 2007) | 2 lines Make sure that CacheDir() works even when timestamp signatures are used. ........ r2317 | stevenknight | 2007-08-17 16:51:02 -0500 (Fri, 17 Aug 2007) | 2 lines Change line endings from DOS to UNIX. ........ r2318 | stevenknight | 2007-08-18 07:13:09 -0500 (Sat, 18 Aug 2007) | 4 lines Add a new MD5-timestamp decider function that assumes that if the timestamp hasn't changed, then the content hasn't changed either, and it should then just re-use the content signature from the last run. ........ r2319 | stevenknight | 2007-08-18 07:41:59 -0500 (Sat, 18 Aug 2007) | 3 lines Add a test script to verify that action changes cause rebuilds even when file decisions are configured for timestamps. ........ r2360 | stevenknight | 2007-08-23 08:07:16 -0500 (Thu, 23 Aug 2007) | 2 lines Fix the test by resetting the content3.in file to the correct timestamp. ........ r2361 | stevenknight | 2007-08-23 12:02:04 -0500 (Thu, 23 Aug 2007) | 3 lines Use the new hashlib module for our MD5 signature calculations, with the introduction of a compatibility module for pre-2.5 Python versions. ........ r2362 | stevenknight | 2007-08-23 14:02:56 -0500 (Thu, 23 Aug 2007) | 2 lines Make targets implicitly depend on the commands used to build them. ........ r2364 | stevenknight | 2007-08-24 00:07:46 -0500 (Fri, 24 Aug 2007) | 2 lines Add code to convert what we can from the old .sconsign file entries. ........ r2366 | stevenknight | 2007-08-24 19:40:09 -0500 (Fri, 24 Aug 2007) | 2 lines Add a $IMPLICIT_COMMAND_DEPENDENCIES variable. ........ r2367 | stevenknight | 2007-08-24 19:43:58 -0500 (Fri, 24 Aug 2007) | 2 lines Add mention of $IMPLICIT_COMMAND_DEPENDENCIES to the release notes. ........ r2375 | stevenknight | 2007-08-27 11:43:04 -0500 (Mon, 27 Aug 2007) | 2 lines Windows portability fixes in tests. ........ r2376 | stevenknight | 2007-08-27 12:19:52 -0500 (Mon, 27 Aug 2007) | 2 lines Use string.join() instead of a more modern string object method. ........ r2379 | stevenknight | 2007-08-27 12:40:02 -0500 (Mon, 27 Aug 2007) | 3 lines Add version ID's to the classes stored in a .sconsign file, for easier future conversion as we change schemas. ........ ................ r2390 | stevenknight | 2007-08-27 17:32:00 -0500 (Mon, 27 Aug 2007) | 4 lines Remove the old TargetSignatures.py test, which was overlooked in the merge. (Its functionality got moved to test/TargetSignatures/build-content.py.) ................ r2391 | stevenknight | 2007-08-28 10:47:15 -0500 (Tue, 28 Aug 2007) | 2 lines Don't die if an old .sconsign entry has no .ninfo attribute. ................ r2392 | stevenknight | 2007-08-28 15:52:56 -0500 (Tue, 28 Aug 2007) | 2 lines Fix an O(N^2) search in Tool.install.add_targets_to_INSTALLED_FILES(). ................ r2393 | stevenknight | 2007-08-28 21:28:30 -0500 (Tue, 28 Aug 2007) | 2 lines Add support for an ensure_suffix Builder keyword argument. ................ r2394 | stevenknight | 2007-08-28 21:37:04 -0500 (Tue, 28 Aug 2007) | 3 lines Separate the failure tests when trying to connect to an X server, so we can tell why it's failing... ................ r2395 | stevenknight | 2007-08-29 11:46:34 -0500 (Wed, 29 Aug 2007) | 3 lines Look for a raw exit status of 1, or the shifted exit status, so we're not dependent on how the test infrastructure hands it to us. ................ r2396 | stevenknight | 2007-08-29 18:12:39 -0500 (Wed, 29 Aug 2007) | 2 lines Disable universal_newlines when calling subprocess. ................ r2397 | stevenknight | 2007-08-29 18:13:29 -0500 (Wed, 29 Aug 2007) | 3 lines Add a Progress() hook to support display of per-Node progress while walking the DAG. ................ r2398 | stevenknight | 2007-08-29 19:43:12 -0500 (Wed, 29 Aug 2007) | 7 lines Add a test case (courtesy Greg Noel) to characterize how we handle mid-build changes to implicit dependency files (we currently don't detect the change and rebuild all dependents). Move two other test scripts related to implicit dependency behavior into a common subdirectory. ................ r2399 | stevenknight | 2007-08-30 10:32:50 -0500 (Thu, 30 Aug 2007) | 4 lines Add a $JAVABOOTCLASSPATH variable. Commonize $JAVA*PATH expansion with a utility class. (Greg Ward) ................ r2400 | stevenknight | 2007-08-30 10:59:56 -0500 (Thu, 30 Aug 2007) | 3 lines Make sure extra auxiliary files generated by LaTeX packages are deleted by scons -c. (Matthias Troffaes) ................ r2401 | stevenknight | 2007-08-30 18:43:24 -0500 (Thu, 30 Aug 2007) | 3 lines Issue 1589: when Cloning a construction environment, apply set variables both before and after calling tools (like during intialization). ................ r2402 | stevenknight | 2007-08-30 18:52:02 -0500 (Thu, 30 Aug 2007) | 3 lines Issue 1555: add Windows64 support for the Intel C compiler. (Gary Oberbrunner) ................ r2403 | stevenknight | 2007-08-30 19:57:24 -0500 (Thu, 30 Aug 2007) | 4 lines Issue 1493: have ParseConfig(), MergeFlags() and ParseFlags() handle output from *-config commands with quoted arguments (path names that contain spaces). ................ r2410 | stevenknight | 2007-09-04 00:28:46 -0500 (Tue, 04 Sep 2007) | 4 lines Add a shlex.split() compatability wrapper for pre-Python 2.3 versions. Unfortunately, it doesn't behave exactly like later versions (it doesn't detect mid-token quotes), but we're not going to worry about that. ................ r2411 | stevenknight | 2007-09-04 12:56:36 -0500 (Tue, 04 Sep 2007) | 3 lines Add a Sig.py module that generates a warning if user code tries to "import SCons.Sig" directly. ................ r2412 | stevenknight | 2007-09-04 20:53:09 -0500 (Tue, 04 Sep 2007) | 3 lines Make the Return() function return immediately. Add a stop= keyword argument in case anyone really needs the old behavior. ................ r2413 | stevenknight | 2007-09-05 10:38:40 -0500 (Wed, 05 Sep 2007) | 4 lines Refactor initialization of different pieces (the underlying InstallBuilder, the Install() and InstallAs() wrappers) into separate blocks. ................ r2414 | stevenknight | 2007-09-05 11:39:25 -0500 (Wed, 05 Sep 2007) | 4 lines Move the definitions of the wrapper functions to the global namespace (nesting them and delaying intialization of global variables doesn't save anything and just complicates reading the code). ................ r2415 | stevenknight | 2007-09-05 13:31:27 -0500 (Wed, 05 Sep 2007) | 3 lines When Cloning a construction environment, re-bind any methods added by the AddMethod() method to the new construction environment. ................ r2416 | stevenknight | 2007-09-06 10:04:18 -0500 (Thu, 06 Sep 2007) | 7 lines Add a MethodWrapper class that handles generic association of a callable and an object that wants to use the callable as a "method." Provide hooks for centralized cloning of the different "methods" on to a new, copied underlying environment (used by the env.Clone() method). Make BuilderWrapper a subclass of MethodWrapper. Modify env.Clone() for the new, combined way of handling these "methods." ................ r2417 | stevenknight | 2007-09-06 14:11:35 -0500 (Thu, 06 Sep 2007) | 2 lines Refactor test failure conditions to use test.must_match(). ................ r2418 | stevenknight | 2007-09-06 14:28:52 -0500 (Thu, 06 Sep 2007) | 9 lines Restore the ability to use the Install() and InstallAs() builders without having to specify the 'install' tool directly. Add a ToolInitializer class that handles delayed intialization of tool modules when added to a construction environment as a "method." Add an env.RemoveModule() method that takes care of removing an added MethodWrapper instance from the environment, deleting it from the list that gets copied on cloning (and changing the name of that list back to "added_methods"). ................ r2419 | stevenknight | 2007-09-07 06:27:33 -0500 (Fri, 07 Sep 2007) | 3 lines Issue 1725: avoid race conditions when pushing a file to CacheDir(). (Carsten Koch) ................ r2420 | pscholl | 2007-09-07 09:13:28 -0500 (Fri, 07 Sep 2007) | 7 lines * delete the push_emitter() function. Direct manipulation of the source and target lists seem the way to go for packaging. Fix all packagers using this function. * fix the internationalization testcase ................ r2421 | pscholl | 2007-09-07 09:14:12 -0500 (Fri, 07 Sep 2007) | 3 lines * new testcase for building multiple rpm packages from one scons call. ................ r2422 | stevenknight | 2007-09-07 14:12:22 -0500 (Fri, 07 Sep 2007) | 4 lines Capture a test script with a particular reported test case for multiple Package() calls spread across different SConscript subdirectories. (Use case courtesy Andrew Smith.) ................ r2423 | stevenknight | 2007-09-07 17:40:25 -0500 (Fri, 07 Sep 2007) | 4 lines Fix use of exitstatfunc on Action objects by getting rid of the ability to override exitstatfunc when calling a function (which we were only using internally to basically suppress whatever was set on the Action object). ................ r2424 | stevenknight | 2007-09-10 20:06:59 -0500 (Mon, 10 Sep 2007) | 3 lines Make sure the library dependencies show up in --tree=derived output. (The Microsoft toolchain used to fail this on SCons 0.97 and earlier.) ................ r2425 | stevenknight | 2007-09-10 22:25:27 -0500 (Mon, 10 Sep 2007) | 5 lines When adding a new entry to a directory, reset the .implicit attribute to None so that the directory will get "re-scanned" for implicit dependencies (the entries within the directory) if it gets re-visited later in the DAG walk. ................ r2426 | stevenknight | 2007-09-12 12:38:05 -0500 (Wed, 12 Sep 2007) | 2 lines String method fix for Python 1.5.2. ................ r2427 | stevenknight | 2007-09-12 12:38:29 -0500 (Wed, 12 Sep 2007) | 2 lines Remove left-over commented-out Trace() call. ................ r2428 | stevenknight | 2007-09-13 01:36:34 -0500 (Thu, 13 Sep 2007) | 2 lines Handle Java inner class names with $ in them. (Tzvetan Mikov) ................ r2429 | stevenknight | 2007-09-13 14:29:09 -0500 (Thu, 13 Sep 2007) | 2 lines Add a check that should (possibly) avoid import errors on Solaris. ................ r2430 | stevenknight | 2007-09-13 14:30:36 -0500 (Thu, 13 Sep 2007) | 5 lines Windows portability fixes for Progress() tests, restoring the original universal_newlines setting on the test infrastructure, changing file names to make the order in which Nodes are visited case-insensitive, and fixing line endings on output we expect to read from files. ................ r2431 | stevenknight | 2007-09-14 07:58:44 -0500 (Fri, 14 Sep 2007) | 2 lines Make sure all function examples are introduced by "Example:" or "Examples:". ................ r2432 | stevenknight | 2007-09-14 11:35:03 -0500 (Fri, 14 Sep 2007) | 3 lines Clean up Options files initialization so we don't have to check on usage for whether it's been set. ................ r2433 | stevenknight | 2007-09-14 23:12:32 -0500 (Fri, 14 Sep 2007) | 4 lines Fix use of {Source,Target}Signatures() with construction variable overrides by making the default decider_*() things unbound functions, instead of bound methods. ................ r2434 | stevenknight | 2007-09-14 23:14:25 -0500 (Fri, 14 Sep 2007) | 2 lines Don't use "True" in the test infrastructure, use 1 instead. ................ r2435 | stevenknight | 2007-09-15 00:52:56 -0500 (Sat, 15 Sep 2007) | 2 lines Avoid use of False in two tests. ................ r2436 | pscholl | 2007-09-17 08:14:35 -0500 (Mon, 17 Sep 2007) | 21 lines * additional testcase for packaging: * building multiple packages from one scons call * supplying explicit target names for msi and rpm * test the Find*Files() functions * modify the package-type option test to not only catch the PACKAGETYPE, but also the --package-type alias command line argument * move FindInstalledFiles to Environment.py and remove Find*Files() functions from the packaging module. * capitalize the VENDOR tag for msi * remove the superfluous packager.py files * Add documentation for FindInstalledFiles() and FindSourceFiles() ................ r2437 | stevenknight | 2007-09-17 11:06:28 -0500 (Mon, 17 Sep 2007) | 2 lines Provide compatibility for the variables defined in SCons.Sig. ................ r2438 | stevenknight | 2007-09-17 23:13:27 -0500 (Mon, 17 Sep 2007) | 5 lines Handle duplicate fies in a target list: only decrement the reference count once for the target, not once for each time it shows up in the list, so dependencies don't "disappear" from the DAG walk because the reference count gets decremented past zero. ................ r2439 | stevenknight | 2007-09-17 23:15:45 -0500 (Mon, 17 Sep 2007) | 2 lines Fix syntax errors from failure to quote the package type. ................ r2440 | stevenknight | 2007-09-17 23:21:20 -0500 (Mon, 17 Sep 2007) | 2 lines Use AddOption() to support the --package-type option. ................ r2441 | stevenknight | 2007-09-17 23:31:40 -0500 (Mon, 17 Sep 2007) | 2 lines Skip the test if tar isn't available. ................ r2442 | stevenknight | 2007-09-18 06:35:04 -0500 (Tue, 18 Sep 2007) | 2 lines Remove Tool/packaging/packager.py from the manifest. ................ r2443 | garyo | 2007-09-18 08:13:15 -0500 (Tue, 18 Sep 2007) | 1 line SGI IRIX: use proper C++ compiler for SHCXX, don't hardcode CC. ................ r2444 | garyo | 2007-09-18 08:17:03 -0500 (Tue, 18 Sep 2007) | 1 line Avoid running MinGW tests on IRIX; they're irrelevant there and they fail anyway (they seem to pass on Linux, so left them in there.) ................ r2445 | garyo | 2007-09-18 08:20:52 -0500 (Tue, 18 Sep 2007) | 1 line Fixed wrong return type in test code; caused warnings on IRIX which made test fail. ................ r2446 | stevenknight | 2007-09-18 11:21:53 -0500 (Tue, 18 Sep 2007) | 2 lines Record Gary's change to the sgic++ tool. ................ r2451 | stevenknight | 2007-09-19 00:01:46 -0500 (Wed, 19 Sep 2007) | 2 lines Windows portability fix (when checking for path names in output). ................ r2452 | stevenknight | 2007-09-19 00:08:23 -0500 (Wed, 19 Sep 2007) | 2 lines Handle the ImportError if there's no threading module on Windows. ................
* Merged revisions 1675-1736 via svnmerge fromSteven Knight2006-12-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://scons.tigris.org/svn/scons/branches/core ........ r1689 | stevenknight | 2006-11-06 20:56:29 -0600 (Mon, 06 Nov 2006) | 1 line 0.96.D483 - Merge changes for 0.96.93 packaging from the subsidiary branch. ........ r1690 | stevenknight | 2006-11-06 20:59:30 -0600 (Mon, 06 Nov 2006) | 1 line 0.96.D484 - Update HOWTO for releases. Fix name type in src/CHANGES.txt. ........ r1691 | stevenknight | 2006-11-08 13:55:36 -0600 (Wed, 08 Nov 2006) | 1 line 0.96.D485 - Fix MergeFlags() handling of None values. (John Pye) ........ r1692 | stevenknight | 2006-11-08 17:15:05 -0600 (Wed, 08 Nov 2006) | 1 line 0.96.D486 - Directly execute commands on Windows when possible. (Jay Kint) ........ r1693 | stevenknight | 2006-11-08 18:54:49 -0600 (Wed, 08 Nov 2006) | 1 line 0.96.D487 - Remove the semi-colon from the list of characters that determine when we use cmd ........ r1694 | stevenknight | 2006-11-09 01:34:06 -0600 (Thu, 09 Nov 2006) | 1 line 0.96.D488 - Pick up latex/bibtex 'Rerun to get citations correct' messages. (Dmitry Mikhin) ........ r1695 | stevenknight | 2006-11-11 08:36:33 -0600 (Sat, 11 Nov 2006) | 1 line 0.96.D489 - Back out the direct-execution-on-Windows change until we solve a corner case. ........ r1696 | stevenknight | 2006-11-15 10:33:10 -0600 (Wed, 15 Nov 2006) | 1 line 0.96.D490 - Fix the sconsign script when the .sconsign.dblite file is specified with its suf ........ r1697 | stevenknight | 2006-11-18 10:45:50 -0600 (Sat, 18 Nov 2006) | 4 lines Complete move of test/sconsign/script.py to underneath test/sconsign/script/. (This got left out of the previous checkin due to an error in the script that resubmits Aegis changes to Subversion.) ........ r1698 | stevenknight | 2006-11-18 11:05:26 -0600 (Sat, 18 Nov 2006) | 1 line 0.96.D491 - Allow an Options converter to take the construction environment as a parameter. ........ r1699 | stevenknight | 2006-11-30 15:34:37 -0600 (Thu, 30 Nov 2006) | 1 line 0.96.D492 - Reverse the order in which we try the arguments Options converters, first a sing ........ r1700 | stevenknight | 2006-11-30 16:03:09 -0600 (Thu, 30 Nov 2006) | 1 line 0.96.D493 - Speed up rel_path() by avoiding recomputation of intermediate directory relative ........ r1701 | stevenknight | 2006-11-30 16:14:16 -0600 (Thu, 30 Nov 2006) | 1 line 0.96.D494 - More efficient get_suffix(): compute it once when we set the name. ........ r1702 | stevenknight | 2006-11-30 16:22:55 -0600 (Thu, 30 Nov 2006) | 1 line 0.96.D495 - Fix missing XML end tags. ........ r1703 | stevenknight | 2006-11-30 17:15:25 -0600 (Thu, 30 Nov 2006) | 1 line 0.96.D496 - Turn Memoizer into a simple counter for --debug=memoizer, not something that doe ........ r1704 | stevenknight | 2006-11-30 20:30:50 -0600 (Thu, 30 Nov 2006) | 1 line 0.96.D497 - Add the scons-time script, with doc and tests. ........ r1705 | stevenknight | 2006-11-30 23:28:20 -0600 (Thu, 30 Nov 2006) | 1 line 0.96.D498 - Update the copyright years string. ........ r1706 | stevenknight | 2006-12-01 11:54:22 -0600 (Fri, 01 Dec 2006) | 1 line 0.96.D499 - Fix _do_Lookup => _doLookup value-caching misspellings. (Ben Leslie) ........ r1707 | stevenknight | 2006-12-01 12:03:46 -0600 (Fri, 01 Dec 2006) | 1 line 0.96.D500 - Fix copyright test against debian build. (Walter Franzini) ........ r1708 | stevenknight | 2006-12-01 14:23:29 -0600 (Fri, 01 Dec 2006) | 1 line 0.96.D501 - Add #include lines for test portability. (Gary Oberbrunner) ........ r1709 | stevenknight | 2006-12-01 14:51:12 -0600 (Fri, 01 Dec 2006) | 1 line 0.96.D502 - Fix tests under Python versions with no profiler (pstats module). ........ r1710 | stevenknight | 2006-12-01 20:04:49 -0600 (Fri, 01 Dec 2006) | 1 line 0.96.D503 - Remove unnecessary os.path.normpath() calls. (Gary Oberbrunner) ........ r1711 | stevenknight | 2006-12-01 20:34:31 -0600 (Fri, 01 Dec 2006) | 1 line 0.96.D504 - Accomodate arbitray white space after a SWIG %module keyword. (Anonymous) ........ r1712 | stevenknight | 2006-12-05 14:49:54 -0600 (Tue, 05 Dec 2006) | 1 line 0.96.D506 - Cache substitutions of of Builder source suffixes. Use a new PathList module, and a refactor Node.FS.Rfindalldirs() method, to cache calculations of values like CPPPATH. ........ r1713 | stevenknight | 2006-12-05 18:43:36 -0600 (Tue, 05 Dec 2006) | 1 line 0.96.D507 - Use cached stat() values in diskchecks. ........ r1714 | stevenknight | 2006-12-05 21:11:24 -0600 (Tue, 05 Dec 2006) | 1 line 0.96.D508 - Fix Memoizer hit counts for methods memoizing simple values. Clean up the code for memoizing return values in a dictionary. Fix comments. ........ r1715 | stevenknight | 2006-12-06 07:23:18 -0600 (Wed, 06 Dec 2006) | 1 line 0.96.D369 - More efficient Node.FS.Dir.current() check. Fix some Windows test portability issues. ........ r1716 | stevenknight | 2006-12-06 12:24:32 -0600 (Wed, 06 Dec 2006) | 2 lines Undo previous checkin (distributed incorrect Aegis change number). ........ r1717 | stevenknight | 2006-12-06 12:34:53 -0600 (Wed, 06 Dec 2006) | 1 line 0.96.D505 - Update ae-{cvs,svn}-ci for newer versions of aetar, and to not truncate descriptions. ........ r1718 | stevenknight | 2006-12-07 23:01:41 -0600 (Thu, 07 Dec 2006) | 1 line 0.96.D509 - Only look for mslink on Windows systems. (Sohail Somani) ........ r1719 | stevenknight | 2006-12-07 23:18:33 -0600 (Thu, 07 Dec 2006) | 1 line 0.96.D510 - Have the D compiler Tool use the same logic for shared libraries, too. (Paolo Invernizzi) ........ r1720 | stevenknight | 2006-12-07 23:29:47 -0600 (Thu, 07 Dec 2006) | 1 line 0.96.D511 - Generalize a JobTests.py test so it doesn't assume a specific order in which the operating system executes the threads. ........ r1721 | stevenknight | 2006-12-07 23:39:37 -0600 (Thu, 07 Dec 2006) | 1 line 0.96.D512 - Back out the Tool/dmd.py change; it breaks shared library linking for other lanuages beside D in the construction environment. ........ r1722 | stevenknight | 2006-12-07 23:47:11 -0600 (Thu, 07 Dec 2006) | 1 line 0.96.D513 - Test fixes: Windows portability, handle changes to Python 2.5 messages. ........ r1723 | stevenknight | 2006-12-08 00:00:13 -0600 (Fri, 08 Dec 2006) | 1 line 0.96.D514 - Change how the 'as' Tool is imported to accomodate the Python 2.6 'as' keyword. ........ r1724 | stevenknight | 2006-12-08 11:19:27 -0600 (Fri, 08 Dec 2006) | 1 line 0.96.D515 - Cache both Node.FS.find_file() and Node.FS.Dri.srcdir_find_file(). ........ r1725 | stevenknight | 2006-12-08 17:27:35 -0600 (Fri, 08 Dec 2006) | 1 line 0.96.D516 - Better error when we try to fetch contents from an Entry that doesn't exist. (Tom Parker) ........ r1726 | stevenknight | 2006-12-08 23:28:55 -0600 (Fri, 08 Dec 2006) | 1 line 0.96.D517 - Make sure we pick up the scons-local directory regardless of where we chdir internally. ........ r1727 | stevenknight | 2006-12-11 16:25:53 -0600 (Mon, 11 Dec 2006) | 1 line 0.96.D518 - Cache results of Executor.get_unignored_sources() and Executor.process_sources(). Eliminate some map() and disambiguate() calls when scanning for implicit dependencies. ........ r1728 | stevenknight | 2006-12-12 14:32:22 -0600 (Tue, 12 Dec 2006) | 1 line 0.96.D519 - Fix SideEffect() when -j is used. ........ r1729 | stevenknight | 2006-12-12 16:58:15 -0600 (Tue, 12 Dec 2006) | 1 line 0.96.D520 - Add a srcdir keyword to Builder calls. ........ r1730 | stevenknight | 2006-12-12 21:40:59 -0600 (Tue, 12 Dec 2006) | 1 line 0.96.D521 - TeX/LaTeX updates, including handling files in subdirectories. (Joel B. Mohler, Rob Managan, Dmitry Mikhin) ........ r1731 | stevenknight | 2006-12-14 15:01:02 -0600 (Thu, 14 Dec 2006) | 1 line 0.96.D522 - Propogate TypeErrors during variable substitution for display to the user. ........ r1732 | stevenknight | 2006-12-14 20:01:49 -0600 (Thu, 14 Dec 2006) | 1 line 0.96.D523 - Fix the os.path.join() calls in EnvironmentTests.py. ........ r1733 | stevenknight | 2006-12-15 07:48:22 -0600 (Fri, 15 Dec 2006) | 1 line 0.96.D524 - Fix source directories as dependencies of an Alias (0.96.93 problem found by LilyPond). ........ r1735 | stevenknight | 2006-12-15 12:43:45 -0600 (Fri, 15 Dec 2006) | 1 line 0.96.D525 - Allow printing Debug.caller() output (or other end-of-run debugging info) when using -h. ........ r1736 | stevenknight | 2006-12-15 16:30:08 -0600 (Fri, 15 Dec 2006) | 1 line 0.96.D526 - Add an option to debug IndexError and NameError exceptions during variable substitution. ........
* Win32 portability.Steven Knight2005-08-071-1/+1
|
* Add a --raw option to the sconsign script.Steven Knight2005-06-251-4/+23
|
* Split Node-specific stuff from BuildInfo into a separate NodeInfo class. ↵Steven Knight2005-06-071-21/+33
| | | | Add size info to the File information we collect.
* Fix SCons on SuSE/AMD-64 Linux by having the wrapper script also check for ↵Steven Knight2004-09-161-0/+17
| | | | the build engine in the parent directory of the Python library directory. (Gottfried Ganssauge)
* Store the different dependencies in binfo separately.Steven Knight2004-06-011-3/+5
|
* Make the saved info opaque to the .sconsign subsystem. Lots of other cleanup.Steven Knight2004-05-141-32/+66
|
* Refactor .sconsign management into its own module.Steven Knight2004-05-061-2/+2
|
* Have SConsignFile() use a dblite.py module by default, so we can control the ↵Steven Knight2004-04-251-48/+111
| | | | behavior. (Ralf W. Grosse-Kunstleve)