Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: tools/gyp/v8.gyp

Issue 334913004: Support external startup data in V8. (retry) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: rebase + style fix Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/concatenate-files.py ('k') | tools/js2c.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2012 the V8 project authors. All rights reserved. 1 # Copyright 2012 the V8 project authors. All rights reserved.
2 # Redistribution and use in source and binary forms, with or without 2 # Redistribution and use in source and binary forms, with or without
3 # modification, are permitted provided that the following conditions are 3 # modification, are permitted provided that the following conditions are
4 # met: 4 # met:
5 # 5 #
6 # * Redistributions of source code must retain the above copyright 6 # * Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer. 7 # notice, this list of conditions and the following disclaimer.
8 # * Redistributions in binary form must reproduce the above 8 # * Redistributions in binary form must reproduce the above
9 # copyright notice, this list of conditions and the following 9 # copyright notice, this list of conditions and the following
10 # disclaimer in the documentation and/or other materials provided 10 # disclaimer in the documentation and/or other materials provided
(...skipping 24 matching lines...) Expand all
35 'targets': [ 35 'targets': [
36 { 36 {
37 'target_name': 'v8', 37 'target_name': 'v8',
38 'dependencies_traverse': 1, 38 'dependencies_traverse': 1,
39 'conditions': [ 39 'conditions': [
40 ['want_separate_host_toolset==1', { 40 ['want_separate_host_toolset==1', {
41 'toolsets': ['host', 'target'], 41 'toolsets': ['host', 'target'],
42 }, { 42 }, {
43 'toolsets': ['target'], 43 'toolsets': ['target'],
44 }], 44 }],
45 ['v8_use_snapshot=="true"', { 45
46 ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
46 # The dependency on v8_base should come from a transitive 47 # The dependency on v8_base should come from a transitive
47 # dependency however the Android toolchain requires libv8_base.a 48 # dependency however the Android toolchain requires libv8_base.a
48 # to appear before libv8_snapshot.a so it's listed explicitly. 49 # to appear before libv8_snapshot.a so it's listed explicitly.
49 'dependencies': ['v8_base', 'v8_snapshot'], 50 'dependencies': ['v8_base', 'v8_snapshot'],
50 }, 51 }],
51 { 52 ['v8_use_snapshot!="true" and v8_use_external_startup_data==0', {
52 # The dependency on v8_base should come from a transitive 53 # The dependency on v8_base should come from a transitive
53 # dependency however the Android toolchain requires libv8_base.a 54 # dependency however the Android toolchain requires libv8_base.a
54 # to appear before libv8_snapshot.a so it's listed explicitly. 55 # to appear before libv8_snapshot.a so it's listed explicitly.
55 'dependencies': ['v8_base', 'v8_nosnapshot'], 56 'dependencies': ['v8_base', 'v8_nosnapshot'],
56 }], 57 }],
58 ['v8_use_external_startup_data==1', {
59 'dependencies': ['v8_base', 'v8_external_snapshot'],
60 }],
57 ['component=="shared_library"', { 61 ['component=="shared_library"', {
58 'type': '<(component)', 62 'type': '<(component)',
59 'sources': [ 63 'sources': [
60 # Note: on non-Windows we still build this file so that gyp 64 # Note: on non-Windows we still build this file so that gyp
61 # has some sources to link into the component. 65 # has some sources to link into the component.
62 '../../src/v8dll-main.cc', 66 '../../src/v8dll-main.cc',
63 ], 67 ],
64 'include_dirs': [ 68 'include_dirs': [
65 '../..', 69 '../..',
66 ], 70 ],
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 'v8_base', 145 'v8_base',
142 ], 146 ],
143 'include_dirs+': [ 147 'include_dirs+': [
144 '../..', 148 '../..',
145 ], 149 ],
146 'sources': [ 150 'sources': [
147 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', 151 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
148 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', 152 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
149 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', 153 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc',
150 '<(INTERMEDIATE_DIR)/snapshot.cc', 154 '<(INTERMEDIATE_DIR)/snapshot.cc',
155 '../../src/snapshot-common.cc',
151 ], 156 ],
152 'actions': [ 157 'actions': [
153 { 158 {
154 'action_name': 'run_mksnapshot', 159 'action_name': 'run_mksnapshot',
155 'inputs': [ 160 'inputs': [
156 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)', 161 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
157 ], 162 ],
158 'outputs': [ 163 'outputs': [
159 '<(INTERMEDIATE_DIR)/snapshot.cc', 164 '<(INTERMEDIATE_DIR)/snapshot.cc',
160 ], 165 ],
161 'variables': { 166 'variables': {
162 'mksnapshot_flags': [ 167 'mksnapshot_flags': [
163 '--log-snapshot-positions', 168 '--log-snapshot-positions',
164 '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log', 169 '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log',
165 ], 170 ],
166 'conditions': [ 171 'conditions': [
167 ['v8_random_seed!=0', { 172 ['v8_random_seed!=0', {
168 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'], 173 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
169 }], 174 }],
170 ], 175 ],
171 }, 176 },
172 'action': [ 177 'action': [
173 '<@(_inputs)', 178 '<@(_inputs)',
174 '<@(mksnapshot_flags)', 179 '<@(mksnapshot_flags)',
175 '<@(_outputs)' 180 '<@(INTERMEDIATE_DIR)/snapshot.cc'
176 ], 181 ],
177 }, 182 },
178 ], 183 ],
179 }, 184 },
180 { 185 {
181 'target_name': 'v8_nosnapshot', 186 'target_name': 'v8_nosnapshot',
182 'type': 'static_library', 187 'type': 'static_library',
183 'dependencies': [ 188 'dependencies': [
184 'v8_base', 189 'v8_base',
185 ], 190 ],
186 'include_dirs+': [ 191 'include_dirs+': [
187 '../..', 192 '../..',
188 ], 193 ],
189 'sources': [ 194 'sources': [
190 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', 195 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
191 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', 196 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
192 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', 197 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc',
198 '../../src/snapshot-common.cc',
193 '../../src/snapshot-empty.cc', 199 '../../src/snapshot-empty.cc',
194 ], 200 ],
195 'conditions': [ 201 'conditions': [
196 ['want_separate_host_toolset==1', { 202 ['want_separate_host_toolset==1', {
197 'toolsets': ['host', 'target'], 203 'toolsets': ['host', 'target'],
198 'dependencies': ['js2c#host', 'generate_trig_table#host'], 204 'dependencies': ['js2c#host', 'generate_trig_table#host'],
199 }, { 205 }, {
200 'toolsets': ['target'], 206 'toolsets': ['target'],
201 'dependencies': ['js2c', 'generate_trig_table'], 207 'dependencies': ['js2c', 'generate_trig_table'],
202 }], 208 }],
203 ['component=="shared_library"', { 209 ['component=="shared_library"', {
204 'defines': [ 210 'defines': [
205 'BUILDING_V8_SHARED', 211 'BUILDING_V8_SHARED',
206 'V8_SHARED', 212 'V8_SHARED',
207 ], 213 ],
208 }], 214 }],
209 ] 215 ]
210 }, 216 },
217 {
218 'target_name': 'v8_external_snapshot',
219 'type': 'static_library',
220 'conditions': [
221 ['want_separate_host_toolset==1', {
222 'toolsets': ['host', 'target'],
223 'dependencies': [
224 'mksnapshot#host',
225 'js2c#host',
226 'generate_trig_table#host',
227 'natives_blob#host',
228 ]}, {
229 'toolsets': ['target'],
230 'dependencies': [
231 'mksnapshot',
232 'js2c',
233 'generate_trig_table',
234 'natives_blob',
235 ],
236 }],
237 ['component=="shared_library"', {
238 'defines': [
239 'V8_SHARED',
240 'BUILDING_V8_SHARED',
241 ],
242 'direct_dependent_settings': {
243 'defines': [
244 'V8_SHARED',
245 'USING_V8_SHARED',
246 ],
247 },
248 }],
249 ],
250 'dependencies': [
251 'v8_base',
252 ],
253 'include_dirs+': [
254 '../..',
255 ],
256 'sources': [
257 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc',
258 '../../src/natives-external.cc',
259 '../../src/snapshot-external.cc',
260 ],
261 'actions': [
262 {
263 'action_name': 'run_mksnapshot (external)',
264 'inputs': [
265 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
266 ],
267 'outputs': [
268 '<(INTERMEDIATE_DIR)/snapshot.cc',
269 '<(PRODUCT_DIR)/snapshot_blob.bin',
270 ],
271 'variables': {
272 'mksnapshot_flags': [
273 '--log-snapshot-positions',
274 '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log',
275 ],
276 'conditions': [
277 ['v8_random_seed!=0', {
278 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
279 }],
280 ],
281 },
282 'action': [
283 '<@(_inputs)',
284 '<@(mksnapshot_flags)',
285 '<@(INTERMEDIATE_DIR)/snapshot.cc',
286 '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
287 ],
288 },
289 ],
290 },
211 { 'target_name': 'generate_trig_table', 291 { 'target_name': 'generate_trig_table',
212 'type': 'none', 292 'type': 'none',
213 'conditions': [ 293 'conditions': [
214 ['want_separate_host_toolset==1', { 294 ['want_separate_host_toolset==1', {
215 'toolsets': ['host'], 295 'toolsets': ['host'],
216 }, { 296 }, {
217 'toolsets': ['target'], 297 'toolsets': ['target'],
218 }], 298 }],
219 ], 299 ],
220 'actions': [ 300 'actions': [
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 '../../src/scanner.cc', 619 '../../src/scanner.cc',
540 '../../src/scanner.h', 620 '../../src/scanner.h',
541 '../../src/scopeinfo.cc', 621 '../../src/scopeinfo.cc',
542 '../../src/scopeinfo.h', 622 '../../src/scopeinfo.h',
543 '../../src/scopes.cc', 623 '../../src/scopes.cc',
544 '../../src/scopes.h', 624 '../../src/scopes.h',
545 '../../src/serialize.cc', 625 '../../src/serialize.cc',
546 '../../src/serialize.h', 626 '../../src/serialize.h',
547 '../../src/small-pointer-list.h', 627 '../../src/small-pointer-list.h',
548 '../../src/smart-pointers.h', 628 '../../src/smart-pointers.h',
549 '../../src/snapshot-common.cc',
550 '../../src/snapshot.h', 629 '../../src/snapshot.h',
630 '../../src/snapshot-source-sink.cc',
631 '../../src/snapshot-source-sink.h',
551 '../../src/spaces-inl.h', 632 '../../src/spaces-inl.h',
552 '../../src/spaces.cc', 633 '../../src/spaces.cc',
553 '../../src/spaces.h', 634 '../../src/spaces.h',
554 '../../src/store-buffer-inl.h', 635 '../../src/store-buffer-inl.h',
555 '../../src/store-buffer.cc', 636 '../../src/store-buffer.cc',
556 '../../src/store-buffer.h', 637 '../../src/store-buffer.h',
557 '../../src/string-search.cc', 638 '../../src/string-search.cc',
558 '../../src/string-search.h', 639 '../../src/string-search.h',
559 '../../src/string-stream.cc', 640 '../../src/string-stream.cc',
560 '../../src/string-stream.h', 641 '../../src/string-stream.h',
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 }], 1175 }],
1095 ['component=="shared_library"', { 1176 ['component=="shared_library"', {
1096 'defines': [ 1177 'defines': [
1097 'BUILDING_V8_SHARED', 1178 'BUILDING_V8_SHARED',
1098 'V8_SHARED', 1179 'V8_SHARED',
1099 ], 1180 ],
1100 }], 1181 }],
1101 ], 1182 ],
1102 }, 1183 },
1103 { 1184 {
1185 'target_name': 'natives_blob',
1186 'type': 'none',
1187 'conditions': [
1188 [ 'v8_use_external_startup_data==1', {
1189 'dependencies': ['js2c'],
1190 'actions': [{
1191 'action_name': 'concatenate_natives_blob',
1192 'inputs': [
1193 '../../tools/concatenate-files.py',
1194 '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
1195 '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
1196 ],
1197 'outputs': [
1198 '<(PRODUCT_DIR)/natives_blob.bin',
1199 ],
1200 'action': ['python', '<@(_inputs)', '<@(_outputs)'],
1201 }],
1202 }],
1203 ['want_separate_host_toolset==1', {
1204 'toolsets': ['host'],
1205 }, {
1206 'toolsets': ['target'],
1207 }],
1208 ]
1209 },
1210 {
1104 'target_name': 'js2c', 1211 'target_name': 'js2c',
1105 'type': 'none', 1212 'type': 'none',
1106 'conditions': [ 1213 'conditions': [
1107 ['want_separate_host_toolset==1', { 1214 ['want_separate_host_toolset==1', {
1108 'toolsets': ['host'], 1215 'toolsets': ['host'],
1109 }, { 1216 }, {
1110 'toolsets': ['target'], 1217 'toolsets': ['target'],
1111 }], 1218 }],
1112 ['v8_enable_i18n_support==1', { 1219 ['v8_enable_i18n_support==1', {
1113 'variables': { 1220 'variables': {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1149 '../../src/symbol.js', 1256 '../../src/symbol.js',
1150 '../../src/proxy.js', 1257 '../../src/proxy.js',
1151 '../../src/collection.js', 1258 '../../src/collection.js',
1152 '../../src/collection-iterator.js', 1259 '../../src/collection-iterator.js',
1153 '../../src/generator.js', 1260 '../../src/generator.js',
1154 '../../src/array-iterator.js', 1261 '../../src/array-iterator.js',
1155 '../../src/harmony-string.js', 1262 '../../src/harmony-string.js',
1156 '../../src/harmony-array.js', 1263 '../../src/harmony-array.js',
1157 '../../src/harmony-math.js' 1264 '../../src/harmony-math.js'
1158 ], 1265 ],
1266 'libraries_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
1267 'libraries_experimental_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries -experimental.bin',
1159 }, 1268 },
1160 'actions': [ 1269 'actions': [
1161 { 1270 {
1162 'action_name': 'js2c', 1271 'action_name': 'js2c',
1163 'inputs': [ 1272 'inputs': [
1164 '../../tools/js2c.py', 1273 '../../tools/js2c.py',
1165 '<@(library_files)', 1274 '<@(library_files)',
1166 '<@(i18n_library_files)', 1275 '<@(i18n_library_files)',
1167 ], 1276 ],
1168 'outputs': [ 1277 'outputs': [
1169 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', 1278 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
1170 ], 1279 ],
1171 'action': [ 1280 'action': [
1172 'python', 1281 'python',
1173 '../../tools/js2c.py', 1282 '../../tools/js2c.py',
1174 '<@(_outputs)', 1283 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
1175 'CORE', 1284 'CORE',
1176 '<(v8_compress_startup_data)', 1285 '<(v8_compress_startup_data)',
1177 '<@(library_files)', 1286 '<@(library_files)',
1178 '<@(i18n_library_files)', 1287 '<@(i18n_library_files)',
1179 ], 1288 ],
1289 'conditions': [
1290 [ 'v8_use_external_startup_data==1', {
1291 'outputs': ['<@(libraries_bin_file)'],
1292 'action': [
1293 '--startup_blob', '<@(libraries_bin_file)',
1294 ],
1295 }],
1296 ],
1180 }, 1297 },
1181 { 1298 {
1182 'action_name': 'js2c_experimental', 1299 'action_name': 'js2c_experimental',
1183 'inputs': [ 1300 'inputs': [
1184 '../../tools/js2c.py', 1301 '../../tools/js2c.py',
1185 '<@(experimental_library_files)', 1302 '<@(experimental_library_files)',
1186 ], 1303 ],
1187 'outputs': [ 1304 'outputs': [
1188 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', 1305 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
1189 ], 1306 ],
1190 'action': [ 1307 'action': [
1191 'python', 1308 'python',
1192 '../../tools/js2c.py', 1309 '../../tools/js2c.py',
1193 '<@(_outputs)', 1310 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
1194 'EXPERIMENTAL', 1311 'EXPERIMENTAL',
1195 '<(v8_compress_startup_data)', 1312 '<(v8_compress_startup_data)',
1196 '<@(experimental_library_files)' 1313 '<@(experimental_library_files)'
1197 ], 1314 ],
1315 'conditions': [
1316 [ 'v8_use_external_startup_data==1', {
1317 'outputs': ['<@(libraries_experimental_bin_file)'],
1318 'action': [
1319 '--startup_blob', '<@(libraries_experimental_bin_file)'
1320 ],
1321 }],
1322 ],
1198 }, 1323 },
1199 ], 1324 ],
1200 }, 1325 },
1201 { 1326 {
1202 'target_name': 'postmortem-metadata', 1327 'target_name': 'postmortem-metadata',
1203 'type': 'none', 1328 'type': 'none',
1204 'variables': { 1329 'variables': {
1205 'heapobject_files': [ 1330 'heapobject_files': [
1206 '../../src/objects.h', 1331 '../../src/objects.h',
1207 '../../src/objects-inl.h', 1332 '../../src/objects-inl.h',
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1244 }], 1369 }],
1245 ['v8_compress_startup_data=="bz2"', { 1370 ['v8_compress_startup_data=="bz2"', {
1246 'libraries': [ 1371 'libraries': [
1247 '-lbz2', 1372 '-lbz2',
1248 ] 1373 ]
1249 }], 1374 }],
1250 ], 1375 ],
1251 }, 1376 },
1252 ], 1377 ],
1253 } 1378 }
OLDNEW
« no previous file with comments | « tools/concatenate-files.py ('k') | tools/js2c.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698