summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/mslib.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-06-08 13:22:57 (GMT)
committerSteven Knight <knight@baldmt.com>2003-06-08 13:22:57 (GMT)
commit4d7ed00302f2f872f9719125b4fcb048e4ecb7ef (patch)
tree4afaba4669ddae8c3ce9972f79471d8387930e87 /src/engine/SCons/Tool/mslib.py
parent8fc3c77d320fb435cb9268d31c34a58b18a58b54 (diff)
downloadSCons-4d7ed00302f2f872f9719125b4fcb048e4ecb7ef.zip
SCons-4d7ed00302f2f872f9719125b4fcb048e4ecb7ef.tar.gz
SCons-4d7ed00302f2f872f9719125b4fcb048e4ecb7ef.tar.bz2
Add MSVS Project file support. (Greg Spencer)
Diffstat (limited to 'src/engine/SCons/Tool/mslib.py')
-rw-r--r--src/engine/SCons/Tool/mslib.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/engine/SCons/Tool/mslib.py b/src/engine/SCons/Tool/mslib.py
index 4180e05..93a36cc 100644
--- a/src/engine/SCons/Tool/mslib.py
+++ b/src/engine/SCons/Tool/mslib.py
@@ -34,15 +34,32 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
import SCons.Defaults
+import SCons.Tool.msvs
+import SCons.Tool.msvc
def generate(env):
"""Add Builders and construction variables for lib to an Environment."""
env['BUILDERS']['Library'] = SCons.Defaults.StaticLibrary
env['BUILDERS']['StaticLibrary'] = SCons.Defaults.StaticLibrary
-
+
+ version = SCons.Tool.msvs.get_default_visualstudio_version(env)
+
+ if env.has_key('MSVS_IGNORE_IDE_PATHS') and env['MSVS_IGNORE_IDE_PATHS']:
+ include_path, lib_path, exe_path = SCons.Tool.msvc.get_msvc_default_paths(version)
+ else:
+ include_path, lib_path, exe_path = SCons.Tool.msvc.get_msvc_paths(version)
+
+ # since other tools can set this, we just make sure that the
+ # relevant stuff from MSVS is in there somewhere.
+ env.PrependENVPath('PATH', exe_path)
+
env['AR'] = 'lib'
env['ARFLAGS'] = '/nologo'
env['ARCOM'] = "${TEMPFILE('$AR $ARFLAGS /OUT:$TARGET $SOURCES')}"
def exists(env):
- return env.Detect('lib')
+ if not SCons.Util.can_read_reg or not SCons.Tool.msvs.get_visualstudio_versions():
+ return env.Detect('lib')
+ else:
+ # there's at least one version of MSVS installed.
+ return True