| Index: tools/gyp/v8.gyp
|
| diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp
|
| index 1383a60fb6d8d24641d21728b60dfad53a5ecd35..197dd799c3efe3e96adc50f37c4096d5aedeb67b 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,80 @@
|
| }],
|
| ]
|
| },
|
| + {
|
| + 'target_name': 'v8_external_snapshot',
|
| + 'type': 'static_library',
|
| + 'conditions': [
|
| + ['want_separate_host_toolset==1', {
|
| + 'toolsets': ['host', 'target'],
|
| + 'dependencies': [
|
| + 'mksnapshot.<(v8_target_arch)#host',
|
| + 'js2c#host',
|
| + 'generate_trig_table#host',
|
| + 'natives_blob#host',
|
| + ]}, {
|
| + 'toolsets': ['target'],
|
| + 'dependencies': [
|
| + 'mksnapshot.<(v8_target_arch)',
|
| + 'js2c',
|
| + 'generate_trig_table',
|
| + 'natives_blob',
|
| + ],
|
| + }],
|
| + ['component=="shared_library"', {
|
| + 'defines': [
|
| + 'V8_SHARED',
|
| + 'BUILDING_V8_SHARED',
|
| + ],
|
| + 'direct_dependent_settings': {
|
| + 'defines': [
|
| + 'V8_SHARED',
|
| + 'USING_V8_SHARED',
|
| + ],
|
| + },
|
| + }],
|
| + ],
|
| + 'dependencies': [
|
| + 'v8_base.<(v8_target_arch)',
|
| + ],
|
| + 'include_dirs+': [
|
| + '../../src',
|
| + ],
|
| + 'sources': [
|
| + '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc',
|
| + '../../src/natives-external.cc',
|
| + '../../src/snapshot-external.cc',
|
| + ],
|
| + 'actions': [
|
| + {
|
| + 'action_name': 'run_mksnapshot (external)',
|
| + 'inputs': [
|
| + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot.<(v8_target_arch)<(EXECUTABLE_SUFFIX)',
|
| + ],
|
| + 'outputs': [
|
| + '<(INTERMEDIATE_DIR)/snapshot.cc',
|
| + '<(PRODUCT_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', '<(PRODUCT_DIR)/snapshot_blob.bin',
|
| + ],
|
| + },
|
| + ],
|
| + },
|
| { 'target_name': 'generate_trig_table',
|
| 'type': 'none',
|
| 'conditions': [
|
| @@ -544,8 +627,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',
|
| + '../../src/snapshot-source-sink.h',
|
| '../../src/spaces-inl.h',
|
| '../../src/spaces.cc',
|
| '../../src/spaces.h',
|
| @@ -1051,6 +1135,33 @@
|
| ],
|
| },
|
| {
|
| + 'target_name': 'natives_blob',
|
| + 'type': 'none',
|
| + 'dependencies': ['js2c'],
|
| + 'actions': [{
|
| + 'action_name': 'concatenate_natives_blob',
|
| + 'inputs': [
|
| + '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
|
| + '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
|
| + ],
|
| + 'outputs': [
|
| + '<(PRODUCT_DIR)/natives_blob.bin',
|
| + ],
|
| + 'action': [
|
| + 'bash',
|
| + '-c',
|
| + 'cat <@(_inputs) > <@(_outputs)',
|
| + ],
|
| + }],
|
| + 'conditions': [
|
| + ['want_separate_host_toolset==1', {
|
| + 'toolsets': ['host'],
|
| + }, {
|
| + 'toolsets': ['target'],
|
| + }],
|
| + ],
|
| + },
|
| + {
|
| 'target_name': 'js2c',
|
| 'type': 'none',
|
| 'conditions': [
|
| @@ -1105,6 +1216,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 +1233,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 +1260,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)'
|
| + ],
|
| + }],
|
| + ],
|
| },
|
| ],
|
| },
|
|
|