| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Eliminate unneeded imports, and a few unneeded statements -
usually "pass" where it is not syntactically needed.
A couple of import try blocks were eliminated or changed
when they're "cannot happen" due to current floor Python version.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
Note: please evaluate python 3.X compliance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
===================================================================
--- test/Variables/help.py (revision 4792)
+++ test/Variables/help.py (working copy)
@@ -28,23 +28,15 @@
Test the Variables help messages.
"""
-import os.path
+import os
-try:
- True, False
-except NameError:
- exec('True = (0 == 0)')
- exec('False = (0 != 0)')
+import TestSCons
str_True = str(True)
str_False = str(False)
-import TestSCons
-
test = TestSCons.TestSCons()
-
-
workpath = test.workpath()
qtpath = os.path.join(workpath, 'qt')
libpath = os.path.join(qtpath, 'lib')
Index: test/Variables/PackageVariable.py
===================================================================
--- test/Variables/PackageVariable.py (revision 4792)
+++ test/Variables/PackageVariable.py (working copy)
@@ -28,14 +28,8 @@
Test the PackageVariable canned Variable type.
"""
-import os.path
+import os
-try:
- True, False
-except NameError:
- exec('True = (0 == 0)')
- exec('False = (0 != 0)')
-
import TestSCons
test = TestSCons.TestSCons()
Index: test/Variables/BoolVariable.py
===================================================================
--- test/Variables/BoolVariable.py (revision 4792)
+++ test/Variables/BoolVariable.py (working copy)
@@ -28,14 +28,8 @@
Test the BoolVariable canned Variable type.
"""
-import os.path
+import os
-try:
- True, False
-except NameError:
- exec('True = (0 == 0)')
- exec('False = (0 != 0)')
-
import TestSCons
test = TestSCons.TestSCons()
Index: test/Deprecated/Options/help.py
===================================================================
--- test/Deprecated/Options/help.py (revision 4792)
+++ test/Deprecated/Options/help.py (working copy)
@@ -28,24 +28,16 @@
Test the Options help messages.
"""
-import os.path
+import os
import re
-try:
- True, False
-except NameError:
- exec('True = (0 == 0)')
- exec('False = (0 != 0)')
+import TestSCons
str_True = str(True)
str_False = str(False)
-import TestSCons
-
test = TestSCons.TestSCons(match = TestSCons.match_re_dotall)
-
-
workpath = test.workpath()
qtpath = os.path.join(workpath, 'qt')
libpath = os.path.join(qtpath, 'lib')
Index: test/Deprecated/Options/PackageOption.py
===================================================================
--- test/Deprecated/Options/PackageOption.py (revision 4792)
+++ test/Deprecated/Options/PackageOption.py (working copy)
@@ -28,14 +28,8 @@
Test the PackageOption canned Option type.
"""
-import os.path
+import os
-try:
- True, False
-except NameError:
- exec('True = (0 == 0)')
- exec('False = (0 != 0)')
-
import TestSCons
test = TestSCons.TestSCons(match = TestSCons.match_re_dotall)
Index: test/Deprecated/Options/BoolOption.py
===================================================================
--- test/Deprecated/Options/BoolOption.py (revision 4792)
+++ test/Deprecated/Options/BoolOption.py (working copy)
@@ -28,12 +28,6 @@
Test the BoolOption canned Option type.
"""
-try:
- True, False
-except NameError:
- exec('True = (0 == 0)')
- exec('False = (0 != 0)')
-
import TestSCons
test = TestSCons.TestSCons(match = TestSCons.match_re_dotall)
Index: src/script/scons-time.py
===================================================================
--- src/script/scons-time.py (revision 4792)
+++ src/script/scons-time.py (working copy)
@@ -45,13 +45,6 @@
import time
try:
- True, False
-except NameError:
- # Pre-2.2 Python has no True or False keyword.
- exec('True = not 0')
- exec('False = not 1')
-
-try:
sorted
except NameError:
# Pre-2.4 Python has no sorted() function.
Index: src/engine/SCons/compat/_scons_builtins.py
===================================================================
--- src/engine/SCons/compat/_scons_builtins.py (revision 4792)
+++ src/engine/SCons/compat/_scons_builtins.py (working copy)
@@ -37,13 +37,8 @@
all()
any()
- bool()
- dict()
sorted()
memoryview()
- True
- False
- zip()
Implementations of functions are *NOT* guaranteed to be fully compliant
with these functions in later versions of Python. We are only concerned
@@ -62,22 +57,6 @@
import builtins
try:
- False
-except NameError:
- # Pre-2.2 Python has no False keyword.
- exec('builtins.False = not 1')
- # Assign to False in this module namespace so it shows up in pydoc output.
- #False = False
-
-try:
- True
-except NameError:
- # Pre-2.2 Python has no True keyword.
- exec('builtins.True = not 0')
- # Assign to True in this module namespace so it shows up in pydoc output.
- #True = True
-
-try:
all
except NameError:
# Pre-2.5 Python has no all() function.
@@ -108,42 +87,6 @@
any = any
try:
- bool
-except NameError:
- # Pre-2.2 Python has no bool() function.
- def bool(value):
- """Demote a value to 0 or 1, depending on its truth value.
-
- This is not to be confused with types.BooleanType, which is
- way too hard to duplicate in early Python versions to be
- worth the trouble.
- """
- return not not value
- builtins.bool = bool
- bool = bool
-
-try:
- dict
-except NameError:
- # Pre-2.2 Python has no dict() keyword.
- def dict(seq=[], **kwargs):
- """
- New dictionary initialization.
- """
- d = {}
- for k, v in seq:
- d[k] = v
- d.update(kwargs)
- return d
- builtins.dict = dict
-
-try:
- file
-except NameError:
- # Pre-2.2 Python has no file() function.
- builtins.file = open
-
-try:
memoryview
except NameError:
# Pre-2.7 doesn't have the memoryview() built-in.
@@ -185,27 +128,6 @@
return result
builtins.sorted = sorted
-#
-try:
- zip
-except NameError:
- # Pre-2.2 Python has no zip() function.
- def zip(*lists):
- """
- Emulates the behavior we need from the built-in zip() function
- added in Python 2.2.
-
- Returns a list of tuples, where each tuple contains the i-th
- element rom each of the argument sequences. The returned
- list is truncated in length to the length of the shortest
- argument sequence.
- """
- result = []
- for i in range(min(list(map(len, lists)))):
- result.append(tuple([l[i] for l in lists]))
- return result
- builtins.zip = zip
-
#if sys.version_info[:3] in ((2, 2, 0), (2, 2, 1)):
# def lstrip(s, c=string.whitespace):
# while s and s[0] in c:
Index: runtest.py
===================================================================
--- runtest.py (revision 4792)
+++ runtest.py (working copy)
@@ -97,17 +97,6 @@
import time
try:
- x = True
-except NameError:
- True = not 0
- False = not 1
-else:
- del x
-
-if not hasattr(os, 'WEXITSTATUS'):
- os.WEXITSTATUS = lambda x: x
-
-try:
sorted
except NameError:
# Pre-2.4 Python has no sorted() function.
Index: QMTest/TestSCons.py
===================================================================
--- QMTest/TestSCons.py (revision 4792)
+++ QMTest/TestSCons.py (working copy)
@@ -23,12 +23,6 @@
import sys
import time
-try:
- True
-except NameError:
- exec('True = not 0')
- exec('False = not 1')
-
from TestCommon import *
from TestCommon import __all__
|
|
|
|
|
| |
Fix the 'assignment to True or False' and the '__getitem__ not supported for
exception classes' deprecation warnings.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://scons.tigris.org/svn/scons/branches/core
........
r2903 | stevenknight | 2008-04-22 08:23:52 -0700 (Tue, 22 Apr 2008) | 3 lines
Issue 2019: don't blow up when a "dictionary" source_scanner doesn't
have a more-specific scanner entry for a specified source file's suffix.
........
r2904 | stevenknight | 2008-04-23 11:13:19 -0700 (Wed, 23 Apr 2008) | 3 lines
Fix regression in use of $CXXFLAGS by the default $SHCXXFLAGS setting.
(Greg Noel)
........
r2905 | stevenknight | 2008-04-23 11:23:12 -0700 (Wed, 23 Apr 2008) | 3 lines
Update the test/CXX/SHCXXFLAGS.py with some more modern idioms copied
from test/CXX/CXXFLAGS.py.
........
r2921 | belley | 2008-04-28 08:52:13 -0700 (Mon, 28 Apr 2008) | 98 lines
Candidate list must be flushed when stopping the taskmaster.
============================================================
The taskmaster's candidate list must be flushed when the taskmaster is stopped,
either because of a build error or a keyboard interrupt. This involves failing
each candidates along with their waiting parents. This is necessary because the
waiting parents might be in the pending_children set() that is used by the
taskmaster to determine if cycles exist in the dependency graph. Failure to do
so leads to confusing error messages such as:
scons: *** Found dependency cycle(s):
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/DynamicProperty.h
(<SCons.Node.FS.File instance at 0x95d230c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/NotSupported.h
(<SCons.Node.FS.File instance at 0x960634c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/InvalidRequest.h
(<SCons.Node.FS.File instance at 0x95d2bac>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/RequestCanceled.h
(<SCons.Node.FS.File instance at 0x960648c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/InvalidType.h
(<SCons.Node.FS.File instance at 0x95d2cec>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Core/InvalidProperty.h
(<SCons.Node.FS.File instance at 0x9606d2c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/SecurityError.h
(<SCons.Node.FS.File instance at 0x96065cc>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Core/PropertyCollector.h
(<SCons.Node.FS.File instance at 0x9606e6c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/Fault/InvalidArgument.h
(<SCons.Node.FS.File instance at 0x95d2a6c>)
Internal Error: no cycle found for node
/bld/vmkernel-main/scons/build/vmodl/obj/generic/Vmodl/Vmomi/DynamicData.h
(<SCons.Node.FS.File instance at 0x95d21cc>)
Changes made:
Job.py:
------
o Implemented an InterruptState object that allows the sharing of the
interrupt state between the Jobs, the Serial/Parallel and the Worker
thread object. This allows for somewhat faster interruption when
Ctrl-C is pressed because the Worker thread will not start any new
task, i.e. the ones siting in the request queue.
Taskmaster.py:
--------------
o Moved the code contained the function Task.fail_continue() to the
function Taskmaster.will_not_build(). This function perform the
clean-up for nodes that will never be built. This includes failing
these nodes along with their waiting parents and removing them from
the list of pending children.
o Improved the taskmaster tracing so that the pending children ref
counts of nodes is also printed.
o When stopping the taskmaster, no_next_candidate() now calls
will_not_build() repetitively to make sure that all candidate nodes
that will never be build are properly cleaned-up.
test/Parallel/multiple-parents.py
---------------------------------
Improved the test to also exercise the following functionality:
o Nodes with multiple targets (not just aliases as it was before).
o SideEffect()
o Interrupting the build.
Submitted against changeset 2920.
All tests pass with both Python 2.5.1 and 1.5.2
Benoit
........
r2922 | stevenknight | 2008-04-28 11:50:10 -0700 (Mon, 28 Apr 2008) | 26 lines
Issue 2024: http://scons.tigris.org/issues/show_bug.cgi?id=2024
Some public packages were importing specific SCons.Options.*Option
submodules directly, instead of using the SCons.Options package
itself (which actually exposed all the SCons.Options.*Option variable
names directly, but what they hey). Our scripts didn't test for
direct importing of the submodules, so this broke when I implemented
backwards comptability with a SCons/Options.py module, instead of a full
SCons/Options/*.py package.
This restores the SCons/Options/*.py package files with stub modules that
provide backwards compatibility (by referring to the new SCons.Variables
functions and classes) and allow for importing all of
The test/Deprecated/Options/*Option.py scripts have had specific submodule
imports added. To make sure this corresponding "feature" continues to
work in the future, I'll be following this with another checkin that
adds submodule imports for the SCons.Variables.*Variable modules.
I ran this with the SCons/Options.py file in place, and also with
a compiled SCons/Options.pyc file in place, to try to make sure it
works regardless. We've seen issues on Debian where their packaging
doesn't clean up old *.pyc files when a Python *.py module is removed.
It looks like this should work regardless of whether the Options.pyc
file is there or not.
........
r2923 | stevenknight | 2008-04-28 11:52:52 -0700 (Mon, 28 Apr 2008) | 3 lines
Update the test/Variables/*Variable.py scripts to verify that importing
SCons.Variables.*Variable submodules continues to work in the future.
........
r2924 | belley | 2008-04-28 14:06:54 -0700 (Mon, 28 Apr 2008) | 6 lines
Fixed a test that my morning change broke. The taskmaster tracing now
includes the pending children ref count.
Benoit
........
r2925 | stevenknight | 2008-04-28 18:00:25 -0700 (Mon, 28 Apr 2008) | 4 lines
Issue 2028: Make sure already-existing Entry Nodes that we find
are converted to Dir Nodes when searching a *PATH list for implicit
dependencies.
........
r2926 | stevenknight | 2008-04-29 08:11:40 -0700 (Tue, 29 Apr 2008) | 3 lines
Issue 2034: Fix $FORTRANMODDIR values like ${TARGET.dir} in the
default $_FORTANMODFLAG expansion. (Stefano)
........
r2927 | stevenknight | 2008-04-29 11:34:02 -0700 (Tue, 29 Apr 2008) | 3 lines
Restore the SCons.Options package (maintains backwards compatibility of
importing submodules) to setup.py.
........
|
|
http://scons.tigris.org/svn/scons/branches/core
........
r2731 | stevenknight | 2008-04-01 09:22:37 -0700 (Tue, 01 Apr 2008) | 4 lines
Fix test/Interactive/version.py, which still had the old hard-coded
Copyright string, by moving the test copy of the Copyright string
into QMTest/TestSCons.py, where it's available to all test scripts.
........
r2732 | stevenknight | 2008-04-02 13:28:32 -0700 (Wed, 02 Apr 2008) | 3 lines
Issues 317, 323, 329: Ignore the -d, -e and -w options, which we're
not going to implement.
........
r2734 | stevenknight | 2008-04-05 07:50:49 -0700 (Sat, 05 Apr 2008) | 2 lines
Fix bootstrap.py for pre-2.3 versions of Python, which don't have __file__.
........
r2735 | stevenknight | 2008-04-05 07:54:44 -0700 (Sat, 05 Apr 2008) | 2 lines
Fix the non-breaking-hyphen regular expression(s) for Python 1.5.
........
r2736 | garyo | 2008-04-05 19:15:52 -0700 (Sat, 05 Apr 2008) | 1 line
Added Users Guide section for AddMethod.
........
r2737 | stevenknight | 2008-04-08 09:43:31 -0700 (Tue, 08 Apr 2008) | 3 lines
Don't raise strings as exceptions in the exception-handling unit tests.
That's now deprecated Python behavior.
........
r2738 | stevenknight | 2008-04-08 10:36:00 -0700 (Tue, 08 Apr 2008) | 5 lines
Address a serious inefficiency in Java builds by moving the pre-build
check for whether source files exist from the Node class to the Executor
class, so we only have to perform the check once when building a whole
bunch of targets from a whole bunch of sources.
........
r2739 | stevenknight | 2008-04-08 13:53:44 -0700 (Tue, 08 Apr 2008) | 2 lines
Add a backwards-compatibility version of the "itertools" module.
........
r2740 | stevenknight | 2008-04-08 14:12:05 -0700 (Tue, 08 Apr 2008) | 2 lines
Issue 1961: speed up SCons.Util.to_String*() functions. (Benoit Belley)
........
r2741 | stevenknight | 2008-04-08 14:15:36 -0700 (Tue, 08 Apr 2008) | 2 lines
Use the itertools.izip() method for some key Node.FS methods. (Benoit Belley)
........
r2742 | stevenknight | 2008-04-08 14:35:35 -0700 (Tue, 08 Apr 2008) | 2 lines
Issues 1961: use izip() instead of zip() where possible (Benoit Belley)
........
r2743 | stevenknight | 2008-04-08 14:48:08 -0700 (Tue, 08 Apr 2008) | 3 lines
Issue 1961: more efficient get_contents() implementation for Python
function Actions. (Benoit Belley)
........
r2744 | stevenknight | 2008-04-08 17:55:30 -0700 (Tue, 08 Apr 2008) | 3 lines
Issue 1961: make SCons.Node.* state variables global in Taskmaster.py so
we avoid unneceesary attribute fetches. (Benoit Belley)
........
r2745 | stevenknight | 2008-04-08 20:40:31 -0700 (Tue, 08 Apr 2008) | 2 lines
Issue 1961: Optimize the code in Node.get_binfo(). (Benoit Belley)
........
r2746 | stevenknight | 2008-04-08 21:05:17 -0700 (Tue, 08 Apr 2008) | 3 lines
Issue 1961: Enhance the backwards-compatibility sets() module with the
ability to compare sets. (Benoit Belley)
........
r2747 | stevenknight | 2008-04-08 22:11:20 -0700 (Tue, 08 Apr 2008) | 2 lines
Issue 1961: Optimize Executor.scan(). (Benoit Belley)
........
r2748 | stevenknight | 2008-04-08 22:17:55 -0700 (Tue, 08 Apr 2008) | 3 lines
Python 1.5 compatibility: use for p in paths.keys() for dictionaries.
(Benoit Belley)
........
r2749 | stevenknight | 2008-04-08 22:54:02 -0700 (Tue, 08 Apr 2008) | 10 lines
Issue 1961: additional build optimizations:
-- Make taskmastertrace output more useful and readable.
-- Move dependency cycle checking to avoid re-doing it.
-- Have Nodes use sets, not dictionaries, to track various things.
-- Eliminate intermediate function calls from fetching Node children.
-- Add a Task.needs_execute() method to avoid doing that check over and
over as part of needs_execute().
-- Remove the unused Node.found_includes attribute.
(Benoit Belley)
........
r2750 | stevenknight | 2008-04-09 14:47:44 -0700 (Wed, 09 Apr 2008) | 4 lines
Make target Java .class files depend *only* on the input .java files as
their sources when determining if they require rebuilding. This eliminates
O(NxM) checking for every single edge in a big, overly-connected DAG mesh.
........
r2751 | stevenknight | 2008-04-09 16:58:41 -0700 (Wed, 09 Apr 2008) | 2 lines
Remove 0.95 and 0.96* release notes.
........
r2752 | stevenknight | 2008-04-10 02:24:50 -0700 (Thu, 10 Apr 2008) | 2 lines
Issue 1956: Fix --debug=stree printing its tree twice. (Benoit Belley)
........
r2753 | stevenknight | 2008-04-10 02:33:28 -0700 (Thu, 10 Apr 2008) | 2 lines
Issue 1896: Add support for the GDC D language compiler. (Matthew Wesley)
........
r2754 | stevenknight | 2008-04-10 02:39:24 -0700 (Thu, 10 Apr 2008) | 2 lines
Fix tabs.
........
r2755 | stevenknight | 2008-04-10 02:41:50 -0700 (Thu, 10 Apr 2008) | 3 lines
Issue 1964: Fix passing variable names in a list to Return() (as
already documented in the man page!) (Mike Wake)
........
r2756 | stevenknight | 2008-04-10 02:55:40 -0700 (Thu, 10 Apr 2008) | 2 lines
Support the ability to download 2.6 candidate releases (e.g. 2.6a2).
........
r2757 | stevenknight | 2008-04-10 02:58:35 -0700 (Thu, 10 Apr 2008) | 3 lines
Issue 1669: Fix the ability to use LoadableModule() under MinGW.
(Johan Boule)
........
r2758 | stevenknight | 2008-04-10 03:03:15 -0700 (Thu, 10 Apr 2008) | 3 lines
Update the test/Interactive/tree.py script for Benoit's fix to
remove duplicate tree printing.
........
r2759 | stevenknight | 2008-04-10 06:43:44 -0700 (Thu, 10 Apr 2008) | 3 lines
Fix Tool/dmd.py when no D compiler is installed -- we don't want to
search for a path if the result is None.
........
r2760 | GregNoel | 2008-04-10 15:30:34 -0700 (Thu, 10 Apr 2008) | 1 line
Issue 2009: separate Debug.caller() by functionality
........
r2761 | stevenknight | 2008-04-11 04:47:25 -0700 (Fri, 11 Apr 2008) | 3 lines
Issue 1882: Add the scons.bat directory to %PATH% so it can find python.exe.
(Anatoly Techtonik)
........
r2762 | stevenknight | 2008-04-11 09:15:22 -0700 (Fri, 11 Apr 2008) | 4 lines
Issues 1835,1901: fix the ability to list a source file multiple
times for a target by making sure we only store unique entries in the
.sconsign file.
........
r2763 | stevenknight | 2008-04-11 10:58:26 -0700 (Fri, 11 Apr 2008) | 4 lines
Issue 1882: Fix earlier patch to scons.bat by adding ~dp0;~dp0.. to
the front of %PATH%, and only executing endlocal on NT-based systems.
(Anatoly Techtonik)
........
r2764 | stevenknight | 2008-04-11 13:06:29 -0700 (Fri, 11 Apr 2008) | 4 lines
Add a Variables object and {Bool,Envum,List,Package,Path}Variable()
functions as a first step towards eventually deprecating the
Options object and {Bool,Envum,List,Package,Path}Option() functions.
........
r2765 | stevenknight | 2008-04-11 18:13:53 -0700 (Fri, 11 Apr 2008) | 3 lines
Issue 1962: Capture a test case for ListActions that contain a
command-line string containing unicode, and Python FunctionAction.
........
r2766 | stevenknight | 2008-04-11 22:03:14 -0700 (Fri, 11 Apr 2008) | 3 lines
Issue 1933: expect .py files generated by the SWIG -python option
to be in the same (sub)directory as the target.
........
r2767 | stevenknight | 2008-04-12 06:41:57 -0700 (Sat, 12 Apr 2008) | 2 lines
Remove the SCons.Options package in favor of the new SCons.Variables package.
........
r2768 | stevenknight | 2008-04-12 13:33:52 -0700 (Sat, 12 Apr 2008) | 5 lines
Issue 1971: Move the incorporation of $CCFLAGS and $SHCCFLAGS directly
into the C++ command lines (${SHCXX,CXX}COM) instead of through indirect
expansion of $CXXFLAGS and $SHCXXFLAGS. This requires removing -fPIC
from the default setting of $SHCXXFLAGS under the GNU toolchain.
........
r2769 | stevenknight | 2008-04-13 07:01:27 -0700 (Sun, 13 Apr 2008) | 3 lines
Fix __all__ definitions in the Variables/*Variable.py file that were
cause epydoc to blow up when generating developer documentation.
........
r2770 | stevenknight | 2008-04-13 11:47:49 -0700 (Sun, 13 Apr 2008) | 3 lines
Add variables= keyword argument to Environment() creation as a first
step towards deprecating options=.
........
r2771 | stevenknight | 2008-04-13 11:54:19 -0700 (Sun, 13 Apr 2008) | 2 lines
Correct underscore-instead-of-hyphen misspellings in option names.
........
r2772 | bdbaddog | 2008-04-13 17:39:21 -0700 (Sun, 13 Apr 2008) | 3 lines
Changes to fix 15 tests which were failing on cygwin.
........
r2773 | GregNoel | 2008-04-13 22:31:07 -0700 (Sun, 13 Apr 2008) | 1 line
Various fixes to tests on Darwin using 1.5.2
........
r2774 | stevenknight | 2008-04-14 15:00:44 -0700 (Mon, 14 Apr 2008) | 2 lines
Python 1.5.2 fix in new test/SWIG/subdir.py script (use the -classic option).
........
r2775 | belley | 2008-04-14 18:02:40 -0700 (Mon, 14 Apr 2008) | 32 lines
Dont use KeyboardInterrupt to stop a build! [Issue 1907]
SCons would often hang after pressing Ctrl-C. I started investigating and I
realized that most of the Python libraries are not really safe with respect to
asynchronous exceptions. Although,there are enough try/finally blocks to handle
exceptions thrown synchronously by the library code, the Python libraries are
not always protected against exceptions being thrown asynchronously, such as a
KeyboardInterrupt being thrown at a completely random location.
For example, the function Queue.empty() does not protect its mutex with a
try/finally block. If the KeyboardInterrupt exception gets thrown while the
mutex is held, any further attempt to access the Queue will lead to dead-lock
(explaining why SCons hangs sometimes after pressing CTRL-C). Even the
threading.Condition condition variables are not async-exception safe. It
therefore seems a lost battle to try to stop a build by raising an exception.
Instead, I have implemented a signal handler that tells the Jobs (and its
associated Taskmaster) to stop the build. I have been careful to wait after the
.sconsign file has been written back to re-install the default SIGINT signal
handler that raises a KeyboardInterrupt exception.
This patch is submitted against changeset 2773 of branches/core. The
regression test suite has been run on RHEL4 using Pyhon 2.5.1 and
1.5.2. My team has been using an SCons build with this patch for a
while now on Windows, Linux and OSX.
See:
http://scons.tigris.org/issues/show_bug.cgi?id=1907
Benoit Belley
........
r2777 | cournape | 2008-04-14 20:11:56 -0700 (Mon, 14 Apr 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-2776" from
http://scons.tigris.org/svn/scons/branches/fortran_refactor
........
r2788 | stevenknight | 2008-04-14 22:09:27 -0700 (Mon, 14 Apr 2008) | 2 lines
Fix the print the "script" line in the --version output.
........
r2789 | stevenknight | 2008-04-14 22:18:27 -0700 (Mon, 14 Apr 2008) | 2 lines
Add a __COPYRIGHT__ line.
........
r2790 | stevenknight | 2008-04-14 22:20:39 -0700 (Mon, 14 Apr 2008) | 3 lines
Issue 2008: in checkpoint releases, use a '.' to separate (e.g.) 0.98.0
from 0d20080414.
........
r2817 | belley | 2008-04-15 06:44:21 -0700 (Tue, 15 Apr 2008) | 13 lines
TestSCons.up_to_date() should use match_re_dotall
I changed TestSCons.up_to_date() to use match_re_dotall instead of
match_exact. This is necessary so that I can call up_to_date() with
the TestSCons.deprecated_python_expr error message in one of my test.
Note that TestSCons.not_up_to_date() is already using match_re_dotall.
Ran the test suite on both Python 2.5.1 and 1.5.2.
Benoit
........
r2818 | belley | 2008-04-15 12:10:52 -0700 (Tue, 15 Apr 2008) | 10 lines
Improved the multiple-parents.py test to also tests the following
cases:
d) Some children are ignored
e) Some children are pre-requesites
f) Some sources are missing
The test still passes. No extra bug were found.
........
r2850 | stevenknight | 2008-04-16 11:15:24 -0700 (Wed, 16 Apr 2008) | 4 lines
Fix problems with the __del__() method referencing other module functions
through global variables, which can get deleted out from under us at
shutdown.
........
r2851 | stevenknight | 2008-04-16 11:17:07 -0700 (Wed, 16 Apr 2008) | 4 lines
Fix use of --interactive with -u/-U/-D and VariantDir() by making the
method that cleans Node states between interactive commands aware of
the alter_targets() method that tells us about an associated VariantDir().
........
|