OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |