"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "SCons/Tool/mslink.py" between
SCons-4.3.0.tar.gz and SCons-4.4.0.tar.gz

About: SCons is a software construction tool (a Python script and a set of modules as a superior alternative to the classic "Make" build tool).

mslink.py  (SCons-4.3.0):mslink.py  (SCons-4.4.0)
skipping to change at line 46 skipping to change at line 46
import SCons.Action import SCons.Action
import SCons.Defaults import SCons.Defaults
import SCons.Errors import SCons.Errors
import SCons.Platform.win32 import SCons.Platform.win32
import SCons.Tool import SCons.Tool
import SCons.Tool.msvc import SCons.Tool.msvc
import SCons.Tool.msvs import SCons.Tool.msvs
import SCons.Util import SCons.Util
from .MSCommon import msvc_setup_env_once, msvc_exists from .MSCommon import msvc_setup_env_once, msvc_setup_env_tool
from .MSCommon.common import get_pch_node from .MSCommon.common import get_pch_node
tool_name = 'mslink'
def pdbGenerator(env, target, source, for_signature): def pdbGenerator(env, target, source, for_signature):
try: try:
return ['/PDB:%s' % target[0].attributes.pdb, '/DEBUG'] return ['/PDB:%s' % target[0].attributes.pdb, '/DEBUG']
except (AttributeError, IndexError): except (AttributeError, IndexError):
return None return None
def _dllTargets(target, source, env, for_signature, paramtp): def _dllTargets(target, source, env, for_signature, paramtp):
listCmd = [] listCmd = []
dll = env.FindIxes(target, '%sPREFIX' % paramtp, '%sSUFFIX' % paramtp) dll = env.FindIxes(target, '%sPREFIX' % paramtp, '%sSUFFIX' % paramtp)
if dll: listCmd.append("/out:%s"%dll.get_string(for_signature)) if dll: listCmd.append("/out:%s"%dll.get_string(for_signature))
skipping to change at line 310 skipping to change at line 312
env['MTFLAGS'] = SCons.Util.CLVar('/nologo') env['MTFLAGS'] = SCons.Util.CLVar('/nologo')
# Note: use - here to prevent build failure if no manifest produced. # Note: use - here to prevent build failure if no manifest produced.
# This seems much simpler than a fancy system using a function action to see # This seems much simpler than a fancy system using a function action to see
# if the manifest actually exists before trying to run mt with it. # if the manifest actually exists before trying to run mt with it.
env['MTEXECOM'] = '-$MT $MTFLAGS -manifest ${TARGET}.manifest $_MANIFEST_SOU RCES -outputresource:$TARGET;1' env['MTEXECOM'] = '-$MT $MTFLAGS -manifest ${TARGET}.manifest $_MANIFEST_SOU RCES -outputresource:$TARGET;1'
env['MTSHLIBCOM'] = '-$MT $MTFLAGS -manifest ${TARGET}.manifest $_MANIFEST_S OURCES -outputresource:$TARGET;2' env['MTSHLIBCOM'] = '-$MT $MTFLAGS -manifest ${TARGET}.manifest $_MANIFEST_S OURCES -outputresource:$TARGET;2'
# TODO Future work garyo 27-Feb-11 # TODO Future work garyo 27-Feb-11
env['_MANIFEST_SOURCES'] = None # _windowsManifestSources env['_MANIFEST_SOURCES'] = None # _windowsManifestSources
# Set-up ms tools paths # Set-up ms tools paths
msvc_setup_env_once(env) msvc_setup_env_once(env, tool=tool_name)
# Loadable modules are on Windows the same as shared libraries, but they # Loadable modules are on Windows the same as shared libraries, but they
# are subject to different build parameters (LDMODULE* variables). # are subject to different build parameters (LDMODULE* variables).
# Therefore LDMODULE* variables correspond as much as possible to # Therefore LDMODULE* variables correspond as much as possible to
# SHLINK*/SHLIB* ones. # SHLINK*/SHLIB* ones.
SCons.Tool.createLoadableModuleBuilder(env, loadable_module_suffix='$LDMODUL ESUFFIX') SCons.Tool.createLoadableModuleBuilder(env, loadable_module_suffix='$LDMODUL ESUFFIX')
env['LDMODULE'] = '$SHLINK' env['LDMODULE'] = '$SHLINK'
env['LDMODULEPREFIX'] = '$SHLIBPREFIX' env['LDMODULEPREFIX'] = '$SHLIBPREFIX'
env['LDMODULESUFFIX'] = '$SHLIBSUFFIX' env['LDMODULESUFFIX'] = '$SHLIBSUFFIX'
env['LDMODULEFLAGS'] = '$SHLINKFLAGS' env['LDMODULEFLAGS'] = '$SHLINKFLAGS'
skipping to change at line 333 skipping to change at line 335
env['LDMODULEEMITTER'] = [ldmodEmitter] env['LDMODULEEMITTER'] = [ldmodEmitter]
env['LDMODULECOM'] = compositeLdmodAction env['LDMODULECOM'] = compositeLdmodAction
# Issue #3350 # Issue #3350
# Change tempfile argument joining character from a space to a newline # Change tempfile argument joining character from a space to a newline
# mslink will fail if any single line is too long, but is fine with many lin es # mslink will fail if any single line is too long, but is fine with many lin es
# in a tempfile # in a tempfile
env['TEMPFILEARGJOIN'] = os.linesep env['TEMPFILEARGJOIN'] = os.linesep
def exists(env): def exists(env):
return msvc_exists(env) return msvc_setup_env_tool(env, tool=tool_name)
# Local Variables: # Local Variables:
# tab-width:4 # tab-width:4
# indent-tabs-mode:nil # indent-tabs-mode:nil
# End: # End:
# vim: set expandtab tabstop=4 shiftwidth=4: # vim: set expandtab tabstop=4 shiftwidth=4:
 End of changes. 4 change blocks. 
3 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)