summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-17 01:10:16 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-17 01:10:16 +0000
commita1a3db8ce5e32f1069042aa64448a7862ced7d86 (patch)
tree0ee86cd3393ec2ff54d1cb59f965475b2db0c882 /build
parent0daf947343b0053b9a4361a6a2b37a0cad5fc032 (diff)
downloadchromium_src-a1a3db8ce5e32f1069042aa64448a7862ced7d86.zip
chromium_src-a1a3db8ce5e32f1069042aa64448a7862ced7d86.tar.gz
chromium_src-a1a3db8ce5e32f1069042aa64448a7862ced7d86.tar.bz2
Underlying functionality for generating native Visual Studio solution files:
* New _Node_MSVS.py module (from rspangler) with new MSVSFolder(), MSVSProject() and MSVSSolution() Nodes. This will eventually become a new SCons/Node/MSVS.py module in upstream SCons. * New MSVSNew.py Tool module imports MSVS.py (either from SCons.Node or from our temporary _Node_MSVS.py module) and attaches the appropriate environment methods. * MSVSSolution().Write() will generate a solution file based on explicit configuration in the SConscript files. * While we're here, define $SQLITE_DIR, which will be used by the next checkins. Review URL: http://codereview.chromium.org/14467 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7120 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r--build/SConscript.main20
1 files changed, 18 insertions, 2 deletions
diff --git a/build/SConscript.main b/build/SConscript.main
index 22c7352..fff2233 100644
--- a/build/SConscript.main
+++ b/build/SConscript.main
@@ -64,9 +64,13 @@ clvars.AddVariables(
root_env = Environment(
+ # MSVSNew in the base environment? Yes, the point is we can (and
+ # want to) generate Visual Studio project and solution files from
+ # any platform.
tools = ['component_setup',
'chromium_builders',
- 'chromium_load_component'],
+ 'chromium_load_component',
+ 'MSVSNew'],
variables = clvars,
# Requested list of system (shared) libraries, from the comma separated
@@ -126,6 +130,7 @@ root_env = Environment(
LZMA_SDK_DIR = '$THIRD_PARTY_DIR/lzma_sdk',
MODP_B64_DIR = '$THIRD_PARTY_DIR/modp_b64',
NPAPI_DIR = '$THIRD_PARTY_DIR/npapi',
+ SQLITE_DIR = '$THIRD_PARTY_DIR/sqlite',
ZLIB_DIR = '$THIRD_PARTY_DIR/zlib',
THIRD_PARTY_WEBKIT_DIR = '$THIRD_PARTY_DIR/WebKit',
@@ -221,8 +226,19 @@ root_env.Append(BUILD_SCONSCRIPTS = sconscripts)
# Windows specific
windows_env = root_env.Clone()
+
windows_env.Tool('target_platform_windows')
windows_env.Tool('component_targets_msvs') # Per target project support.
+
+# Hammer's target_platform_windows module added the stock SCons
+# MSVSProject() and MSVSSolution() Builders, which we're going to
+# replace with our newer, more flexible implementation. Wipe out the
+# older ones so they don't interfere with our initialization and so
+# SCons doesn't propagate them to cloned construction environments.
+del windows_env['BUILDERS']['MSVSProject']
+del windows_env['BUILDERS']['MSVSSolution']
+windows_env.Tool('MSVSNew')
+
windows_env.Tool('midl')
# TODO(bradnelson): target_platform_windows defines a whole bunch of
@@ -242,7 +258,7 @@ windows_env['MSVC_BATCH'] = True
# TODO(bradnelson): this should not need to be gated on host platform.
if root_env['PLATFORM'] in ['win32', 'cygwin']:
- msvs_env = Environment(tools=['msvc', 'mslink', 'msvs'])['ENV']
+ msvs_env = Environment(tools=['msvc', 'mslink'])['ENV']
msvs_drive = msvs_env['PATH'][0]
else:
msvs_env = {'PATH': '', 'INCLUDE': '', 'LIB': ''}