summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/SConscript.main31
-rw-r--r--build/SConscript.v82
2 files changed, 27 insertions, 6 deletions
diff --git a/build/SConscript.main b/build/SConscript.main
index 5913d9c..ec0d8f7 100644
--- a/build/SConscript.main
+++ b/build/SConscript.main
@@ -85,6 +85,11 @@ root_env = Environment(
root_env.Append(LIBPATH = ['$V8_DIR'])
+# Declare a bit to gate solution generation.
+# The actual generation must be at the end.
+DeclareBit('solution', 'Generate a solution file')
+root_env.SetBitFromOption('solution', False)
+
def ChromeProgram(env, *args, **kw):
return env.ComponentProgram(*args, **kw)
@@ -183,7 +188,10 @@ if LoadComponent('net'):
if LoadComponent('rlz'):
sconscripts.append('$RLZ_DIR/SConscript')
-if LoadComponent('sandbox'):
+# TODO(bradnelson): fix solution generation for sandbox.
+# The solution generator blows up on some of the tests in sandbox.
+# For now, disable sandbox for solution generation.
+if LoadComponent('sandbox') and not root_env.Bit('solution'):
sconscripts.append('$SANDBOX_DIR/sandbox.scons')
if LoadComponent('sdch'):
@@ -211,7 +219,7 @@ if LoadComponent('third_party'):
])
if LoadComponent('v8') and root_env.Dir('$CHROME_SRC_DIR/v8').exists():
- sconscripts.append('build/SConscript.v8')
+ sconscripts.append('$OBJ_ROOT/build/SConscript.v8')
if LoadComponent('webkit'):
sconscripts.append('$WEBKIT_DIR/SConscript')
@@ -233,8 +241,8 @@ windows_env.Tool('midl')
windows_env.Replace(
BUILD_TYPE = 'debug-windows',
BUILD_TYPE_DESCRIPTION = 'Windows debug build',
- BUILD_GROUPS = ['default'],
)
+windows_env.Append(BUILD_GROUPS = ['default'])
# TODO(bradnelson): this is needed for now because target_platform_windows
# has OS_WINDOWS defined in a weird way.
@@ -401,8 +409,8 @@ linux_env.Tool('yacc')
linux_env.Replace(
BUILD_TYPE = 'debug-linux',
BUILD_TYPE_DESCRIPTION = 'Linux debug build',
- BUILD_GROUPS = ['default'],
)
+linux_env.Append(BUILD_GROUPS = ['default'])
# TODO(bradnelson): this is needed for now because target_platform_linux has
@@ -503,8 +511,8 @@ mac_env.Tool('target_debug')
mac_env.Replace(
BUILD_TYPE = 'debug-mac',
BUILD_TYPE_DESCRIPTION = 'Mac debug build',
- BUILD_GROUPS = ['default'],
)
+mac_env.Append(BUILD_GROUPS = ['default'])
mac_env.Replace(
# Reproduce XCode's behavior of using gcc even to link C++,
@@ -640,3 +648,16 @@ Default(Alias(build_component))
BuildComponents(environment_list)
# -------------------------------------------------------------------------
+
+# This must occur after BuildComponents so that the dependency graph
+# will be populated.
+if root_env.Bit('solution'):
+ solution_env = root_env.Clone(tools = ['visual_studio_solution'])
+ solution = solution_env.Solution(
+ '$MAIN_DIR/chrome_scons', [windows_env],
+ exclude_pattern = '.*(Program Files|platformsdk_vista_6_0|cygwin).*',
+ )
+ Default(None) # Delete all other default targets.
+ Default(solution) # Build just the solution.
+
+# -------------------------------------------------------------------------
diff --git a/build/SConscript.v8 b/build/SConscript.v8
index aadb4b7..34378e9 100644
--- a/build/SConscript.v8
+++ b/build/SConscript.v8
@@ -76,6 +76,6 @@ if env['PLATFORM'] == 'win32':
# TODO(evanm): this may be necessary on other platforms(?)
i = env.InstallAs('$TARGET_ROOT/v8_shell_sample${PROGSUFFIX}', v8[0])
-env.ChromeStaticLibrary('$V8_DIR/v8_snapshot',
+env.ChromeStaticLibrary('v8_snapshot',
['$V8_MODE_DIR/libraries-empty${OBJSUFFIX}',
'$V8_MODE_DIR/snapshot${OBJSUFFIX}'])