From 63dc56155108b284542b73664a16b24ef2403ec2 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Thu, 10 Jan 2002 03:44:53 +0000 Subject: In the Object Builder, use a single Action instance for all of the C++ file suffixes. --- src/CHANGES.txt | 3 +++ src/engine/SCons/Defaults.py | 15 +++++++++------ 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', -- cgit v0.12