summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt4
-rw-r--r--src/engine/SCons/Scanner/__init__.py4
-rw-r--r--src/engine/SCons/Tool/msvc.py7
3 files changed, 13 insertions, 2 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index d542c0d..0b1b027 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -81,8 +81,8 @@ RELEASE 0.09 -
- Add an Options() object for friendlier accomodation of command-
line arguments.
- - Add support for Microsoft VC++ precompiled header (.pch)
- and debugger (.pdb) files.
+ - Add support for Microsoft VC++ precompiled header (.pch) files,
+ debugger (.pdb) files, and resource (.rc) files.
- Don't compute the $_CPPINCFLAGS, $_F77INCFLAGS, $_LIBFLAGS and
$_LIBDIRFLAGS variables each time a command is executed, define
diff --git a/src/engine/SCons/Scanner/__init__.py b/src/engine/SCons/Scanner/__init__.py
index dc10648..aef5d72 100644
--- a/src/engine/SCons/Scanner/__init__.py
+++ b/src/engine/SCons/Scanner/__init__.py
@@ -127,6 +127,10 @@ class Base:
def __hash__(self):
return hash(None)
+ def add_skey(self, skey):
+ """Add a skey to the list of skeys"""
+ self.skeys.append(skey)
+
class RExists(Base):
"""
Scan a node only if it exists (locally or in a Repository).
diff --git a/src/engine/SCons/Tool/msvc.py b/src/engine/SCons/Tool/msvc.py
index f71c074..94f1e4d 100644
--- a/src/engine/SCons/Tool/msvc.py
+++ b/src/engine/SCons/Tool/msvc.py
@@ -238,6 +238,7 @@ def object_emitter(target, source, env):
return (target, source)
pch_builder = SCons.Builder.Builder(action='$PCHCOM', suffix='.pch', emitter=pch_emitter)
+res_builder = SCons.Builder.Builder(action='$RCCOM', suffix='.res')
def generate(env, platform):
"""Add Builders and construction variables for MSVC++ to an Environment."""
@@ -270,6 +271,12 @@ def generate(env, platform):
env['INCSUFFIX'] = ''
env['OBJEMITTER'] = object_emitter
+ env['RC'] = 'rc'
+ env['RCFLAGS'] = ''
+ env['RCCOM'] = '$RC $_CPPINCFLAGS $RCFLAGS /fo$TARGET $SOURCES'
+ env.CScan.add_skey('.rc')
+ env['BUILDERS']['RES'] = res_builder
+
include_path, lib_path, exe_path = get_msdev_paths()
env['ENV']['INCLUDE'] = include_path
env['ENV']['PATH'] = exe_path