code: def generate(env):
      
      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'
docs: Add Builders and construction variables for Visual Age C++ compilers
      to an Environment.