7f08ee2f86ed5809934e142273bc89d834c7e65a
[platform/upstream/nodejs.git] / deps / v8 / tools / gyp / v8.gyp
1 # Copyright 2012 the V8 project authors. All rights reserved.
2 # Redistribution and use in source and binary forms, with or without
3 # modification, are permitted provided that the following conditions are
4 # met:
5 #
6 #     * Redistributions of source code must retain the above copyright
7 #       notice, this list of conditions and the following disclaimer.
8 #     * Redistributions in binary form must reproduce the above
9 #       copyright notice, this list of conditions and the following
10 #       disclaimer in the documentation and/or other materials provided
11 #       with the distribution.
12 #     * Neither the name of Google Inc. nor the names of its
13 #       contributors may be used to endorse or promote products derived
14 #       from this software without specific prior written permission.
15 #
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28 {
29   'variables': {
30     'icu_use_data_file_flag%': 0,
31     'v8_code': 1,
32     'v8_random_seed%': 314159265,
33     'embed_script%': "",
34     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
35   },
36   'includes': ['../../build/toolchain.gypi', '../../build/features.gypi'],
37   'targets': [
38     {
39       'target_name': 'v8',
40       'dependencies_traverse': 1,
41       'conditions': [
42         ['want_separate_host_toolset==1', {
43           'toolsets': ['host', 'target'],
44         }, {
45           'toolsets': ['target'],
46         }],
47
48         ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
49           # The dependency on v8_base should come from a transitive
50           # dependency however the Android toolchain requires libv8_base.a
51           # to appear before libv8_snapshot.a so it's listed explicitly.
52           'dependencies': ['v8_base', 'v8_snapshot'],
53         }],
54         ['v8_use_snapshot!="true" and v8_use_external_startup_data==0', {
55           # The dependency on v8_base should come from a transitive
56           # dependency however the Android toolchain requires libv8_base.a
57           # to appear before libv8_snapshot.a so it's listed explicitly.
58           'dependencies': ['v8_base', 'v8_nosnapshot'],
59         }],
60         ['v8_use_external_startup_data==1 and want_separate_host_toolset==1', {
61           'dependencies': ['v8_base', 'v8_external_snapshot'],
62           'target_conditions': [
63             ['_toolset=="host"', {
64               'inputs': [
65                 '<(PRODUCT_DIR)/snapshot_blob_host.bin',
66               ],
67             }, {
68               'inputs': [
69                 '<(PRODUCT_DIR)/snapshot_blob.bin',
70               ],
71             }],
72           ],
73         }],
74         ['v8_use_external_startup_data==1 and want_separate_host_toolset==0', {
75           'dependencies': ['v8_base', 'v8_external_snapshot'],
76           'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ],
77         }],
78         ['component=="shared_library"', {
79           'type': '<(component)',
80           'sources': [
81             # Note: on non-Windows we still build this file so that gyp
82             # has some sources to link into the component.
83             '../../src/v8dll-main.cc',
84           ],
85           'include_dirs': [
86             '../..',
87           ],
88           'defines': [
89             'V8_SHARED',
90             'BUILDING_V8_SHARED',
91           ],
92           'direct_dependent_settings': {
93             'defines': [
94               'V8_SHARED',
95               'USING_V8_SHARED',
96             ],
97           },
98           'target_conditions': [
99             ['OS=="android" and _toolset=="target"', {
100               'libraries': [
101                 '-llog',
102               ],
103               'include_dirs': [
104                 'src/common/android/include',
105               ],
106             }],
107           ],
108           'conditions': [
109             ['OS=="mac"', {
110               'xcode_settings': {
111                 'OTHER_LDFLAGS': ['-dynamiclib', '-all_load']
112               },
113             }],
114             ['soname_version!=""', {
115               'product_extension': 'so.<(soname_version)',
116             }],
117           ],
118         },
119         {
120           'type': 'none',
121         }],
122       ],
123       'direct_dependent_settings': {
124         'include_dirs': [
125           '../../include',
126         ],
127       },
128     },
129     {
130       'target_name': 'v8_snapshot',
131       'type': 'static_library',
132       'conditions': [
133         ['want_separate_host_toolset==1', {
134           'toolsets': ['host', 'target'],
135           'dependencies': [
136             'mksnapshot#host',
137             'js2c#host',
138           ],
139         }, {
140           'toolsets': ['target'],
141           'dependencies': [
142             'mksnapshot',
143             'js2c',
144           ],
145         }],
146         ['component=="shared_library"', {
147           'defines': [
148             'V8_SHARED',
149             'BUILDING_V8_SHARED',
150           ],
151           'direct_dependent_settings': {
152             'defines': [
153               'V8_SHARED',
154               'USING_V8_SHARED',
155             ],
156           },
157         }],
158       ],
159       'dependencies': [
160         'v8_base',
161       ],
162       'include_dirs+': [
163         '../..',
164       ],
165       'sources': [
166         '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
167         '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
168         '<(INTERMEDIATE_DIR)/snapshot.cc',
169       ],
170       'actions': [
171         {
172           'action_name': 'run_mksnapshot',
173           'inputs': [
174             '<(mksnapshot_exec)',
175             '<(embed_script)',
176           ],
177           'outputs': [
178             '<(INTERMEDIATE_DIR)/snapshot.cc',
179           ],
180           'variables': {
181             'mksnapshot_flags': [
182               '--log-snapshot-positions',
183               '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log',
184             ],
185             'conditions': [
186               ['v8_random_seed!=0', {
187                 'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
188               }],
189             ],
190           },
191           'action': [
192             '<(mksnapshot_exec)',
193             '<@(mksnapshot_flags)',
194             '<@(INTERMEDIATE_DIR)/snapshot.cc',
195             '<(embed_script)',
196           ],
197         },
198       ],
199     },
200     {
201       'target_name': 'v8_nosnapshot',
202       'type': 'static_library',
203       'dependencies': [
204         'v8_base',
205       ],
206       'include_dirs+': [
207         '../..',
208       ],
209       'sources': [
210         '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
211         '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
212         '../../src/snapshot-empty.cc',
213       ],
214       'conditions': [
215         ['want_separate_host_toolset==1', {
216           'toolsets': ['host', 'target'],
217           'dependencies': ['js2c#host'],
218         }, {
219           'toolsets': ['target'],
220           'dependencies': ['js2c'],
221         }],
222         ['component=="shared_library"', {
223           'defines': [
224             'BUILDING_V8_SHARED',
225             'V8_SHARED',
226           ],
227         }],
228       ]
229     },
230     {
231       'target_name': 'v8_external_snapshot',
232       'type': 'static_library',
233       'conditions': [
234         [ 'v8_use_external_startup_data==1', {
235           'conditions': [
236             ['want_separate_host_toolset==1', {
237               'toolsets': ['host', 'target'],
238               'dependencies': [
239                 'mksnapshot#host',
240                 'js2c#host',
241                 'natives_blob',
242             ]}, {
243               'toolsets': ['target'],
244               'dependencies': [
245                 'mksnapshot',
246                 'js2c',
247                 'natives_blob',
248               ],
249             }],
250             ['component=="shared_library"', {
251               'defines': [
252                 'V8_SHARED',
253                 'BUILDING_V8_SHARED',
254               ],
255               'direct_dependent_settings': {
256                 'defines': [
257                   'V8_SHARED',
258                   'USING_V8_SHARED',
259                 ],
260               },
261             }],
262           ],
263           'dependencies': [
264             'v8_base',
265           ],
266           'include_dirs+': [
267             '../..',
268           ],
269           'sources': [
270             '../../src/natives-external.cc',
271             '../../src/snapshot-external.cc',
272           ],
273           'actions': [
274             {
275               'action_name': 'run_mksnapshot (external)',
276               'inputs': [
277                 '<(mksnapshot_exec)',
278               ],
279               'variables': {
280                 'mksnapshot_flags': [
281                   '--log-snapshot-positions',
282                   '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log',
283                 ],
284                 'conditions': [
285                   ['v8_random_seed!=0', {
286                     'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
287                   }],
288                 ],
289               },
290               'conditions': [
291                 ['want_separate_host_toolset==1', {
292                   'target_conditions': [
293                     ['_toolset=="host"', {
294                       'outputs': [
295                         '<(INTERMEDIATE_DIR)/snapshot.cc',
296                         '<(PRODUCT_DIR)/snapshot_blob_host.bin',
297                       ],
298                       'action': [
299                         '<(mksnapshot_exec)',
300                         '<@(mksnapshot_flags)',
301                         '<@(INTERMEDIATE_DIR)/snapshot.cc',
302                         '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_host.bin',
303                         '<(embed_script)',
304                       ],
305                     }, {
306                       'outputs': [
307                         '<(INTERMEDIATE_DIR)/snapshot.cc',
308                         '<(PRODUCT_DIR)/snapshot_blob.bin',
309                       ],
310                       'action': [
311                         '<(mksnapshot_exec)',
312                         '<@(mksnapshot_flags)',
313                         '<@(INTERMEDIATE_DIR)/snapshot.cc',
314                         '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
315                         '<(embed_script)',
316                       ],
317                     }],
318                   ],
319                 }, {
320                   'outputs': [
321                     '<(INTERMEDIATE_DIR)/snapshot.cc',
322                     '<(PRODUCT_DIR)/snapshot_blob.bin',
323                   ],
324                   'action': [
325                     '<(mksnapshot_exec)',
326                     '<@(mksnapshot_flags)',
327                     '<@(INTERMEDIATE_DIR)/snapshot.cc',
328                     '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
329                     '<(embed_script)',
330                   ],
331                 }],
332               ],
333             },
334           ],
335         }],
336       ],
337     },
338     {
339       'target_name': 'v8_base',
340       'type': 'static_library',
341       'dependencies': [
342         'v8_libbase',
343       ],
344       'variables': {
345         'optimize': 'max',
346       },
347       'include_dirs+': [
348         '../..',
349       ],
350       'sources': [  ### gcmole(all) ###
351         '../../src/accessors.cc',
352         '../../src/accessors.h',
353         '../../src/allocation.cc',
354         '../../src/allocation.h',
355         '../../src/allocation-site-scopes.cc',
356         '../../src/allocation-site-scopes.h',
357         '../../src/allocation-tracker.cc',
358         '../../src/allocation-tracker.h',
359         '../../src/api.cc',
360         '../../src/api.h',
361         '../../src/api-natives.cc',
362         '../../src/api-natives.h',
363         '../../src/arguments.cc',
364         '../../src/arguments.h',
365         '../../src/assembler.cc',
366         '../../src/assembler.h',
367         '../../src/assert-scope.h',
368         '../../src/assert-scope.cc',
369         '../../src/ast-value-factory.cc',
370         '../../src/ast-value-factory.h',
371         '../../src/ast-numbering.cc',
372         '../../src/ast-numbering.h',
373         '../../src/ast.cc',
374         '../../src/ast.h',
375         '../../src/background-parsing-task.cc',
376         '../../src/background-parsing-task.h',
377         '../../src/bailout-reason.cc',
378         '../../src/bailout-reason.h',
379         '../../src/basic-block-profiler.cc',
380         '../../src/basic-block-profiler.h',
381         '../../src/bignum-dtoa.cc',
382         '../../src/bignum-dtoa.h',
383         '../../src/bignum.cc',
384         '../../src/bignum.h',
385         '../../src/bit-vector.cc',
386         '../../src/bit-vector.h',
387         '../../src/bootstrapper.cc',
388         '../../src/bootstrapper.h',
389         '../../src/builtins.cc',
390         '../../src/builtins.h',
391         '../../src/bytecodes-irregexp.h',
392         '../../src/cached-powers.cc',
393         '../../src/cached-powers.h',
394         '../../src/char-predicates.cc',
395         '../../src/char-predicates-inl.h',
396         '../../src/char-predicates.h',
397         '../../src/checks.cc',
398         '../../src/checks.h',
399         '../../src/circular-queue-inl.h',
400         '../../src/circular-queue.h',
401         '../../src/code-factory.cc',
402         '../../src/code-factory.h',
403         '../../src/code-stubs.cc',
404         '../../src/code-stubs.h',
405         '../../src/code-stubs-hydrogen.cc',
406         '../../src/code.h',
407         '../../src/codegen.cc',
408         '../../src/codegen.h',
409         '../../src/compilation-cache.cc',
410         '../../src/compilation-cache.h',
411         '../../src/compilation-statistics.cc',
412         '../../src/compilation-statistics.h',
413         '../../src/compiler/access-builder.cc',
414         '../../src/compiler/access-builder.h',
415         '../../src/compiler/all-nodes.cc',
416         '../../src/compiler/all-nodes.h',
417         '../../src/compiler/ast-graph-builder.cc',
418         '../../src/compiler/ast-graph-builder.h',
419         '../../src/compiler/ast-loop-assignment-analyzer.cc',
420         '../../src/compiler/ast-loop-assignment-analyzer.h',
421         '../../src/compiler/basic-block-instrumentor.cc',
422         '../../src/compiler/basic-block-instrumentor.h',
423         '../../src/compiler/change-lowering.cc',
424         '../../src/compiler/change-lowering.h',
425         '../../src/compiler/code-generator-impl.h',
426         '../../src/compiler/code-generator.cc',
427         '../../src/compiler/code-generator.h',
428         '../../src/compiler/common-node-cache.cc',
429         '../../src/compiler/common-node-cache.h',
430         '../../src/compiler/common-operator-reducer.cc',
431         '../../src/compiler/common-operator-reducer.h',
432         '../../src/compiler/common-operator.cc',
433         '../../src/compiler/common-operator.h',
434         '../../src/compiler/control-builders.cc',
435         '../../src/compiler/control-builders.h',
436         '../../src/compiler/control-equivalence.h',
437         '../../src/compiler/control-flow-optimizer.cc',
438         '../../src/compiler/control-flow-optimizer.h',
439         '../../src/compiler/control-reducer.cc',
440         '../../src/compiler/control-reducer.h',
441         '../../src/compiler/diamond.h',
442         '../../src/compiler/frame.h',
443         '../../src/compiler/gap-resolver.cc',
444         '../../src/compiler/gap-resolver.h',
445         '../../src/compiler/generic-algorithm.h',
446         '../../src/compiler/graph-builder.h',
447         '../../src/compiler/graph-inl.h',
448         '../../src/compiler/graph-reducer.cc',
449         '../../src/compiler/graph-reducer.h',
450         '../../src/compiler/graph-replay.cc',
451         '../../src/compiler/graph-replay.h',
452         '../../src/compiler/graph-visualizer.cc',
453         '../../src/compiler/graph-visualizer.h',
454         '../../src/compiler/graph.cc',
455         '../../src/compiler/graph.h',
456         '../../src/compiler/instruction-codes.h',
457         '../../src/compiler/instruction-selector-impl.h',
458         '../../src/compiler/instruction-selector.cc',
459         '../../src/compiler/instruction-selector.h',
460         '../../src/compiler/instruction.cc',
461         '../../src/compiler/instruction.h',
462         '../../src/compiler/js-builtin-reducer.cc',
463         '../../src/compiler/js-builtin-reducer.h',
464         '../../src/compiler/js-context-specialization.cc',
465         '../../src/compiler/js-context-specialization.h',
466         '../../src/compiler/js-generic-lowering.cc',
467         '../../src/compiler/js-generic-lowering.h',
468         '../../src/compiler/js-graph.cc',
469         '../../src/compiler/js-graph.h',
470         '../../src/compiler/js-inlining.cc',
471         '../../src/compiler/js-inlining.h',
472         '../../src/compiler/js-intrinsic-lowering.cc',
473         '../../src/compiler/js-intrinsic-lowering.h',
474         '../../src/compiler/js-operator.cc',
475         '../../src/compiler/js-operator.h',
476         '../../src/compiler/js-typed-lowering.cc',
477         '../../src/compiler/js-typed-lowering.h',
478         '../../src/compiler/jump-threading.cc',
479         '../../src/compiler/jump-threading.h',
480         '../../src/compiler/linkage-impl.h',
481         '../../src/compiler/linkage.cc',
482         '../../src/compiler/linkage.h',
483         '../../src/compiler/load-elimination.cc',
484         '../../src/compiler/load-elimination.h',
485         '../../src/compiler/loop-analysis.cc',
486         '../../src/compiler/loop-analysis.h',
487         '../../src/compiler/loop-peeling.cc',
488         '../../src/compiler/loop-peeling.h',
489         '../../src/compiler/machine-operator-reducer.cc',
490         '../../src/compiler/machine-operator-reducer.h',
491         '../../src/compiler/machine-operator.cc',
492         '../../src/compiler/machine-operator.h',
493         '../../src/compiler/machine-type.cc',
494         '../../src/compiler/machine-type.h',
495         '../../src/compiler/move-optimizer.cc',
496         '../../src/compiler/move-optimizer.h',
497         '../../src/compiler/node-aux-data.h',
498         '../../src/compiler/node-cache.cc',
499         '../../src/compiler/node-cache.h',
500         '../../src/compiler/node-marker.cc',
501         '../../src/compiler/node-marker.h',
502         '../../src/compiler/node-matchers.h',
503         '../../src/compiler/node-properties.cc',
504         '../../src/compiler/node-properties.h',
505         '../../src/compiler/node.cc',
506         '../../src/compiler/node.h',
507         '../../src/compiler/opcodes.cc',
508         '../../src/compiler/opcodes.h',
509         '../../src/compiler/operator-properties.cc',
510         '../../src/compiler/operator-properties.h',
511         '../../src/compiler/operator.cc',
512         '../../src/compiler/operator.h',
513         '../../src/compiler/osr.cc',
514         '../../src/compiler/osr.h',
515         '../../src/compiler/pipeline.cc',
516         '../../src/compiler/pipeline.h',
517         '../../src/compiler/pipeline-statistics.cc',
518         '../../src/compiler/pipeline-statistics.h',
519         '../../src/compiler/raw-machine-assembler.cc',
520         '../../src/compiler/raw-machine-assembler.h',
521         '../../src/compiler/register-allocator.cc',
522         '../../src/compiler/register-allocator.h',
523         '../../src/compiler/register-allocator-verifier.cc',
524         '../../src/compiler/register-allocator-verifier.h',
525         '../../src/compiler/register-configuration.cc',
526         '../../src/compiler/register-configuration.h',
527         '../../src/compiler/representation-change.h',
528         '../../src/compiler/schedule.cc',
529         '../../src/compiler/schedule.h',
530         '../../src/compiler/scheduler.cc',
531         '../../src/compiler/scheduler.h',
532         '../../src/compiler/select-lowering.cc',
533         '../../src/compiler/select-lowering.h',
534         '../../src/compiler/simplified-lowering.cc',
535         '../../src/compiler/simplified-lowering.h',
536         '../../src/compiler/simplified-operator-reducer.cc',
537         '../../src/compiler/simplified-operator-reducer.h',
538         '../../src/compiler/simplified-operator.cc',
539         '../../src/compiler/simplified-operator.h',
540         '../../src/compiler/source-position.cc',
541         '../../src/compiler/source-position.h',
542         '../../src/compiler/typer.cc',
543         '../../src/compiler/typer.h',
544         '../../src/compiler/value-numbering-reducer.cc',
545         '../../src/compiler/value-numbering-reducer.h',
546         '../../src/compiler/verifier.cc',
547         '../../src/compiler/verifier.h',
548         '../../src/compiler/zone-pool.cc',
549         '../../src/compiler/zone-pool.h',
550         '../../src/compiler.cc',
551         '../../src/compiler.h',
552         '../../src/contexts.cc',
553         '../../src/contexts.h',
554         '../../src/conversions-inl.h',
555         '../../src/conversions.cc',
556         '../../src/conversions.h',
557         '../../src/counters.cc',
558         '../../src/counters.h',
559         '../../src/cpu-profiler-inl.h',
560         '../../src/cpu-profiler.cc',
561         '../../src/cpu-profiler.h',
562         '../../src/date.cc',
563         '../../src/date.h',
564         '../../src/dateparser-inl.h',
565         '../../src/dateparser.cc',
566         '../../src/dateparser.h',
567         '../../src/debug.cc',
568         '../../src/debug.h',
569         '../../src/deoptimizer.cc',
570         '../../src/deoptimizer.h',
571         '../../src/disasm.h',
572         '../../src/disassembler.cc',
573         '../../src/disassembler.h',
574         '../../src/diy-fp.cc',
575         '../../src/diy-fp.h',
576         '../../src/double.h',
577         '../../src/dtoa.cc',
578         '../../src/dtoa.h',
579         '../../src/effects.h',
580         '../../src/elements-kind.cc',
581         '../../src/elements-kind.h',
582         '../../src/elements.cc',
583         '../../src/elements.h',
584         '../../src/execution.cc',
585         '../../src/execution.h',
586         '../../src/extensions/externalize-string-extension.cc',
587         '../../src/extensions/externalize-string-extension.h',
588         '../../src/extensions/free-buffer-extension.cc',
589         '../../src/extensions/free-buffer-extension.h',
590         '../../src/extensions/gc-extension.cc',
591         '../../src/extensions/gc-extension.h',
592         '../../src/extensions/statistics-extension.cc',
593         '../../src/extensions/statistics-extension.h',
594         '../../src/extensions/trigger-failure-extension.cc',
595         '../../src/extensions/trigger-failure-extension.h',
596         '../../src/factory.cc',
597         '../../src/factory.h',
598         '../../src/fast-dtoa.cc',
599         '../../src/fast-dtoa.h',
600         '../../src/field-index.h',
601         '../../src/field-index-inl.h',
602         '../../src/fixed-dtoa.cc',
603         '../../src/fixed-dtoa.h',
604         '../../src/flag-definitions.h',
605         '../../src/flags.cc',
606         '../../src/flags.h',
607         '../../src/frames-inl.h',
608         '../../src/frames.cc',
609         '../../src/frames.h',
610         '../../src/full-codegen.cc',
611         '../../src/full-codegen.h',
612         '../../src/func-name-inferrer.cc',
613         '../../src/func-name-inferrer.h',
614         '../../src/gdb-jit.cc',
615         '../../src/gdb-jit.h',
616         '../../src/global-handles.cc',
617         '../../src/global-handles.h',
618         '../../src/globals.h',
619         '../../src/handles-inl.h',
620         '../../src/handles.cc',
621         '../../src/handles.h',
622         '../../src/hashmap.h',
623         '../../src/heap-profiler.cc',
624         '../../src/heap-profiler.h',
625         '../../src/heap-snapshot-generator-inl.h',
626         '../../src/heap-snapshot-generator.cc',
627         '../../src/heap-snapshot-generator.h',
628         '../../src/heap/gc-idle-time-handler.cc',
629         '../../src/heap/gc-idle-time-handler.h',
630         '../../src/heap/gc-tracer.cc',
631         '../../src/heap/gc-tracer.h',
632         '../../src/heap/heap-inl.h',
633         '../../src/heap/heap.cc',
634         '../../src/heap/heap.h',
635         '../../src/heap/incremental-marking-inl.h',
636         '../../src/heap/incremental-marking.cc',
637         '../../src/heap/incremental-marking.h',
638         '../../src/heap/mark-compact-inl.h',
639         '../../src/heap/mark-compact.cc',
640         '../../src/heap/mark-compact.h',
641         '../../src/heap/objects-visiting-inl.h',
642         '../../src/heap/objects-visiting.cc',
643         '../../src/heap/objects-visiting.h',
644         '../../src/heap/spaces-inl.h',
645         '../../src/heap/spaces.cc',
646         '../../src/heap/spaces.h',
647         '../../src/heap/store-buffer-inl.h',
648         '../../src/heap/store-buffer.cc',
649         '../../src/heap/store-buffer.h',
650         '../../src/hydrogen-alias-analysis.h',
651         '../../src/hydrogen-bce.cc',
652         '../../src/hydrogen-bce.h',
653         '../../src/hydrogen-bch.cc',
654         '../../src/hydrogen-bch.h',
655         '../../src/hydrogen-canonicalize.cc',
656         '../../src/hydrogen-canonicalize.h',
657         '../../src/hydrogen-check-elimination.cc',
658         '../../src/hydrogen-check-elimination.h',
659         '../../src/hydrogen-dce.cc',
660         '../../src/hydrogen-dce.h',
661         '../../src/hydrogen-dehoist.cc',
662         '../../src/hydrogen-dehoist.h',
663         '../../src/hydrogen-environment-liveness.cc',
664         '../../src/hydrogen-environment-liveness.h',
665         '../../src/hydrogen-escape-analysis.cc',
666         '../../src/hydrogen-escape-analysis.h',
667         '../../src/hydrogen-flow-engine.h',
668         '../../src/hydrogen-instructions.cc',
669         '../../src/hydrogen-instructions.h',
670         '../../src/hydrogen.cc',
671         '../../src/hydrogen.h',
672         '../../src/hydrogen-gvn.cc',
673         '../../src/hydrogen-gvn.h',
674         '../../src/hydrogen-infer-representation.cc',
675         '../../src/hydrogen-infer-representation.h',
676         '../../src/hydrogen-infer-types.cc',
677         '../../src/hydrogen-infer-types.h',
678         '../../src/hydrogen-load-elimination.cc',
679         '../../src/hydrogen-load-elimination.h',
680         '../../src/hydrogen-mark-deoptimize.cc',
681         '../../src/hydrogen-mark-deoptimize.h',
682         '../../src/hydrogen-mark-unreachable.cc',
683         '../../src/hydrogen-mark-unreachable.h',
684         '../../src/hydrogen-osr.cc',
685         '../../src/hydrogen-osr.h',
686         '../../src/hydrogen-range-analysis.cc',
687         '../../src/hydrogen-range-analysis.h',
688         '../../src/hydrogen-redundant-phi.cc',
689         '../../src/hydrogen-redundant-phi.h',
690         '../../src/hydrogen-removable-simulates.cc',
691         '../../src/hydrogen-removable-simulates.h',
692         '../../src/hydrogen-representation-changes.cc',
693         '../../src/hydrogen-representation-changes.h',
694         '../../src/hydrogen-sce.cc',
695         '../../src/hydrogen-sce.h',
696         '../../src/hydrogen-store-elimination.cc',
697         '../../src/hydrogen-store-elimination.h',
698         '../../src/hydrogen-types.cc',
699         '../../src/hydrogen-types.h',
700         '../../src/hydrogen-uint32-analysis.cc',
701         '../../src/hydrogen-uint32-analysis.h',
702         '../../src/i18n.cc',
703         '../../src/i18n.h',
704         '../../src/icu_util.cc',
705         '../../src/icu_util.h',
706         '../../src/ic/access-compiler.cc',
707         '../../src/ic/access-compiler.h',
708         '../../src/ic/call-optimization.cc',
709         '../../src/ic/call-optimization.h',
710         '../../src/ic/handler-compiler.cc',
711         '../../src/ic/handler-compiler.h',
712         '../../src/ic/ic-inl.h',
713         '../../src/ic/ic-state.cc',
714         '../../src/ic/ic-state.h',
715         '../../src/ic/ic.cc',
716         '../../src/ic/ic.h',
717         '../../src/ic/ic-compiler.cc',
718         '../../src/ic/ic-compiler.h',
719         '../../src/interface-descriptors.cc',
720         '../../src/interface-descriptors.h',
721         '../../src/interpreter-irregexp.cc',
722         '../../src/interpreter-irregexp.h',
723         '../../src/isolate.cc',
724         '../../src/isolate.h',
725         '../../src/json-parser.h',
726         '../../src/json-stringifier.h',
727         '../../src/jsregexp-inl.h',
728         '../../src/jsregexp.cc',
729         '../../src/jsregexp.h',
730         '../../src/layout-descriptor-inl.h',
731         '../../src/layout-descriptor.cc',
732         '../../src/layout-descriptor.h',
733         '../../src/list-inl.h',
734         '../../src/list.h',
735         '../../src/lithium-allocator-inl.h',
736         '../../src/lithium-allocator.cc',
737         '../../src/lithium-allocator.h',
738         '../../src/lithium-codegen.cc',
739         '../../src/lithium-codegen.h',
740         '../../src/lithium.cc',
741         '../../src/lithium.h',
742         '../../src/lithium-inl.h',
743         '../../src/liveedit.cc',
744         '../../src/liveedit.h',
745         '../../src/log-inl.h',
746         '../../src/log-utils.cc',
747         '../../src/log-utils.h',
748         '../../src/log.cc',
749         '../../src/log.h',
750         '../../src/lookup-inl.h',
751         '../../src/lookup.cc',
752         '../../src/lookup.h',
753         '../../src/macro-assembler.h',
754         '../../src/messages.cc',
755         '../../src/messages.h',
756         '../../src/modules.cc',
757         '../../src/modules.h',
758         '../../src/msan.h',
759         '../../src/natives.h',
760         '../../src/objects-debug.cc',
761         '../../src/objects-inl.h',
762         '../../src/objects-printer.cc',
763         '../../src/objects.cc',
764         '../../src/objects.h',
765         '../../src/optimizing-compiler-thread.cc',
766         '../../src/optimizing-compiler-thread.h',
767         '../../src/ostreams.cc',
768         '../../src/ostreams.h',
769         '../../src/parser.cc',
770         '../../src/parser.h',
771         '../../src/perf-jit.cc',
772         '../../src/perf-jit.h',
773         '../../src/preparse-data-format.h',
774         '../../src/preparse-data.cc',
775         '../../src/preparse-data.h',
776         '../../src/preparser.cc',
777         '../../src/preparser.h',
778         '../../src/prettyprinter.cc',
779         '../../src/prettyprinter.h',
780         '../../src/profile-generator-inl.h',
781         '../../src/profile-generator.cc',
782         '../../src/profile-generator.h',
783         '../../src/property-details.h',
784         '../../src/property.cc',
785         '../../src/property.h',
786         '../../src/prototype.h',
787         '../../src/regexp-macro-assembler-irregexp-inl.h',
788         '../../src/regexp-macro-assembler-irregexp.cc',
789         '../../src/regexp-macro-assembler-irregexp.h',
790         '../../src/regexp-macro-assembler-tracer.cc',
791         '../../src/regexp-macro-assembler-tracer.h',
792         '../../src/regexp-macro-assembler.cc',
793         '../../src/regexp-macro-assembler.h',
794         '../../src/regexp-stack.cc',
795         '../../src/regexp-stack.h',
796         '../../src/rewriter.cc',
797         '../../src/rewriter.h',
798         '../../src/runtime-profiler.cc',
799         '../../src/runtime-profiler.h',
800         '../../src/runtime/runtime-array.cc',
801         '../../src/runtime/runtime-classes.cc',
802         '../../src/runtime/runtime-collections.cc',
803         '../../src/runtime/runtime-compiler.cc',
804         '../../src/runtime/runtime-date.cc',
805         '../../src/runtime/runtime-debug.cc',
806         '../../src/runtime/runtime-function.cc',
807         '../../src/runtime/runtime-generator.cc',
808         '../../src/runtime/runtime-i18n.cc',
809         '../../src/runtime/runtime-internal.cc',
810         '../../src/runtime/runtime-json.cc',
811         '../../src/runtime/runtime-literals.cc',
812         '../../src/runtime/runtime-liveedit.cc',
813         '../../src/runtime/runtime-maths.cc',
814         '../../src/runtime/runtime-numbers.cc',
815         '../../src/runtime/runtime-object.cc',
816         '../../src/runtime/runtime-observe.cc',
817         '../../src/runtime/runtime-proxy.cc',
818         '../../src/runtime/runtime-regexp.cc',
819         '../../src/runtime/runtime-scopes.cc',
820         '../../src/runtime/runtime-strings.cc',
821         '../../src/runtime/runtime-symbol.cc',
822         '../../src/runtime/runtime-test.cc',
823         '../../src/runtime/runtime-typedarray.cc',
824         '../../src/runtime/runtime-uri.cc',
825         '../../src/runtime/runtime-utils.h',
826         '../../src/runtime/runtime.cc',
827         '../../src/runtime/runtime.h',
828         '../../src/safepoint-table.cc',
829         '../../src/safepoint-table.h',
830         '../../src/sampler.cc',
831         '../../src/sampler.h',
832         '../../src/scanner-character-streams.cc',
833         '../../src/scanner-character-streams.h',
834         '../../src/scanner.cc',
835         '../../src/scanner.h',
836         '../../src/scopeinfo.cc',
837         '../../src/scopeinfo.h',
838         '../../src/scopes.cc',
839         '../../src/scopes.h',
840         '../../src/serialize.cc',
841         '../../src/serialize.h',
842         '../../src/small-pointer-list.h',
843         '../../src/smart-pointers.h',
844         '../../src/snapshot.h',
845         '../../src/snapshot-common.cc',
846         '../../src/snapshot-source-sink.cc',
847         '../../src/snapshot-source-sink.h',
848         '../../src/string-builder.cc',
849         '../../src/string-builder.h',
850         '../../src/string-search.cc',
851         '../../src/string-search.h',
852         '../../src/string-stream.cc',
853         '../../src/string-stream.h',
854         '../../src/strtod.cc',
855         '../../src/strtod.h',
856         '../../src/ic/stub-cache.cc',
857         '../../src/ic/stub-cache.h',
858         '../../src/token.cc',
859         '../../src/token.h',
860         '../../src/transitions-inl.h',
861         '../../src/transitions.cc',
862         '../../src/transitions.h',
863         '../../src/type-feedback-vector-inl.h',
864         '../../src/type-feedback-vector.cc',
865         '../../src/type-feedback-vector.h',
866         '../../src/type-info.cc',
867         '../../src/type-info.h',
868         '../../src/types-inl.h',
869         '../../src/types.cc',
870         '../../src/types.h',
871         '../../src/typing.cc',
872         '../../src/typing.h',
873         '../../src/unbound-queue-inl.h',
874         '../../src/unbound-queue.h',
875         '../../src/unicode-inl.h',
876         '../../src/unicode.cc',
877         '../../src/unicode.h',
878         '../../src/unicode-decoder.cc',
879         '../../src/unicode-decoder.h',
880         '../../src/unique.h',
881         '../../src/utils-inl.h',
882         '../../src/utils.cc',
883         '../../src/utils.h',
884         '../../src/v8.cc',
885         '../../src/v8.h',
886         '../../src/v8memory.h',
887         '../../src/v8threads.cc',
888         '../../src/v8threads.h',
889         '../../src/variables.cc',
890         '../../src/variables.h',
891         '../../src/vector.h',
892         '../../src/version.cc',
893         '../../src/version.h',
894         '../../src/vm-state-inl.h',
895         '../../src/vm-state.h',
896         '../../src/zone.cc',
897         '../../src/zone.h',
898         '../../src/third_party/fdlibm/fdlibm.cc',
899         '../../src/third_party/fdlibm/fdlibm.h',
900       ],
901       'conditions': [
902         ['want_separate_host_toolset==1', {
903           'toolsets': ['host', 'target'],
904         }, {
905           'toolsets': ['target'],
906         }],
907         ['v8_target_arch=="arm"', {
908           'sources': [  ### gcmole(arch:arm) ###
909             '../../src/arm/assembler-arm-inl.h',
910             '../../src/arm/assembler-arm.cc',
911             '../../src/arm/assembler-arm.h',
912             '../../src/arm/builtins-arm.cc',
913             '../../src/arm/code-stubs-arm.cc',
914             '../../src/arm/code-stubs-arm.h',
915             '../../src/arm/codegen-arm.cc',
916             '../../src/arm/codegen-arm.h',
917             '../../src/arm/constants-arm.h',
918             '../../src/arm/constants-arm.cc',
919             '../../src/arm/cpu-arm.cc',
920             '../../src/arm/debug-arm.cc',
921             '../../src/arm/deoptimizer-arm.cc',
922             '../../src/arm/disasm-arm.cc',
923             '../../src/arm/frames-arm.cc',
924             '../../src/arm/frames-arm.h',
925             '../../src/arm/full-codegen-arm.cc',
926             '../../src/arm/interface-descriptors-arm.cc',
927             '../../src/arm/interface-descriptors-arm.h',
928             '../../src/arm/lithium-arm.cc',
929             '../../src/arm/lithium-arm.h',
930             '../../src/arm/lithium-codegen-arm.cc',
931             '../../src/arm/lithium-codegen-arm.h',
932             '../../src/arm/lithium-gap-resolver-arm.cc',
933             '../../src/arm/lithium-gap-resolver-arm.h',
934             '../../src/arm/macro-assembler-arm.cc',
935             '../../src/arm/macro-assembler-arm.h',
936             '../../src/arm/regexp-macro-assembler-arm.cc',
937             '../../src/arm/regexp-macro-assembler-arm.h',
938             '../../src/arm/simulator-arm.cc',
939             '../../src/compiler/arm/code-generator-arm.cc',
940             '../../src/compiler/arm/instruction-codes-arm.h',
941             '../../src/compiler/arm/instruction-selector-arm.cc',
942             '../../src/compiler/arm/linkage-arm.cc',
943             '../../src/ic/arm/access-compiler-arm.cc',
944             '../../src/ic/arm/handler-compiler-arm.cc',
945             '../../src/ic/arm/ic-arm.cc',
946             '../../src/ic/arm/ic-compiler-arm.cc',
947             '../../src/ic/arm/stub-cache-arm.cc',
948           ],
949         }],
950         ['v8_target_arch=="arm64"', {
951           'sources': [  ### gcmole(arch:arm64) ###
952             '../../src/arm64/assembler-arm64.cc',
953             '../../src/arm64/assembler-arm64.h',
954             '../../src/arm64/assembler-arm64-inl.h',
955             '../../src/arm64/builtins-arm64.cc',
956             '../../src/arm64/codegen-arm64.cc',
957             '../../src/arm64/codegen-arm64.h',
958             '../../src/arm64/code-stubs-arm64.cc',
959             '../../src/arm64/code-stubs-arm64.h',
960             '../../src/arm64/constants-arm64.h',
961             '../../src/arm64/cpu-arm64.cc',
962             '../../src/arm64/debug-arm64.cc',
963             '../../src/arm64/decoder-arm64.cc',
964             '../../src/arm64/decoder-arm64.h',
965             '../../src/arm64/decoder-arm64-inl.h',
966             '../../src/arm64/delayed-masm-arm64.cc',
967             '../../src/arm64/delayed-masm-arm64.h',
968             '../../src/arm64/delayed-masm-arm64-inl.h',
969             '../../src/arm64/deoptimizer-arm64.cc',
970             '../../src/arm64/disasm-arm64.cc',
971             '../../src/arm64/disasm-arm64.h',
972             '../../src/arm64/frames-arm64.cc',
973             '../../src/arm64/frames-arm64.h',
974             '../../src/arm64/full-codegen-arm64.cc',
975             '../../src/arm64/instructions-arm64.cc',
976             '../../src/arm64/instructions-arm64.h',
977             '../../src/arm64/instrument-arm64.cc',
978             '../../src/arm64/instrument-arm64.h',
979             '../../src/arm64/interface-descriptors-arm64.cc',
980             '../../src/arm64/interface-descriptors-arm64.h',
981             '../../src/arm64/lithium-arm64.cc',
982             '../../src/arm64/lithium-arm64.h',
983             '../../src/arm64/lithium-codegen-arm64.cc',
984             '../../src/arm64/lithium-codegen-arm64.h',
985             '../../src/arm64/lithium-gap-resolver-arm64.cc',
986             '../../src/arm64/lithium-gap-resolver-arm64.h',
987             '../../src/arm64/macro-assembler-arm64.cc',
988             '../../src/arm64/macro-assembler-arm64.h',
989             '../../src/arm64/macro-assembler-arm64-inl.h',
990             '../../src/arm64/regexp-macro-assembler-arm64.cc',
991             '../../src/arm64/regexp-macro-assembler-arm64.h',
992             '../../src/arm64/simulator-arm64.cc',
993             '../../src/arm64/simulator-arm64.h',
994             '../../src/arm64/utils-arm64.cc',
995             '../../src/arm64/utils-arm64.h',
996             '../../src/compiler/arm64/code-generator-arm64.cc',
997             '../../src/compiler/arm64/instruction-codes-arm64.h',
998             '../../src/compiler/arm64/instruction-selector-arm64.cc',
999             '../../src/compiler/arm64/linkage-arm64.cc',
1000             '../../src/ic/arm64/access-compiler-arm64.cc',
1001             '../../src/ic/arm64/handler-compiler-arm64.cc',
1002             '../../src/ic/arm64/ic-arm64.cc',
1003             '../../src/ic/arm64/ic-compiler-arm64.cc',
1004             '../../src/ic/arm64/stub-cache-arm64.cc',
1005           ],
1006         }],
1007         ['v8_target_arch=="ia32"', {
1008           'sources': [  ### gcmole(arch:ia32) ###
1009             '../../src/ia32/assembler-ia32-inl.h',
1010             '../../src/ia32/assembler-ia32.cc',
1011             '../../src/ia32/assembler-ia32.h',
1012             '../../src/ia32/builtins-ia32.cc',
1013             '../../src/ia32/code-stubs-ia32.cc',
1014             '../../src/ia32/code-stubs-ia32.h',
1015             '../../src/ia32/codegen-ia32.cc',
1016             '../../src/ia32/codegen-ia32.h',
1017             '../../src/ia32/cpu-ia32.cc',
1018             '../../src/ia32/debug-ia32.cc',
1019             '../../src/ia32/deoptimizer-ia32.cc',
1020             '../../src/ia32/disasm-ia32.cc',
1021             '../../src/ia32/frames-ia32.cc',
1022             '../../src/ia32/frames-ia32.h',
1023             '../../src/ia32/full-codegen-ia32.cc',
1024             '../../src/ia32/interface-descriptors-ia32.cc',
1025             '../../src/ia32/lithium-codegen-ia32.cc',
1026             '../../src/ia32/lithium-codegen-ia32.h',
1027             '../../src/ia32/lithium-gap-resolver-ia32.cc',
1028             '../../src/ia32/lithium-gap-resolver-ia32.h',
1029             '../../src/ia32/lithium-ia32.cc',
1030             '../../src/ia32/lithium-ia32.h',
1031             '../../src/ia32/macro-assembler-ia32.cc',
1032             '../../src/ia32/macro-assembler-ia32.h',
1033             '../../src/ia32/regexp-macro-assembler-ia32.cc',
1034             '../../src/ia32/regexp-macro-assembler-ia32.h',
1035             '../../src/compiler/ia32/code-generator-ia32.cc',
1036             '../../src/compiler/ia32/instruction-codes-ia32.h',
1037             '../../src/compiler/ia32/instruction-selector-ia32.cc',
1038             '../../src/compiler/ia32/linkage-ia32.cc',
1039             '../../src/ic/ia32/access-compiler-ia32.cc',
1040             '../../src/ic/ia32/handler-compiler-ia32.cc',
1041             '../../src/ic/ia32/ic-ia32.cc',
1042             '../../src/ic/ia32/ic-compiler-ia32.cc',
1043             '../../src/ic/ia32/stub-cache-ia32.cc',
1044           ],
1045         }],
1046         ['v8_target_arch=="x87"', {
1047           'sources': [  ### gcmole(arch:x87) ###
1048             '../../src/x87/assembler-x87-inl.h',
1049             '../../src/x87/assembler-x87.cc',
1050             '../../src/x87/assembler-x87.h',
1051             '../../src/x87/builtins-x87.cc',
1052             '../../src/x87/code-stubs-x87.cc',
1053             '../../src/x87/code-stubs-x87.h',
1054             '../../src/x87/codegen-x87.cc',
1055             '../../src/x87/codegen-x87.h',
1056             '../../src/x87/cpu-x87.cc',
1057             '../../src/x87/debug-x87.cc',
1058             '../../src/x87/deoptimizer-x87.cc',
1059             '../../src/x87/disasm-x87.cc',
1060             '../../src/x87/frames-x87.cc',
1061             '../../src/x87/frames-x87.h',
1062             '../../src/x87/full-codegen-x87.cc',
1063             '../../src/x87/interface-descriptors-x87.cc',
1064             '../../src/x87/lithium-codegen-x87.cc',
1065             '../../src/x87/lithium-codegen-x87.h',
1066             '../../src/x87/lithium-gap-resolver-x87.cc',
1067             '../../src/x87/lithium-gap-resolver-x87.h',
1068             '../../src/x87/lithium-x87.cc',
1069             '../../src/x87/lithium-x87.h',
1070             '../../src/x87/macro-assembler-x87.cc',
1071             '../../src/x87/macro-assembler-x87.h',
1072             '../../src/x87/regexp-macro-assembler-x87.cc',
1073             '../../src/x87/regexp-macro-assembler-x87.h',
1074             '../../src/ic/x87/access-compiler-x87.cc',
1075             '../../src/ic/x87/handler-compiler-x87.cc',
1076             '../../src/ic/x87/ic-x87.cc',
1077             '../../src/ic/x87/ic-compiler-x87.cc',
1078             '../../src/ic/x87/stub-cache-x87.cc',
1079           ],
1080         }],
1081         ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
1082           'sources': [  ### gcmole(arch:mipsel) ###
1083             '../../src/mips/assembler-mips.cc',
1084             '../../src/mips/assembler-mips.h',
1085             '../../src/mips/assembler-mips-inl.h',
1086             '../../src/mips/builtins-mips.cc',
1087             '../../src/mips/codegen-mips.cc',
1088             '../../src/mips/codegen-mips.h',
1089             '../../src/mips/code-stubs-mips.cc',
1090             '../../src/mips/code-stubs-mips.h',
1091             '../../src/mips/constants-mips.cc',
1092             '../../src/mips/constants-mips.h',
1093             '../../src/mips/cpu-mips.cc',
1094             '../../src/mips/debug-mips.cc',
1095             '../../src/mips/deoptimizer-mips.cc',
1096             '../../src/mips/disasm-mips.cc',
1097             '../../src/mips/frames-mips.cc',
1098             '../../src/mips/frames-mips.h',
1099             '../../src/mips/full-codegen-mips.cc',
1100             '../../src/mips/interface-descriptors-mips.cc',
1101             '../../src/mips/lithium-codegen-mips.cc',
1102             '../../src/mips/lithium-codegen-mips.h',
1103             '../../src/mips/lithium-gap-resolver-mips.cc',
1104             '../../src/mips/lithium-gap-resolver-mips.h',
1105             '../../src/mips/lithium-mips.cc',
1106             '../../src/mips/lithium-mips.h',
1107             '../../src/mips/macro-assembler-mips.cc',
1108             '../../src/mips/macro-assembler-mips.h',
1109             '../../src/mips/regexp-macro-assembler-mips.cc',
1110             '../../src/mips/regexp-macro-assembler-mips.h',
1111             '../../src/mips/simulator-mips.cc',
1112             '../../src/compiler/mips/code-generator-mips.cc',
1113             '../../src/compiler/mips/instruction-codes-mips.h',
1114             '../../src/compiler/mips/instruction-selector-mips.cc',
1115             '../../src/compiler/mips/linkage-mips.cc',
1116             '../../src/ic/mips/access-compiler-mips.cc',
1117             '../../src/ic/mips/handler-compiler-mips.cc',
1118             '../../src/ic/mips/ic-mips.cc',
1119             '../../src/ic/mips/ic-compiler-mips.cc',
1120             '../../src/ic/mips/stub-cache-mips.cc',
1121           ],
1122         }],
1123         ['v8_target_arch=="mips64el"', {
1124           'sources': [  ### gcmole(arch:mips64el) ###
1125             '../../src/mips64/assembler-mips64.cc',
1126             '../../src/mips64/assembler-mips64.h',
1127             '../../src/mips64/assembler-mips64-inl.h',
1128             '../../src/mips64/builtins-mips64.cc',
1129             '../../src/mips64/codegen-mips64.cc',
1130             '../../src/mips64/codegen-mips64.h',
1131             '../../src/mips64/code-stubs-mips64.cc',
1132             '../../src/mips64/code-stubs-mips64.h',
1133             '../../src/mips64/constants-mips64.cc',
1134             '../../src/mips64/constants-mips64.h',
1135             '../../src/mips64/cpu-mips64.cc',
1136             '../../src/mips64/debug-mips64.cc',
1137             '../../src/mips64/deoptimizer-mips64.cc',
1138             '../../src/mips64/disasm-mips64.cc',
1139             '../../src/mips64/frames-mips64.cc',
1140             '../../src/mips64/frames-mips64.h',
1141             '../../src/mips64/full-codegen-mips64.cc',
1142             '../../src/mips64/interface-descriptors-mips64.cc',
1143             '../../src/mips64/lithium-codegen-mips64.cc',
1144             '../../src/mips64/lithium-codegen-mips64.h',
1145             '../../src/mips64/lithium-gap-resolver-mips64.cc',
1146             '../../src/mips64/lithium-gap-resolver-mips64.h',
1147             '../../src/mips64/lithium-mips64.cc',
1148             '../../src/mips64/lithium-mips64.h',
1149             '../../src/mips64/macro-assembler-mips64.cc',
1150             '../../src/mips64/macro-assembler-mips64.h',
1151             '../../src/mips64/regexp-macro-assembler-mips64.cc',
1152             '../../src/mips64/regexp-macro-assembler-mips64.h',
1153             '../../src/mips64/simulator-mips64.cc',
1154             '../../src/compiler/mips64/code-generator-mips64.cc',
1155             '../../src/compiler/mips64/instruction-codes-mips64.h',
1156             '../../src/compiler/mips64/instruction-selector-mips64.cc',
1157             '../../src/compiler/mips64/linkage-mips64.cc',
1158             '../../src/ic/mips64/access-compiler-mips64.cc',
1159             '../../src/ic/mips64/handler-compiler-mips64.cc',
1160             '../../src/ic/mips64/ic-mips64.cc',
1161             '../../src/ic/mips64/ic-compiler-mips64.cc',
1162             '../../src/ic/mips64/stub-cache-mips64.cc',
1163           ],
1164         }],
1165         ['v8_target_arch=="x64" or v8_target_arch=="x32"', {
1166           'sources': [  ### gcmole(arch:x64) ###
1167             '../../src/x64/assembler-x64-inl.h',
1168             '../../src/x64/assembler-x64.cc',
1169             '../../src/x64/assembler-x64.h',
1170             '../../src/x64/builtins-x64.cc',
1171             '../../src/x64/code-stubs-x64.cc',
1172             '../../src/x64/code-stubs-x64.h',
1173             '../../src/x64/codegen-x64.cc',
1174             '../../src/x64/codegen-x64.h',
1175             '../../src/x64/cpu-x64.cc',
1176             '../../src/x64/debug-x64.cc',
1177             '../../src/x64/deoptimizer-x64.cc',
1178             '../../src/x64/disasm-x64.cc',
1179             '../../src/x64/frames-x64.cc',
1180             '../../src/x64/frames-x64.h',
1181             '../../src/x64/full-codegen-x64.cc',
1182             '../../src/x64/interface-descriptors-x64.cc',
1183             '../../src/x64/lithium-codegen-x64.cc',
1184             '../../src/x64/lithium-codegen-x64.h',
1185             '../../src/x64/lithium-gap-resolver-x64.cc',
1186             '../../src/x64/lithium-gap-resolver-x64.h',
1187             '../../src/x64/lithium-x64.cc',
1188             '../../src/x64/lithium-x64.h',
1189             '../../src/x64/macro-assembler-x64.cc',
1190             '../../src/x64/macro-assembler-x64.h',
1191             '../../src/x64/regexp-macro-assembler-x64.cc',
1192             '../../src/x64/regexp-macro-assembler-x64.h',
1193             '../../src/ic/x64/access-compiler-x64.cc',
1194             '../../src/ic/x64/handler-compiler-x64.cc',
1195             '../../src/ic/x64/ic-x64.cc',
1196             '../../src/ic/x64/ic-compiler-x64.cc',
1197             '../../src/ic/x64/stub-cache-x64.cc',
1198           ],
1199         }],
1200         ['v8_target_arch=="x64"', {
1201           'sources': [
1202             '../../src/compiler/x64/code-generator-x64.cc',
1203             '../../src/compiler/x64/instruction-codes-x64.h',
1204             '../../src/compiler/x64/instruction-selector-x64.cc',
1205             '../../src/compiler/x64/linkage-x64.cc',
1206           ],
1207         }],
1208         ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
1209           'sources': [  ### gcmole(arch:ppc) ###
1210             '../../src/ppc/assembler-ppc-inl.h',
1211             '../../src/ppc/assembler-ppc.cc',
1212             '../../src/ppc/assembler-ppc.h',
1213             '../../src/ppc/builtins-ppc.cc',
1214             '../../src/ppc/code-stubs-ppc.cc',
1215             '../../src/ppc/code-stubs-ppc.h',
1216             '../../src/ppc/codegen-ppc.cc',
1217             '../../src/ppc/codegen-ppc.h',
1218             '../../src/ppc/constants-ppc.h',
1219             '../../src/ppc/constants-ppc.cc',
1220             '../../src/ppc/cpu-ppc.cc',
1221             '../../src/ppc/debug-ppc.cc',
1222             '../../src/ppc/deoptimizer-ppc.cc',
1223             '../../src/ppc/disasm-ppc.cc',
1224             '../../src/ppc/frames-ppc.cc',
1225             '../../src/ppc/frames-ppc.h',
1226             '../../src/ppc/full-codegen-ppc.cc',
1227             '../../src/ppc/interface-descriptors-ppc.cc',
1228             '../../src/ppc/interface-descriptors-ppc.h',
1229             '../../src/ppc/lithium-ppc.cc',
1230             '../../src/ppc/lithium-ppc.h',
1231             '../../src/ppc/lithium-codegen-ppc.cc',
1232             '../../src/ppc/lithium-codegen-ppc.h',
1233             '../../src/ppc/lithium-gap-resolver-ppc.cc',
1234             '../../src/ppc/lithium-gap-resolver-ppc.h',
1235             '../../src/ppc/macro-assembler-ppc.cc',
1236             '../../src/ppc/macro-assembler-ppc.h',
1237             '../../src/ppc/regexp-macro-assembler-ppc.cc',
1238             '../../src/ppc/regexp-macro-assembler-ppc.h',
1239             '../../src/ppc/simulator-ppc.cc',
1240             '../../src/compiler/ppc/code-generator-ppc.cc',
1241             '../../src/compiler/ppc/instruction-codes-ppc.h',
1242             '../../src/compiler/ppc/instruction-selector-ppc.cc',
1243             '../../src/compiler/ppc/linkage-ppc.cc',
1244             '../../src/ic/ppc/access-compiler-ppc.cc',
1245             '../../src/ic/ppc/handler-compiler-ppc.cc',
1246             '../../src/ic/ppc/ic-ppc.cc',
1247             '../../src/ic/ppc/ic-compiler-ppc.cc',
1248             '../../src/ic/ppc/stub-cache-ppc.cc',
1249           ],
1250         }],
1251         ['OS=="win"', {
1252           'variables': {
1253             'gyp_generators': '<!(echo $GYP_GENERATORS)',
1254           },
1255           'msvs_disabled_warnings': [4351, 4355, 4800],
1256         }],
1257         ['component=="shared_library"', {
1258           'defines': [
1259             'BUILDING_V8_SHARED',
1260             'V8_SHARED',
1261           ],
1262         }],
1263         ['v8_postmortem_support=="true"', {
1264           'sources': [
1265             '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
1266           ]
1267         }],
1268         ['v8_enable_i18n_support==1', {
1269           'dependencies': [
1270             '<(icu_gyp_path):icui18n',
1271             '<(icu_gyp_path):icuuc',
1272           ]
1273         }, {  # v8_enable_i18n_support==0
1274           'sources!': [
1275             '../../src/i18n.cc',
1276             '../../src/i18n.h',
1277           ],
1278         }],
1279         ['OS=="win" and v8_enable_i18n_support==1', {
1280           'dependencies': [
1281             '<(icu_gyp_path):icudata',
1282           ],
1283         }],
1284         ['icu_use_data_file_flag==1', {
1285           'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE'],
1286         }, { # else icu_use_data_file_flag !=1
1287           'conditions': [
1288             ['OS=="win"', {
1289               'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_SHARED'],
1290             }, {
1291               'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC'],
1292             }],
1293           ],
1294         }],
1295       ],
1296     },
1297     {
1298       'target_name': 'v8_libbase',
1299       'type': 'static_library',
1300       'variables': {
1301         'optimize': 'max',
1302       },
1303       'include_dirs+': [
1304         '../..',
1305       ],
1306       'sources': [
1307         '../../src/base/atomicops.h',
1308         '../../src/base/atomicops_internals_arm64_gcc.h',
1309         '../../src/base/atomicops_internals_arm_gcc.h',
1310         '../../src/base/atomicops_internals_atomicword_compat.h',
1311         '../../src/base/atomicops_internals_mac.h',
1312         '../../src/base/atomicops_internals_mips_gcc.h',
1313         '../../src/base/atomicops_internals_ppc_gcc.h',
1314         '../../src/base/atomicops_internals_tsan.h',
1315         '../../src/base/atomicops_internals_x86_gcc.cc',
1316         '../../src/base/atomicops_internals_x86_gcc.h',
1317         '../../src/base/atomicops_internals_x86_msvc.h',
1318         '../../src/base/bits.cc',
1319         '../../src/base/bits.h',
1320         '../../src/base/build_config.h',
1321         '../../src/base/compiler-specific.h',
1322         '../../src/base/cpu.cc',
1323         '../../src/base/cpu.h',
1324         '../../src/base/division-by-constant.cc',
1325         '../../src/base/division-by-constant.h',
1326         '../../src/base/flags.h',
1327         '../../src/base/functional.cc',
1328         '../../src/base/functional.h',
1329         '../../src/base/iterator.h',
1330         '../../src/base/lazy-instance.h',
1331         '../../src/base/logging.cc',
1332         '../../src/base/logging.h',
1333         '../../src/base/macros.h',
1334         '../../src/base/once.cc',
1335         '../../src/base/once.h',
1336         '../../src/base/platform/elapsed-timer.h',
1337         '../../src/base/platform/time.cc',
1338         '../../src/base/platform/time.h',
1339         '../../src/base/platform/condition-variable.cc',
1340         '../../src/base/platform/condition-variable.h',
1341         '../../src/base/platform/mutex.cc',
1342         '../../src/base/platform/mutex.h',
1343         '../../src/base/platform/platform.h',
1344         '../../src/base/platform/semaphore.cc',
1345         '../../src/base/platform/semaphore.h',
1346         '../../src/base/safe_conversions.h',
1347         '../../src/base/safe_conversions_impl.h',
1348         '../../src/base/safe_math.h',
1349         '../../src/base/safe_math_impl.h',
1350         '../../src/base/sys-info.cc',
1351         '../../src/base/sys-info.h',
1352         '../../src/base/utils/random-number-generator.cc',
1353         '../../src/base/utils/random-number-generator.h',
1354       ],
1355       'conditions': [
1356         ['want_separate_host_toolset==1', {
1357           'toolsets': ['host', 'target'],
1358         }, {
1359           'toolsets': ['target'],
1360         }],
1361         ['OS=="linux"', {
1362             'conditions': [
1363               ['nacl_target_arch=="none"', {
1364                 'link_settings': {
1365                   'libraries': [
1366                     '-lrt'
1367                   ],
1368                 },
1369               }, {
1370                 'defines': [
1371                   'V8_LIBRT_NOT_AVAILABLE=1',
1372                 ],
1373               }],
1374             ],
1375             'sources': [
1376               '../../src/base/platform/platform-linux.cc',
1377               '../../src/base/platform/platform-posix.cc'
1378             ],
1379           }
1380         ],
1381         ['OS=="android"', {
1382             'sources': [
1383               '../../src/base/platform/platform-posix.cc'
1384             ],
1385             'conditions': [
1386               ['host_os=="mac"', {
1387                 'target_conditions': [
1388                   ['_toolset=="host"', {
1389                     'sources': [
1390                       '../../src/base/platform/platform-macos.cc'
1391                     ]
1392                   }, {
1393                     'sources': [
1394                       '../../src/base/platform/platform-linux.cc'
1395                     ]
1396                   }],
1397                 ],
1398               }, {
1399                 # TODO(bmeurer): What we really want here, is this:
1400                 #
1401                 # 'link_settings': {
1402                 #   'target_conditions': [
1403                 #     ['_toolset=="host"', {
1404                 #       'libraries': [
1405                 #         '-lrt'
1406                 #       ]
1407                 #     }]
1408                 #   ]
1409                 # },
1410                 #
1411                 # but we can't do this right now, as the AOSP does not support
1412                 # linking against the host librt, so we need to work around this
1413                 # for now, using the following hack (see platform/time.cc):
1414                 'target_conditions': [
1415                   ['_toolset=="host"', {
1416                     'defines': [
1417                       'V8_LIBRT_NOT_AVAILABLE=1',
1418                     ],
1419                   }],
1420                 ],
1421                 'sources': [
1422                   '../../src/base/platform/platform-linux.cc'
1423                 ]
1424               }],
1425             ],
1426           },
1427         ],
1428         ['OS=="qnx"', {
1429             'link_settings': {
1430               'target_conditions': [
1431                 ['_toolset=="host" and host_os=="linux"', {
1432                   'libraries': [
1433                     '-lrt'
1434                   ],
1435                 }],
1436                 ['_toolset=="target"', {
1437                   'libraries': [
1438                     '-lbacktrace'
1439                   ],
1440                 }],
1441               ],
1442             },
1443             'sources': [
1444               '../../src/base/platform/platform-posix.cc',
1445               '../../src/base/qnx-math.h',
1446             ],
1447             'target_conditions': [
1448               ['_toolset=="host" and host_os=="linux"', {
1449                 'sources': [
1450                   '../../src/base/platform/platform-linux.cc'
1451                 ],
1452               }],
1453               ['_toolset=="host" and host_os=="mac"', {
1454                 'sources': [
1455                   '../../src/base/platform/platform-macos.cc'
1456                 ],
1457               }],
1458               ['_toolset=="target"', {
1459                 'sources': [
1460                   '../../src/base/platform/platform-qnx.cc'
1461                 ],
1462               }],
1463             ],
1464           },
1465         ],
1466         ['OS=="freebsd"', {
1467             'link_settings': {
1468               'libraries': [
1469                 '-L/usr/local/lib -lexecinfo',
1470             ]},
1471             'sources': [
1472               '../../src/base/platform/platform-freebsd.cc',
1473               '../../src/base/platform/platform-posix.cc'
1474             ],
1475           }
1476         ],
1477         ['OS=="openbsd"', {
1478             'link_settings': {
1479               'libraries': [
1480                 '-L/usr/local/lib -lexecinfo',
1481             ]},
1482             'sources': [
1483               '../../src/base/platform/platform-openbsd.cc',
1484               '../../src/base/platform/platform-posix.cc'
1485             ],
1486           }
1487         ],
1488         ['OS=="netbsd"', {
1489             'link_settings': {
1490               'libraries': [
1491                 '-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lexecinfo',
1492             ]},
1493             'sources': [
1494               '../../src/base/platform/platform-openbsd.cc',
1495               '../../src/base/platform/platform-posix.cc'
1496             ],
1497           }
1498         ],
1499         ['OS=="aix"', {
1500           'sources': [
1501             '../../src/base/platform/platform-aix.cc',
1502             '../../src/base/platform/platform-posix.cc'
1503           ]},
1504         ],
1505         ['OS=="solaris"', {
1506             'link_settings': {
1507               'libraries': [
1508                 '-lnsl -lrt',
1509             ]},
1510             'sources': [
1511               '../../src/base/platform/platform-solaris.cc',
1512               '../../src/base/platform/platform-posix.cc'
1513             ],
1514           }
1515         ],
1516         ['OS=="mac"', {
1517           'sources': [
1518             '../../src/base/platform/platform-macos.cc',
1519             '../../src/base/platform/platform-posix.cc'
1520           ]},
1521         ],
1522         ['OS=="win"', {
1523           'defines': [
1524             '_CRT_RAND_S'  # for rand_s()
1525           ],
1526           'variables': {
1527             'gyp_generators': '<!(echo $GYP_GENERATORS)',
1528           },
1529           'conditions': [
1530             ['gyp_generators=="make"', {
1531               'variables': {
1532                 'build_env': '<!(uname -o)',
1533               },
1534               'conditions': [
1535                 ['build_env=="Cygwin"', {
1536                   'sources': [
1537                     '../../src/base/platform/platform-cygwin.cc',
1538                     '../../src/base/platform/platform-posix.cc'
1539                   ],
1540                 }, {
1541                   'sources': [
1542                     '../../src/base/platform/platform-win32.cc',
1543                     '../../src/base/win32-headers.h',
1544                   ],
1545                 }],
1546               ],
1547               'link_settings':  {
1548                 'libraries': [ '-lwinmm', '-lws2_32' ],
1549               },
1550             }, {
1551               'sources': [
1552                 '../../src/base/platform/platform-win32.cc',
1553                 '../../src/base/win32-headers.h',
1554               ],
1555               'msvs_disabled_warnings': [4351, 4355, 4800],
1556               'link_settings':  {
1557                 'libraries': [ '-lwinmm.lib', '-lws2_32.lib' ],
1558               },
1559             }],
1560           ],
1561         }],
1562       ],
1563     },
1564     {
1565       'target_name': 'v8_libplatform',
1566       'type': 'static_library',
1567       'variables': {
1568         'optimize': 'max',
1569       },
1570       'dependencies': [
1571         'v8_libbase',
1572       ],
1573       'include_dirs+': [
1574         '../..',
1575       ],
1576       'sources': [
1577         '../../include/libplatform/libplatform.h',
1578         '../../src/libplatform/default-platform.cc',
1579         '../../src/libplatform/default-platform.h',
1580         '../../src/libplatform/task-queue.cc',
1581         '../../src/libplatform/task-queue.h',
1582         '../../src/libplatform/worker-thread.cc',
1583         '../../src/libplatform/worker-thread.h',
1584       ],
1585       'conditions': [
1586         ['want_separate_host_toolset==1', {
1587           'toolsets': ['host', 'target'],
1588         }, {
1589           'toolsets': ['target'],
1590         }],
1591       ],
1592     },
1593     {
1594       'target_name': 'natives_blob',
1595       'type': 'none',
1596       'conditions': [
1597         [ 'v8_use_external_startup_data==1', {
1598           'conditions': [
1599             ['want_separate_host_toolset==1', {
1600               'dependencies': ['js2c#host'],
1601             }, {
1602               'dependencies': ['js2c'],
1603             }],
1604           ],
1605           'actions': [{
1606             'action_name': 'concatenate_natives_blob',
1607             'inputs': [
1608               '../../tools/concatenate-files.py',
1609               '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
1610               '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
1611             ],
1612             'conditions': [
1613               ['want_separate_host_toolset==1', {
1614                 'target_conditions': [
1615                   ['_toolset=="host"', {
1616                     'outputs': [
1617                       '<(PRODUCT_DIR)/natives_blob_host.bin',
1618                     ],
1619                     'action': [
1620                       'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
1621                     ],
1622                   }, {
1623                     'outputs': [
1624                       '<(PRODUCT_DIR)/natives_blob.bin',
1625                     ],
1626                     'action': [
1627                       'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
1628                     ],
1629                   }],
1630                 ],
1631               }, {
1632                 'outputs': [
1633                   '<(PRODUCT_DIR)/natives_blob.bin',
1634                 ],
1635                 'action': [
1636                   'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
1637                 ],
1638               }],
1639             ],
1640           }],
1641         }],
1642         ['want_separate_host_toolset==1', {
1643           'toolsets': ['host', 'target'],
1644         }, {
1645           'toolsets': ['target'],
1646         }],
1647       ]
1648     },
1649     {
1650       'target_name': 'js2c',
1651       'type': 'none',
1652       'conditions': [
1653         ['want_separate_host_toolset==1', {
1654           'toolsets': ['host'],
1655         }, {
1656           'toolsets': ['target'],
1657         }],
1658         ['v8_enable_i18n_support==1', {
1659           'variables': {
1660             'i18n_library_files': [
1661               '../../src/i18n.js',
1662             ],
1663           },
1664         }, {
1665           'variables': {
1666             'i18n_library_files': [],
1667           },
1668         }],
1669       ],
1670       'variables': {
1671         'library_files': [
1672           '../../src/runtime.js',
1673           '../../src/v8natives.js',
1674           '../../src/symbol.js',
1675           '../../src/array.js',
1676           '../../src/string.js',
1677           '../../src/uri.js',
1678           '../../src/third_party/fdlibm/fdlibm.js',
1679           '../../src/math.js',
1680           '../../src/date.js',
1681           '../../src/regexp.js',
1682           '../../src/arraybuffer.js',
1683           '../../src/typedarray.js',
1684           '../../src/generator.js',
1685           '../../src/object-observe.js',
1686           '../../src/collection.js',
1687           '../../src/weak-collection.js',
1688           '../../src/collection-iterator.js',
1689           '../../src/promise.js',
1690           '../../src/messages.js',
1691           '../../src/json.js',
1692           '../../src/array-iterator.js',
1693           '../../src/string-iterator.js',
1694           '../../src/debug-debugger.js',
1695           '../../src/mirror-debugger.js',
1696           '../../src/liveedit-debugger.js',
1697           '../../src/macros.py',
1698         ],
1699         'experimental_library_files': [
1700           '../../src/macros.py',
1701           '../../src/proxy.js',
1702           '../../src/generator.js',
1703           '../../src/harmony-string.js',
1704           '../../src/harmony-array.js',
1705           '../../src/harmony-array-includes.js',
1706           '../../src/harmony-tostring.js',
1707           '../../src/harmony-typedarray.js',
1708           '../../src/harmony-templates.js',
1709           '../../src/harmony-regexp.js'
1710         ],
1711         'libraries_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
1712         'libraries_experimental_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
1713       },
1714       'actions': [
1715         {
1716           'action_name': 'js2c',
1717           'inputs': [
1718             '../../tools/js2c.py',
1719             '<@(library_files)',
1720             '<@(i18n_library_files)',
1721           ],
1722           'outputs': [
1723             '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
1724           ],
1725           'action': [
1726             'python',
1727             '../../tools/js2c.py',
1728             '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
1729             'CORE',
1730             '<@(library_files)',
1731             '<@(i18n_library_files)',
1732           ],
1733           'conditions': [
1734             [ 'v8_use_external_startup_data==1', {
1735               'outputs': ['<@(libraries_bin_file)'],
1736               'action': [
1737                 '--startup_blob', '<@(libraries_bin_file)',
1738               ],
1739             }],
1740           ],
1741         },
1742         {
1743           'action_name': 'js2c_experimental',
1744           'inputs': [
1745             '../../tools/js2c.py',
1746             '<@(experimental_library_files)',
1747           ],
1748           'outputs': [
1749             '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
1750           ],
1751           'action': [
1752             'python',
1753             '../../tools/js2c.py',
1754             '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
1755             'EXPERIMENTAL',
1756             '<@(experimental_library_files)'
1757           ],
1758           'conditions': [
1759             [ 'v8_use_external_startup_data==1', {
1760               'outputs': ['<@(libraries_experimental_bin_file)'],
1761               'action': [
1762                 '--startup_blob', '<@(libraries_experimental_bin_file)'
1763               ],
1764             }],
1765           ],
1766         },
1767       ],
1768     },
1769     {
1770       'target_name': 'postmortem-metadata',
1771       'type': 'none',
1772       'variables': {
1773         'heapobject_files': [
1774             '../../src/objects.h',
1775             '../../src/objects-inl.h',
1776         ],
1777       },
1778       'actions': [
1779           {
1780             'action_name': 'gen-postmortem-metadata',
1781             'inputs': [
1782               '../../tools/gen-postmortem-metadata.py',
1783               '<@(heapobject_files)',
1784             ],
1785             'outputs': [
1786               '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
1787             ],
1788             'action': [
1789               'python',
1790               '../../tools/gen-postmortem-metadata.py',
1791               '<@(_outputs)',
1792               '<@(heapobject_files)'
1793             ]
1794           }
1795         ]
1796     },
1797     {
1798       'target_name': 'mksnapshot',
1799       'type': 'executable',
1800       'dependencies': ['v8_base', 'v8_nosnapshot', 'v8_libplatform'],
1801       'include_dirs+': [
1802         '../..',
1803       ],
1804       'sources': [
1805         '../../src/mksnapshot.cc',
1806       ],
1807       'conditions': [
1808         ['v8_enable_i18n_support==1', {
1809           'dependencies': [
1810             '<(icu_gyp_path):icui18n',
1811             '<(icu_gyp_path):icuuc',
1812           ]
1813         }],
1814         ['want_separate_host_toolset==1', {
1815           'toolsets': ['host'],
1816         }, {
1817           'toolsets': ['target'],
1818         }],
1819       ],
1820     },
1821   ],
1822 }