['component=="shared_library"', {
# cctest can't be built against a shared library, so we need to
# depend on the underlying static target in that case.
- 'conditions': [
- ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
- 'dependencies': ['../../tools/gyp/v8.gyp:v8_snapshot'],
- }],
- ['v8_use_snapshot=="true" and v8_use_external_startup_data==1', {
- 'dependencies': ['../../tools/gyp/v8.gyp:v8_external_snapshot'],
- }],
- ['v8_use_snapshot!="true"', {
- 'dependencies': ['../../tools/gyp/v8.gyp:v8_nosnapshot'],
- }],
- ],
+ 'dependencies': ['../../tools/gyp/v8.gyp:v8_maybe_snapshot'],
}, {
'dependencies': ['../../tools/gyp/v8.gyp:v8'],
}],
['component=="shared_library"', {
# compiler-unittests can't be built against a shared library, so we
# need to depend on the underlying static target in that case.
- 'conditions': [
- ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
- 'dependencies': ['../../tools/gyp/v8.gyp:v8_snapshot'],
- }],
- ['v8_use_snapshot=="true" and v8_use_external_startup_data==1', {
- 'dependencies': ['../../tools/gyp/v8.gyp:v8_external_snapshot'],
- }],
- ['v8_use_snapshot!="true"', {
- 'dependencies': ['../../tools/gyp/v8.gyp:v8_nosnapshot'],
- }],
- ],
+ 'dependencies': ['../../tools/gyp/v8.gyp:v8_maybe_snapshot'],
}, {
'dependencies': ['../../tools/gyp/v8.gyp:v8'],
}],
{
'target_name': 'v8',
'dependencies_traverse': 1,
+ 'dependencies': ['v8_maybe_snapshot'],
'conditions': [
['want_separate_host_toolset==1', {
'toolsets': ['host', 'target'],
}, {
'toolsets': ['target'],
}],
-
- ['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_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.
- 'dependencies': ['v8_base', 'v8_nosnapshot'],
- }],
- ['v8_use_external_startup_data==1 and want_separate_host_toolset==1', {
- 'dependencies': ['v8_base', 'v8_external_snapshot'],
- 'target_conditions': [
- ['_toolset=="host"', {
- 'inputs': [
- '<(PRODUCT_DIR)/snapshot_blob_host.bin',
- ],
- }, {
- 'inputs': [
- '<(PRODUCT_DIR)/snapshot_blob.bin',
- ],
- }],
- ],
- }],
- ['v8_use_external_startup_data==1 and want_separate_host_toolset==0', {
- 'dependencies': ['v8_base', 'v8_external_snapshot'],
- 'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ],
- }],
['component=="shared_library"', {
'type': '<(component)',
'sources': [
],
},
},
+ {
+ # This rule delegates to either v8_snapshot, v8_nosnapshot, or
+ # v8_external_snapshot, depending on the current variables.
+ # The intention is to make the 'calling' rules a bit simpler.
+ 'target_name': 'v8_maybe_snapshot',
+ 'type': 'none',
+ 'conditions': [
+ ['v8_use_snapshot!="true"', {
+ # 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_nosnapshot'],
+ }],
+ ['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_snapshot'],
+ }],
+ ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==0', {
+ 'dependencies': ['v8_base', 'v8_external_snapshot'],
+ 'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ],
+ }],
+ ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==1', {
+ 'dependencies': ['v8_base', 'v8_external_snapshot'],
+ 'target_conditions': [
+ ['_toolset=="host"', {
+ 'inputs': [
+ '<(PRODUCT_DIR)/snapshot_blob_host.bin',
+ ],
+ }, {
+ 'inputs': [
+ '<(PRODUCT_DIR)/snapshot_blob.bin',
+ ],
+ }],
+ ],
+ }],
+ ['want_separate_host_toolset==1', {
+ 'toolsets': ['host', 'target'],
+ }, {
+ 'toolsets': ['target'],
+ }],
+ ]
+ },
{
'target_name': 'v8_snapshot',
'type': 'static_library',