Chromium Code Reviews| Index: tools/gyp/v8.gyp |
| diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp |
| index 1383a60fb6d8d24641d21728b60dfad53a5ecd35..c9413538d528dc4dbc39a6aba8954b27cd075044 100644 |
| --- a/tools/gyp/v8.gyp |
| +++ b/tools/gyp/v8.gyp |
| @@ -42,13 +42,14 @@ |
| }, { |
| 'toolsets': ['target'], |
| }], |
| - ['v8_use_snapshot=="true"', { |
| + |
| + ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', { |
| # The dependency on v8_base should come from a transitive |
| # dependency however the Android toolchain requires libv8_base.a |
| # to appear before libv8_snapshot.a so it's listed explicitly. |
| 'dependencies': ['v8_base.<(v8_target_arch)', 'v8_snapshot'], |
| - }, |
| - { |
| + }], |
| + ['v8_use_snapshot!="true" and v8_use_external_startup_data==0', { |
| # The dependency on v8_base should come from a transitive |
| # dependency however the Android toolchain requires libv8_base.a |
| # to appear before libv8_snapshot.a so it's listed explicitly. |
| @@ -57,6 +58,12 @@ |
| 'v8_nosnapshot.<(v8_target_arch)', |
| ], |
| }], |
| + ['v8_use_external_startup_data==1', { |
| + 'dependencies': [ |
| + 'v8_base.<(v8_target_arch)', |
| + 'v8_external_snapshot', |
| + ], |
| + }], |
| ['component=="shared_library"', { |
| 'type': '<(component)', |
| 'sources': [ |
| @@ -148,6 +155,7 @@ |
| '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', |
| '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', |
| '<(INTERMEDIATE_DIR)/snapshot.cc', |
| + '../../src/snapshot-common.cc', |
| ], |
| 'actions': [ |
| { |
| @@ -172,7 +180,7 @@ |
| 'action': [ |
| '<@(_inputs)', |
| '<@(mksnapshot_flags)', |
| - '<@(_outputs)' |
| + '<@(INTERMEDIATE_DIR)/snapshot.cc' |
| ], |
| }, |
| ], |
| @@ -190,6 +198,7 @@ |
| '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
| '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', |
| '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', |
| + '../../src/snapshot-common.cc', |
| '../../src/snapshot-empty.cc', |
| ], |
| 'conditions': [ |
| @@ -208,6 +217,73 @@ |
| }], |
| ] |
| }, |
| + { |
| + 'target_name': 'v8_external_snapshot', |
| + 'type': 'static_library', |
| + 'dependencies': [ |
| + 'v8_base.<(v8_target_arch)', |
| + 'mksnapshot.<(v8_target_arch)', |
| + 'natives_blob', |
| + ], |
| + 'include_dirs+': [ |
| + '../../src', |
| + ], |
| + 'sources': [ |
| + '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', |
| + '../../src/natives-external.cc', |
| + '../../src/snapshot-external.cc', |
| + ], |
| + 'conditions': [ |
| + ['want_separate_host_toolset==1', { |
| + 'toolsets': ['host', 'target'], |
| + 'dependencies': [ |
| + 'js2c#host', |
| + 'generate_trig_table#host', |
| + 'mksnapshot.<(v8_target_arch)#host' |
| + ]}, { |
| + 'toolsets': ['target'], |
| + 'dependencies': [ |
| + 'js2c', |
| + 'generate_trig_table', |
| + 'mksnapshot.<(v8_target_arch)' |
| + ]}], |
| + ['component=="shared_library"', { |
| + 'defines': [ |
| + 'BUILDING_V8_SHARED', |
| + 'V8_SHARED', |
| + ], |
| + }], |
| + ], |
| + 'actions': [ |
| + { |
| + 'action_name': 'run_mksnapshot (external)', |
| + 'inputs': [ |
| + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot.<(v8_target_arch)<(EXECUTABLE_SUFFIX)', |
| + ], |
| + 'outputs': [ |
| + '<(INTERMEDIATE_DIR)/snapshot.cc', |
| + '<(INTERMEDIATE_DIR)/snapshot_blob.bin', |
| + ], |
| + 'variables': { |
| + 'mksnapshot_flags': [ |
| + '--log-snapshot-positions', |
| + '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log', |
| + ], |
| + 'conditions': [ |
| + ['v8_random_seed!=0', { |
| + 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'], |
| + }], |
| + ], |
| + }, |
| + 'action': [ |
| + '<@(_inputs)', |
| + '<@(mksnapshot_flags)', |
| + '<@(INTERMEDIATE_DIR)/snapshot.cc', |
| + '--startup_blob', '<(INTERMEDIATE_DIR)/snapshot_blob.bin', |
| + ], |
| + }, |
| + ], |
| + }, |
| { 'target_name': 'generate_trig_table', |
| 'type': 'none', |
| 'conditions': [ |
| @@ -544,8 +620,9 @@ |
| '../../src/serialize.h', |
| '../../src/small-pointer-list.h', |
| '../../src/smart-pointers.h', |
| - '../../src/snapshot-common.cc', |
| '../../src/snapshot.h', |
| + '../../src/snapshot-source-sink.cc', |
|
jochen (gone - plz use gerrit)
2014/05/23 11:44:44
can you do those changes (adding/removing files) i
vogelheim
2014/05/26 12:36:03
Done.
|
| + '../../src/snapshot-source-sink.h', |
| '../../src/spaces-inl.h', |
| '../../src/spaces.cc', |
| '../../src/spaces.h', |
| @@ -1051,6 +1128,25 @@ |
| ], |
| }, |
| { |
| + 'target_name': 'natives_blob', |
| + 'type': 'none', |
| + 'actions': [{ |
| + 'action_name': 'concatenate_natives_blob', |
| + 'inputs': [ |
| + '<(SHARED_INTERMEDIATE_DIR)/libraries.bin', |
|
jochen (gone - plz use gerrit)
2014/05/23 11:44:44
I think we want those in <(PRODUCT_DIR)
vogelheim
2014/05/26 12:36:03
Done, but only for those two files that are meant
|
| + '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin', |
| + ], |
| + 'outputs': [ |
| + '<(SHARED_INTERMEDIATE_DIR)/natives_blob.bin', |
| + ], |
| + 'action': [ |
| + 'bash', |
|
jochen (gone - plz use gerrit)
2014/05/23 11:44:44
there's no bash on windows. gyp has some magic to
vogelheim
2014/05/26 12:36:03
Hmm... I got the idea from code search: https://co
|
| + '-c', |
| + 'cat <@(_inputs) > <@(_outputs)', |
| + ], |
| + }], |
| + }, |
| + { |
| 'target_name': 'js2c', |
| 'type': 'none', |
| 'conditions': [ |
| @@ -1105,6 +1201,8 @@ |
| '../../src/harmony-array.js', |
| '../../src/harmony-math.js' |
| ], |
| + 'libraries_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries.bin', |
| + 'libraries_experimental_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin', |
| }, |
| 'actions': [ |
| { |
| @@ -1120,12 +1218,20 @@ |
| 'action': [ |
| 'python', |
| '../../tools/js2c.py', |
| - '<@(_outputs)', |
| + '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
| 'CORE', |
| '<(v8_compress_startup_data)', |
| '<@(library_files)', |
| '<@(i18n_library_files)', |
| ], |
| + 'conditions': [ |
| + [ 'v8_use_external_startup_data==1', { |
| + 'outputs': ['<@(libraries_bin_file)'], |
| + 'action': [ |
| + '--startup_blob', '<@(libraries_bin_file)', |
| + ], |
| + }], |
| + ], |
| }, |
| { |
| 'action_name': 'js2c_experimental', |
| @@ -1139,11 +1245,19 @@ |
| 'action': [ |
| 'python', |
| '../../tools/js2c.py', |
| - '<@(_outputs)', |
| + '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', |
| 'EXPERIMENTAL', |
| '<(v8_compress_startup_data)', |
| '<@(experimental_library_files)' |
| ], |
| + 'conditions': [ |
| + [ 'v8_use_external_startup_data==1', { |
| + 'outputs': ['<@(libraries_experimental_bin_file)'], |
| + 'action': [ |
| + '--startup_blob', '<@(libraries_experimental_bin_file)' |
| + ], |
| + }], |
| + ], |
| }, |
| ], |
| }, |