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_target_arch)', 'v8_snapshot'], | 50 'dependencies': ['v8_base.<(v8_target_arch)', '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': [ | 56 'dependencies': [ |
56 'v8_base.<(v8_target_arch)', | 57 'v8_base.<(v8_target_arch)', |
57 'v8_nosnapshot.<(v8_target_arch)', | 58 'v8_nosnapshot.<(v8_target_arch)', |
58 ], | 59 ], |
59 }], | 60 }], |
| 61 ['v8_use_external_startup_data==1', { |
| 62 'dependencies': [ |
| 63 'v8_base.<(v8_target_arch)', |
| 64 'v8_external_snapshot', |
| 65 ], |
| 66 }], |
60 ['component=="shared_library"', { | 67 ['component=="shared_library"', { |
61 'type': '<(component)', | 68 'type': '<(component)', |
62 'sources': [ | 69 'sources': [ |
63 # Note: on non-Windows we still build this file so that gyp | 70 # Note: on non-Windows we still build this file so that gyp |
64 # has some sources to link into the component. | 71 # has some sources to link into the component. |
65 '../../src/v8dll-main.cc', | 72 '../../src/v8dll-main.cc', |
66 ], | 73 ], |
67 'defines': [ | 74 'defines': [ |
68 'V8_SHARED', | 75 'V8_SHARED', |
69 'BUILDING_V8_SHARED', | 76 'BUILDING_V8_SHARED', |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 'v8_base.<(v8_target_arch)', | 148 'v8_base.<(v8_target_arch)', |
142 ], | 149 ], |
143 'include_dirs+': [ | 150 'include_dirs+': [ |
144 '../../src', | 151 '../../src', |
145 ], | 152 ], |
146 'sources': [ | 153 'sources': [ |
147 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', | 154 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
148 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', | 155 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', |
149 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', | 156 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', |
150 '<(INTERMEDIATE_DIR)/snapshot.cc', | 157 '<(INTERMEDIATE_DIR)/snapshot.cc', |
| 158 '../../src/snapshot-common.cc', |
151 ], | 159 ], |
152 'actions': [ | 160 'actions': [ |
153 { | 161 { |
154 'action_name': 'run_mksnapshot', | 162 'action_name': 'run_mksnapshot', |
155 'inputs': [ | 163 'inputs': [ |
156 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot.<(v8_target_arch)<(EX
ECUTABLE_SUFFIX)', | 164 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot.<(v8_target_arch)<(EX
ECUTABLE_SUFFIX)', |
157 ], | 165 ], |
158 'outputs': [ | 166 'outputs': [ |
159 '<(INTERMEDIATE_DIR)/snapshot.cc', | 167 '<(INTERMEDIATE_DIR)/snapshot.cc', |
160 ], | 168 ], |
161 'variables': { | 169 'variables': { |
162 'mksnapshot_flags': [ | 170 'mksnapshot_flags': [ |
163 '--log-snapshot-positions', | 171 '--log-snapshot-positions', |
164 '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log', | 172 '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log', |
165 ], | 173 ], |
166 'conditions': [ | 174 'conditions': [ |
167 ['v8_random_seed!=0', { | 175 ['v8_random_seed!=0', { |
168 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'], | 176 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'], |
169 }], | 177 }], |
170 ], | 178 ], |
171 }, | 179 }, |
172 'action': [ | 180 'action': [ |
173 '<@(_inputs)', | 181 '<@(_inputs)', |
174 '<@(mksnapshot_flags)', | 182 '<@(mksnapshot_flags)', |
175 '<@(_outputs)' | 183 '<@(INTERMEDIATE_DIR)/snapshot.cc' |
176 ], | 184 ], |
177 }, | 185 }, |
178 ], | 186 ], |
179 }, | 187 }, |
180 { | 188 { |
181 'target_name': 'v8_nosnapshot.<(v8_target_arch)', | 189 'target_name': 'v8_nosnapshot.<(v8_target_arch)', |
182 'type': 'static_library', | 190 'type': 'static_library', |
183 'dependencies': [ | 191 'dependencies': [ |
184 'v8_base.<(v8_target_arch)', | 192 'v8_base.<(v8_target_arch)', |
185 ], | 193 ], |
186 'include_dirs+': [ | 194 'include_dirs+': [ |
187 '../../src', | 195 '../../src', |
188 ], | 196 ], |
189 'sources': [ | 197 'sources': [ |
190 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', | 198 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
191 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', | 199 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', |
192 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', | 200 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', |
| 201 '../../src/snapshot-common.cc', |
193 '../../src/snapshot-empty.cc', | 202 '../../src/snapshot-empty.cc', |
194 ], | 203 ], |
195 'conditions': [ | 204 'conditions': [ |
196 ['want_separate_host_toolset==1', { | 205 ['want_separate_host_toolset==1', { |
197 'toolsets': ['host', 'target'], | 206 'toolsets': ['host', 'target'], |
198 'dependencies': ['js2c#host', 'generate_trig_table#host'], | 207 'dependencies': ['js2c#host', 'generate_trig_table#host'], |
199 }, { | 208 }, { |
200 'toolsets': ['target'], | 209 'toolsets': ['target'], |
201 'dependencies': ['js2c', 'generate_trig_table'], | 210 'dependencies': ['js2c', 'generate_trig_table'], |
202 }], | 211 }], |
203 ['component=="shared_library"', { | 212 ['component=="shared_library"', { |
204 'defines': [ | 213 'defines': [ |
205 'BUILDING_V8_SHARED', | 214 'BUILDING_V8_SHARED', |
206 'V8_SHARED', | 215 'V8_SHARED', |
207 ], | 216 ], |
208 }], | 217 }], |
209 ] | 218 ] |
210 }, | 219 }, |
| 220 { |
| 221 'target_name': 'v8_external_snapshot', |
| 222 'type': 'static_library', |
| 223 'conditions': [ |
| 224 ['want_separate_host_toolset==1', { |
| 225 'toolsets': ['host', 'target'], |
| 226 'dependencies': [ |
| 227 'mksnapshot.<(v8_target_arch)#host', |
| 228 'js2c#host', |
| 229 'generate_trig_table#host', |
| 230 'natives_blob#host', |
| 231 ]}, { |
| 232 'toolsets': ['target'], |
| 233 'dependencies': [ |
| 234 'mksnapshot.<(v8_target_arch)', |
| 235 'js2c', |
| 236 'generate_trig_table', |
| 237 'natives_blob', |
| 238 ], |
| 239 }], |
| 240 ['component=="shared_library"', { |
| 241 'defines': [ |
| 242 'V8_SHARED', |
| 243 'BUILDING_V8_SHARED', |
| 244 ], |
| 245 'direct_dependent_settings': { |
| 246 'defines': [ |
| 247 'V8_SHARED', |
| 248 'USING_V8_SHARED', |
| 249 ], |
| 250 }, |
| 251 }], |
| 252 ], |
| 253 'dependencies': [ |
| 254 'v8_base.<(v8_target_arch)', |
| 255 ], |
| 256 'include_dirs+': [ |
| 257 '../../src', |
| 258 ], |
| 259 'sources': [ |
| 260 '<(SHARED_INTERMEDIATE_DIR)/trig-table.cc', |
| 261 '../../src/natives-external.cc', |
| 262 '../../src/snapshot-external.cc', |
| 263 ], |
| 264 'actions': [ |
| 265 { |
| 266 'action_name': 'run_mksnapshot (external)', |
| 267 'inputs': [ |
| 268 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot.<(v8_target_arch)<(EX
ECUTABLE_SUFFIX)', |
| 269 ], |
| 270 'outputs': [ |
| 271 '<(INTERMEDIATE_DIR)/snapshot.cc', |
| 272 '<(PRODUCT_DIR)/snapshot_blob.bin', |
| 273 ], |
| 274 'variables': { |
| 275 'mksnapshot_flags': [ |
| 276 '--log-snapshot-positions', |
| 277 '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log', |
| 278 ], |
| 279 'conditions': [ |
| 280 ['v8_random_seed!=0', { |
| 281 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'], |
| 282 }], |
| 283 ], |
| 284 }, |
| 285 'action': [ |
| 286 '<@(_inputs)', |
| 287 '<@(mksnapshot_flags)', |
| 288 '<@(INTERMEDIATE_DIR)/snapshot.cc', |
| 289 '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin', |
| 290 ], |
| 291 }, |
| 292 ], |
| 293 }, |
211 { 'target_name': 'generate_trig_table', | 294 { 'target_name': 'generate_trig_table', |
212 'type': 'none', | 295 'type': 'none', |
213 'conditions': [ | 296 'conditions': [ |
214 ['want_separate_host_toolset==1', { | 297 ['want_separate_host_toolset==1', { |
215 'toolsets': ['host'], | 298 'toolsets': ['host'], |
216 }, { | 299 }, { |
217 'toolsets': ['target'], | 300 'toolsets': ['target'], |
218 }], | 301 }], |
219 ], | 302 ], |
220 'actions': [ | 303 'actions': [ |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 '../../src/scanner.cc', | 620 '../../src/scanner.cc', |
538 '../../src/scanner.h', | 621 '../../src/scanner.h', |
539 '../../src/scopeinfo.cc', | 622 '../../src/scopeinfo.cc', |
540 '../../src/scopeinfo.h', | 623 '../../src/scopeinfo.h', |
541 '../../src/scopes.cc', | 624 '../../src/scopes.cc', |
542 '../../src/scopes.h', | 625 '../../src/scopes.h', |
543 '../../src/serialize.cc', | 626 '../../src/serialize.cc', |
544 '../../src/serialize.h', | 627 '../../src/serialize.h', |
545 '../../src/small-pointer-list.h', | 628 '../../src/small-pointer-list.h', |
546 '../../src/smart-pointers.h', | 629 '../../src/smart-pointers.h', |
547 '../../src/snapshot-common.cc', | |
548 '../../src/snapshot.h', | 630 '../../src/snapshot.h', |
| 631 '../../src/snapshot-source-sink.cc', |
| 632 '../../src/snapshot-source-sink.h', |
549 '../../src/spaces-inl.h', | 633 '../../src/spaces-inl.h', |
550 '../../src/spaces.cc', | 634 '../../src/spaces.cc', |
551 '../../src/spaces.h', | 635 '../../src/spaces.h', |
552 '../../src/store-buffer-inl.h', | 636 '../../src/store-buffer-inl.h', |
553 '../../src/store-buffer.cc', | 637 '../../src/store-buffer.cc', |
554 '../../src/store-buffer.h', | 638 '../../src/store-buffer.h', |
555 '../../src/string-search.cc', | 639 '../../src/string-search.cc', |
556 '../../src/string-search.h', | 640 '../../src/string-search.h', |
557 '../../src/string-stream.cc', | 641 '../../src/string-stream.cc', |
558 '../../src/string-stream.h', | 642 '../../src/string-stream.h', |
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1044 }], | 1128 }], |
1045 ['component=="shared_library"', { | 1129 ['component=="shared_library"', { |
1046 'defines': [ | 1130 'defines': [ |
1047 'BUILDING_V8_SHARED', | 1131 'BUILDING_V8_SHARED', |
1048 'V8_SHARED', | 1132 'V8_SHARED', |
1049 ], | 1133 ], |
1050 }], | 1134 }], |
1051 ], | 1135 ], |
1052 }, | 1136 }, |
1053 { | 1137 { |
| 1138 'target_name': 'natives_blob', |
| 1139 'type': 'none', |
| 1140 'dependencies': ['js2c'], |
| 1141 'actions': [{ |
| 1142 'action_name': 'concatenate_natives_blob', |
| 1143 'inputs': [ |
| 1144 '<(SHARED_INTERMEDIATE_DIR)/libraries.bin', |
| 1145 '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin', |
| 1146 ], |
| 1147 'outputs': [ |
| 1148 '<(PRODUCT_DIR)/natives_blob.bin', |
| 1149 ], |
| 1150 'action': [ |
| 1151 'bash', |
| 1152 '-c', |
| 1153 'cat <@(_inputs) > <@(_outputs)', |
| 1154 ], |
| 1155 }], |
| 1156 'conditions': [ |
| 1157 ['want_separate_host_toolset==1', { |
| 1158 'toolsets': ['host'], |
| 1159 }, { |
| 1160 'toolsets': ['target'], |
| 1161 }], |
| 1162 ], |
| 1163 }, |
| 1164 { |
1054 'target_name': 'js2c', | 1165 'target_name': 'js2c', |
1055 'type': 'none', | 1166 'type': 'none', |
1056 'conditions': [ | 1167 'conditions': [ |
1057 ['want_separate_host_toolset==1', { | 1168 ['want_separate_host_toolset==1', { |
1058 'toolsets': ['host'], | 1169 'toolsets': ['host'], |
1059 }, { | 1170 }, { |
1060 'toolsets': ['target'], | 1171 'toolsets': ['target'], |
1061 }], | 1172 }], |
1062 ['v8_enable_i18n_support==1', { | 1173 ['v8_enable_i18n_support==1', { |
1063 'variables': { | 1174 'variables': { |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1098 '../../src/macros.py', | 1209 '../../src/macros.py', |
1099 '../../src/symbol.js', | 1210 '../../src/symbol.js', |
1100 '../../src/proxy.js', | 1211 '../../src/proxy.js', |
1101 '../../src/collection.js', | 1212 '../../src/collection.js', |
1102 '../../src/generator.js', | 1213 '../../src/generator.js', |
1103 '../../src/array-iterator.js', | 1214 '../../src/array-iterator.js', |
1104 '../../src/harmony-string.js', | 1215 '../../src/harmony-string.js', |
1105 '../../src/harmony-array.js', | 1216 '../../src/harmony-array.js', |
1106 '../../src/harmony-math.js' | 1217 '../../src/harmony-math.js' |
1107 ], | 1218 ], |
| 1219 'libraries_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries.bin', |
| 1220 'libraries_experimental_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries
-experimental.bin', |
1108 }, | 1221 }, |
1109 'actions': [ | 1222 'actions': [ |
1110 { | 1223 { |
1111 'action_name': 'js2c', | 1224 'action_name': 'js2c', |
1112 'inputs': [ | 1225 'inputs': [ |
1113 '../../tools/js2c.py', | 1226 '../../tools/js2c.py', |
1114 '<@(library_files)', | 1227 '<@(library_files)', |
1115 '<@(i18n_library_files)', | 1228 '<@(i18n_library_files)', |
1116 ], | 1229 ], |
1117 'outputs': [ | 1230 'outputs': [ |
1118 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', | 1231 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
1119 ], | 1232 ], |
1120 'action': [ | 1233 'action': [ |
1121 'python', | 1234 'python', |
1122 '../../tools/js2c.py', | 1235 '../../tools/js2c.py', |
1123 '<@(_outputs)', | 1236 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
1124 'CORE', | 1237 'CORE', |
1125 '<(v8_compress_startup_data)', | 1238 '<(v8_compress_startup_data)', |
1126 '<@(library_files)', | 1239 '<@(library_files)', |
1127 '<@(i18n_library_files)', | 1240 '<@(i18n_library_files)', |
1128 ], | 1241 ], |
| 1242 'conditions': [ |
| 1243 [ 'v8_use_external_startup_data==1', { |
| 1244 'outputs': ['<@(libraries_bin_file)'], |
| 1245 'action': [ |
| 1246 '--startup_blob', '<@(libraries_bin_file)', |
| 1247 ], |
| 1248 }], |
| 1249 ], |
1129 }, | 1250 }, |
1130 { | 1251 { |
1131 'action_name': 'js2c_experimental', | 1252 'action_name': 'js2c_experimental', |
1132 'inputs': [ | 1253 'inputs': [ |
1133 '../../tools/js2c.py', | 1254 '../../tools/js2c.py', |
1134 '<@(experimental_library_files)', | 1255 '<@(experimental_library_files)', |
1135 ], | 1256 ], |
1136 'outputs': [ | 1257 'outputs': [ |
1137 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', | 1258 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', |
1138 ], | 1259 ], |
1139 'action': [ | 1260 'action': [ |
1140 'python', | 1261 'python', |
1141 '../../tools/js2c.py', | 1262 '../../tools/js2c.py', |
1142 '<@(_outputs)', | 1263 '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', |
1143 'EXPERIMENTAL', | 1264 'EXPERIMENTAL', |
1144 '<(v8_compress_startup_data)', | 1265 '<(v8_compress_startup_data)', |
1145 '<@(experimental_library_files)' | 1266 '<@(experimental_library_files)' |
1146 ], | 1267 ], |
| 1268 'conditions': [ |
| 1269 [ 'v8_use_external_startup_data==1', { |
| 1270 'outputs': ['<@(libraries_experimental_bin_file)'], |
| 1271 'action': [ |
| 1272 '--startup_blob', '<@(libraries_experimental_bin_file)' |
| 1273 ], |
| 1274 }], |
| 1275 ], |
1147 }, | 1276 }, |
1148 ], | 1277 ], |
1149 }, | 1278 }, |
1150 { | 1279 { |
1151 'target_name': 'postmortem-metadata', | 1280 'target_name': 'postmortem-metadata', |
1152 'type': 'none', | 1281 'type': 'none', |
1153 'variables': { | 1282 'variables': { |
1154 'heapobject_files': [ | 1283 'heapobject_files': [ |
1155 '../../src/objects.h', | 1284 '../../src/objects.h', |
1156 '../../src/objects-inl.h', | 1285 '../../src/objects-inl.h', |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1196 }], | 1325 }], |
1197 ['v8_compress_startup_data=="bz2"', { | 1326 ['v8_compress_startup_data=="bz2"', { |
1198 'libraries': [ | 1327 'libraries': [ |
1199 '-lbz2', | 1328 '-lbz2', |
1200 ] | 1329 ] |
1201 }], | 1330 }], |
1202 ], | 1331 ], |
1203 }, | 1332 }, |
1204 ], | 1333 ], |
1205 } | 1334 } |
OLD | NEW |