summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-01-10 03:44:53 (GMT)
committerSteven Knight <knight@baldmt.com>2002-01-10 03:44:53 (GMT)
commit63dc56155108b284542b73664a16b24ef2403ec2 (patch)
tree0e099c157c9e33dede74c5de9f167ad310370d16
parent5daa14bb00b2c45dfd9d9587ca27687e64c542ed (diff)
downloadSCons-63dc56155108b284542b73664a16b24ef2403ec2.zip
SCons-63dc56155108b284542b73664a16b24ef2403ec2.tar.gz
SCons-63dc56155108b284542b73664a16b24ef2403ec2.tar.bz2
In the Object Builder, use a single Action instance for all of the C++ file suffixes.
-rw-r--r--src/CHANGES.txt3
-rw-r--r--src/engine/SCons/Defaults.py15
2 files changed, 12 insertions, 6 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 2d29028..8717bcf 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -42,6 +42,9 @@ RELEASE 0.03 -
- Put the Action factory and classes into their own module.
+ - Use one CPlusPlusAction in the Object Builder's action dictionary,
+ instead of letting it create multiple identical instances.
+
From Anthony Roach:
- Add a "duplicate" keyword argument to BuildDir() that can be set
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py
index 2e11c37..5b98595 100644
--- a/src/engine/SCons/Defaults.py
+++ b/src/engine/SCons/Defaults.py
@@ -37,6 +37,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
import os
+import SCons.Action
import SCons.Builder
import SCons.Scanner.C
import SCons.Scanner.Prog
@@ -49,14 +50,16 @@ CFile = SCons.Builder.Builder(name = 'CFile',
},
suffix = '.c')
+CPlusPlusAction = SCons.Action.Action('$CXXCOM')
+
Object = SCons.Builder.Builder(name = 'Object',
action = { '.c' : '$CCCOM',
- '.C' : '$CXXCOM',
- '.cc' : '$CXXCOM',
- '.cpp' : '$CXXCOM',
- '.cxx' : '$CXXCOM',
- '.c++' : '$CXXCOM',
- '.C++' : '$CXXCOM',
+ '.C' : CPlusPlusAction,
+ '.cc' : CPlusPlusAction,
+ '.cpp' : CPlusPlusAction,
+ '.cxx' : CPlusPlusAction,
+ '.c++' : CPlusPlusAction,
+ '.C++' : CPlusPlusAction,
},
prefix = '$OBJPREFIX',
suffix = '$OBJSUFFIX',