1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
# Keeping this separate since Node.js does use it
{
'targets': [
{
'target_name': 'v8_external_snapshot',
'type': 'static_library',
'conditions': [
['v8_use_external_startup_data==1', {
'conditions': [
['want_separate_host_toolset==1', {
'toolsets': ['host', 'target'],
'dependencies': [
'mksnapshot#host',
'js2c_extras#host',
'natives_blob',
]
}, {
'toolsets': ['target'],
'dependencies': [
'mksnapshot',
'natives_blob',
],
}],
['component=="shared_library"', {
'defines': [
'BUILDING_V8_SHARED',
],
'direct_dependent_settings': {
'defines': [
'USING_V8_SHARED',
],
},
}],
],
'dependencies': [
'v8_base',
],
'sources': [
'<(V8_ROOT)/src/setup-isolate-deserialize.cc',
'<(V8_ROOT)/src/snapshot/embedded-empty.cc',
'<(V8_ROOT)/src/snapshot/natives-external.cc',
'<(V8_ROOT)/src/snapshot/snapshot-external.cc',
'<(embedded_builtins_snapshot_src)',
],
'actions': [
{
'action_name': 'run_mksnapshot (external)',
'inputs': [
'<(mksnapshot_exec)',
],
'variables': {
'mksnapshot_flags': [],
'conditions': [
['v8_random_seed!=0', {
'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
}],
['v8_vector_stores!=0', {
'mksnapshot_flags': ['--vector-stores'],
}],
['v8_os_page_size!=0', {
'mksnapshot_flags': ['--v8_os_page_size', '<(v8_os_page_size)'],
}],
['v8_enable_embedded_builtins=1', {
# 'embedded_builtins_snapshot_src': [ "$target_gen_dir/embedded${suffix}.cc" ],
# 'mksnapshot_flags': ["--embedded_src", "$target_gen_dir/embedded${suffix}.cc",],
# if (invoker.embedded_variant != "") {
# args += [
# "--embedded_variant",
# invoker.embedded_variant,
# ]
# }
},
],
],
},
'conditions': [
['v8_embed_script!=""', {
'inputs': [
'<(v8_embed_script)',
],
}],
['want_separate_host_toolset==1', {
'target_conditions': [
['_toolset=="host"', {
'outputs': [
'<(PRODUCT_DIR)/snapshot_blob_host.bin',
'<(embedded_builtins_snapshot_src)'
],
'action': [
'<(mksnapshot_exec)',
'<@(mksnapshot_flags)',
'--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_host.bin',
'<(embed_script)',
'<(warmup_script)',
],
}, {
'outputs': [
'<(PRODUCT_DIR)/snapshot_blob.bin',
],
'action': [
'<(mksnapshot_exec)',
'<@(mksnapshot_flags)',
'--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
'<(embed_script)',
'<(warmup_script)',
],
}],
],
}, {
'outputs': [
'<(PRODUCT_DIR)/snapshot_blob.bin',
'<(embedded_builtins_snapshot_src)'
],
'action': [
'<(mksnapshot_exec)',
'<@(mksnapshot_flags)',
'--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
'<(embed_script)',
'<(warmup_script)',
],
}],
],
},
],
}],
],
}, # v8_external_snapshot
{
'target_name': 'natives_blob',
'type': 'none',
'conditions': [
['want_separate_host_toolset==1', {
'toolsets': ['host', 'target'],
}, {
'toolsets': ['target'],
}],
['v8_use_external_startup_data==1', {
'conditions': [
['want_separate_host_toolset==1', {
'dependencies': ['js2c_extras#host'],
}],
],
'actions': [
{
'action_name': 'js2c_extras_bin',
'inputs': [
'<(V8_ROOT)/tools/js2c.py',
'<@(v8_extra_library_files)',
],
'outputs': ['<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin'],
'action': [
'python',
'<(V8_ROOT)/tools/js2c.py',
'<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
'EXTRAS',
'<@(v8_extra_library_files)',
'--startup_blob', '<@(_outputs)',
'--nojs',
],
},
{
'action_name': 'concatenate_natives_blob',
'inputs': [
'<(V8_ROOT)/tools/concatenate-files.py',
'<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin',
],
'conditions': [
['want_separate_host_toolset==1', {
'target_conditions': [
['_toolset=="host"', {
'outputs': [
'<(PRODUCT_DIR)/natives_blob_host.bin',
],
'action': [
'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
],
}, {
'outputs': [
'<(PRODUCT_DIR)/natives_blob.bin',
],
'action': [
'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
],
}],
],
}, {
'outputs': [
'<(PRODUCT_DIR)/natives_blob.bin',
],
'action': [
'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
],
}],
],
},
],
}],
]
}, # natives_blob
]
}
|