summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-01-08 22:38:53 (GMT)
committerSteven Knight <knight@baldmt.com>2005-01-08 22:38:53 (GMT)
commit69e3c442cdfb846cbcba7702d500e237b66be71e (patch)
tree7efb9d5d344c6d7cd76ae432a075d5ac4276aace /src/engine/SCons/Tool
parent3c23f9969cea7931a8dea998a33b15ab51fe1a5f (diff)
downloadSCons-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.py10
-rw-r--r--src/engine/SCons/Tool/msvs.py10
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)