diff options
Diffstat (limited to 'src/engine/SCons/Tool/c++.py')
| -rw-r--r-- | src/engine/SCons/Tool/c++.py | 64 | 
1 files changed, 4 insertions, 60 deletions
diff --git a/src/engine/SCons/Tool/c++.py b/src/engine/SCons/Tool/c++.py index 3b2528a..ebfe0a4 100644 --- a/src/engine/SCons/Tool/c++.py +++ b/src/engine/SCons/Tool/c++.py @@ -8,7 +8,7 @@ selection method.  """  # -# Copyright (c) 2001 - 2016 The SCons Foundation +# Copyright (c) 2001 - 2017 The SCons Foundation  #  # Permission is hereby granted, free of charge, to any person obtaining  # a copy of this software and associated documentation files (the @@ -30,68 +30,12 @@ selection method.  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  # -__revision__ = "src/engine/SCons/Tool/c++.py rel_2.5.1:3735:9dc6cee5c168 2016/11/03 14:02:02 bdbaddog" +__revision__ = "src/engine/SCons/Tool/c++.py rel_3.0.0:4395:8972f6a2f699 2017/09/18 12:59:24 bdbaddog" -import os.path -import SCons.Tool -import SCons.Defaults -import SCons.Util +#forward proxy to the preffered cxx version +from SCons.Tool.cxx import * -compilers = ['CC', 'c++'] - -CXXSuffixes = ['.cpp', '.cc', '.cxx', '.c++', '.C++', '.mm'] -if SCons.Util.case_sensitive_suffixes('.c', '.C'): -    CXXSuffixes.append('.C') - -def iscplusplus(source): -    if not source: -        # Source might be None for unusual cases like SConf. -        return 0 -    for s in source: -        if s.sources: -            ext = os.path.splitext(str(s.sources[0]))[1] -            if ext in CXXSuffixes: -                return 1 -    return 0 - -def generate(env): -    """ -    Add Builders and construction variables for Visual Age C++ compilers -    to an Environment. -    """ -    import SCons.Tool -    import SCons.Tool.cc -    static_obj, shared_obj = SCons.Tool.createObjBuilders(env) - -    for suffix in CXXSuffixes: -        static_obj.add_action(suffix, SCons.Defaults.CXXAction) -        shared_obj.add_action(suffix, SCons.Defaults.ShCXXAction) -        static_obj.add_emitter(suffix, SCons.Defaults.StaticObjectEmitter) -        shared_obj.add_emitter(suffix, SCons.Defaults.SharedObjectEmitter) - -    SCons.Tool.cc.add_common_cc_variables(env) - -    if 'CXX' not in env: -        env['CXX']    = env.Detect(compilers) or compilers[0] -    env['CXXFLAGS']   = SCons.Util.CLVar('') -    env['CXXCOM']     = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES' -    env['SHCXX']      = '$CXX' -    env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS') -    env['SHCXXCOM']   = '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES' - -    env['CPPDEFPREFIX']  = '-D' -    env['CPPDEFSUFFIX']  = '' -    env['INCPREFIX']  = '-I' -    env['INCSUFFIX']  = '' -    env['SHOBJSUFFIX'] = '.os' -    env['OBJSUFFIX'] = '.o' -    env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 0 - -    env['CXXFILESUFFIX'] = '.cc' - -def exists(env): -    return env.Detect(env.get('CXX', compilers))  # Local Variables:  # tab-width:4  | 
