diff options
author | Steven Knight <knight@baldmt.com> | 2005-01-08 22:38:53 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2005-01-08 22:38:53 (GMT) |
commit | 69e3c442cdfb846cbcba7702d500e237b66be71e (patch) | |
tree | 7efb9d5d344c6d7cd76ae432a075d5ac4276aace /src/engine/SCons/Tool | |
parent | 3c23f9969cea7931a8dea998a33b15ab51fe1a5f (diff) | |
download | SCons-69e3c442cdfb846cbcba7702d500e237b66be71e.zip SCons-69e3c442cdfb846cbcba7702d500e237b66be71e.tar.gz SCons-69e3c442cdfb846cbcba7702d500e237b66be71e.tar.bz2 |
Support 'from SConsScript import *' to allow Python modules imported by SConscript files to get at the global builders and functions more easily.
Diffstat (limited to 'src/engine/SCons/Tool')
-rw-r--r-- | src/engine/SCons/Tool/mslink.py | 10 | ||||
-rw-r--r-- | src/engine/SCons/Tool/msvs.py | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/engine/SCons/Tool/mslink.py b/src/engine/SCons/Tool/mslink.py index 98258c2..559a679 100644 --- a/src/engine/SCons/Tool/mslink.py +++ b/src/engine/SCons/Tool/mslink.py @@ -178,6 +178,16 @@ def generate(env): except (SCons.Util.RegError, SCons.Errors.InternalError): pass + # For most platforms, a loadable module is the same as a shared + # library. Platforms which are different can override these, but + # setting them the same means that LoadableModule works everywhere. + SCons.Tool.createLoadableModuleBuilder(env) + env['LDMODULE'] = '$SHLINK' + env['LDMODULEPREFIX'] = '$SHLIBPREFIX' + env['LDMODULESUFFIX'] = '$SHLIBSUFFIX' + env['LDMODULEFLAGS'] = '$SHLINKFLAGS' + env['LDMODULECOM'] = '$SHLINKCOM' + def exists(env): if SCons.Tool.msvs.is_msvs_installed(): # there's at least one version of MSVS installed. diff --git a/src/engine/SCons/Tool/msvs.py b/src/engine/SCons/Tool/msvs.py index a173c3e..04e09f5 100644 --- a/src/engine/SCons/Tool/msvs.py +++ b/src/engine/SCons/Tool/msvs.py @@ -45,7 +45,7 @@ import types import SCons.Builder import SCons.Node.FS import SCons.Platform.win32 -import SCons.Script.SConscript +import SCons.Script import SCons.Util import SCons.Warnings @@ -1052,10 +1052,12 @@ def projectEmitter(target, source, env): dspfile = SCons.Node.FS.default_fs.File(target[0]).srcnode() dswfile = SCons.Node.FS.default_fs.File(SCons.Util.splitext(str(dspfile))[0] + env.subst('$MSVSSOLUTIONSUFFIX')) + # XXX Need to find a way to abstract this; the build engine + # shouldn't depend on anything in SCons.Script. + stack = SCons.Script.call_stack if not source: - source = [SCons.Script.SConscript.stack[-1].sconscript.srcnode()] - - source[0].attributes.sconstruct = SCons.Script.SConscript.stack[0].sconscript + source = [stack[-1].sconscript.srcnode()] + source[0].attributes.sconstruct = stack[0].sconscript bdswpath = SCons.Util.splitext(str(target[0]))[0] + env.subst('$MSVSSOLUTIONSUFFIX') bdswfile = SCons.Node.FS.default_fs.File(bdswpath) |