OLD | NEW |
1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import os | 5 import os |
6 | 6 |
7 Import('env') | 7 Import('env') |
8 | 8 |
9 if not env.Dir('$CHROME_SRC_DIR/v8').exists(): | 9 if not env.Dir('$CHROME_SRC_DIR/v8').exists(): |
10 Return() | 10 Return() |
11 | 11 |
12 # Grab the -j flag from the outer environment, if available. | |
13 try: | |
14 cpus = env.GetOption('num_jobs') | |
15 cpu_flag = ' -j%d' % cpus | |
16 except AttributeError: | |
17 cpu_flag = '' | |
18 | |
19 # The v8 build script wants a 'debug'/'release' string to tell it whether | 12 # The v8 build script wants a 'debug'/'release' string to tell it whether |
20 # to build optimized. Convert our build flags into that form. | 13 # to build optimized. Convert our build flags into that form. |
21 mode = 'release' | 14 mode = 'release' |
22 if env['TARGET_DEBUG']: | 15 if env['TARGET_DEBUG']: |
23 mode = 'debug' | 16 mode = 'debug' |
24 | 17 |
25 env = env.Clone( | 18 env = env.Clone( |
26 V8_MODE = mode, | 19 V8_MODE = mode, |
27 V8_MODE_DIR = '$V8_DIR/obj/$V8_MODE', | 20 V8_MODE_DIR = '$V8_DIR/obj/$V8_MODE', |
28 V8_SCONS_COM = '$PYTHON $SCONS $SCONSFLAGS mode=$V8_MODE', | 21 V8_SCONS_COM = '$PYTHON $SCONS $SCONSFLAGS mode=$V8_MODE', |
29 SCONS='$CHROME_SRC_DIR/third_party/scons/scons.py', | 22 SCONS = '$CHROME_SRC_DIR/third_party/scons/scons.py', |
30 SCONSFLAGS = ('-Q ' | 23 SCONSFLAGS = ('-Q ' |
31 '-C $OBJ_ROOT/v8 ' | 24 '-C $OBJ_ROOT/v8 ' |
32 '-Y $CHROME_SRC_DIR/v8 ' | 25 '-Y $CHROME_SRC_DIR/v8 ' |
33 '--warn=no-deprecated ' | 26 '--warn=no-deprecated ' |
34 '--warn=no-no-parallel-support' + cpu_flag), | 27 '--warn=no-no-parallel-support'), |
35 ) | 28 ) |
36 | 29 |
37 # Rather than build v8 with our own commands, we just shell out to v8's | 30 # Rather than build v8 with our own commands, we just shell out to v8's |
38 # own SCons-based build, since their build system is complicated. | 31 # own SCons-based build, since their build system is complicated. |
39 # This SConscript just declares dependencies on the outputs of that build. | 32 # This SConscript just declares dependencies on the outputs of that build. |
40 # | 33 # |
41 # Arrange to make sure the build directory exists, since the subsidiary | 34 # Arrange to make sure the build directory exists, since the subsidiary |
42 # SCons we invoke will chdir there of its own accord. | 35 # SCons we invoke will chdir there of its own accord. |
43 | 36 |
44 if not os.path.exists(env.Dir('$OBJ_ROOT/v8').abspath): | 37 if not os.path.exists(env.Dir('$OBJ_ROOT/v8').abspath): |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 env.Install('$V8_DIR', '$V8_MODE_DIR/snapshot-empty${OBJSUFFIX}') | 79 env.Install('$V8_DIR', '$V8_MODE_DIR/snapshot-empty${OBJSUFFIX}') |
87 | 80 |
88 # To satisfy tests expecting the following .exe name. | 81 # To satisfy tests expecting the following .exe name. |
89 if env['PLATFORM'] == 'win32': | 82 if env['PLATFORM'] == 'win32': |
90 # TODO(evanm): this may be necessary on other platforms(?) | 83 # TODO(evanm): this may be necessary on other platforms(?) |
91 i = env.InstallAs('$TARGET_ROOT/v8_shell_sample${PROGSUFFIX}', v8[0]) | 84 i = env.InstallAs('$TARGET_ROOT/v8_shell_sample${PROGSUFFIX}', v8[0]) |
92 | 85 |
93 env.ChromeStaticLibrary('v8_snapshot', | 86 env.ChromeStaticLibrary('v8_snapshot', |
94 ['$V8_MODE_DIR/libraries-empty${OBJSUFFIX}', | 87 ['$V8_MODE_DIR/libraries-empty${OBJSUFFIX}', |
95 '$V8_MODE_DIR/snapshot${OBJSUFFIX}']) | 88 '$V8_MODE_DIR/snapshot${OBJSUFFIX}']) |
OLD | NEW |