• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    'v8_vector_stores%': 0,
34    'embed_script%': "",
35    'v8_extra_library_files%': [],
36    'v8_experimental_extra_library_files%': [],
37    'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
38  },
39  'includes': ['../../build/toolchain.gypi', '../../build/features.gypi'],
40  'targets': [
41    {
42      'target_name': 'v8',
43      'dependencies_traverse': 1,
44      'dependencies': ['v8_maybe_snapshot'],
45      'conditions': [
46        ['want_separate_host_toolset==1', {
47          'toolsets': ['host', 'target'],
48        }, {
49          'toolsets': ['target'],
50        }],
51        ['component=="shared_library"', {
52          'type': '<(component)',
53          'sources': [
54            # Note: on non-Windows we still build this file so that gyp
55            # has some sources to link into the component.
56            '../../src/v8dll-main.cc',
57          ],
58          'include_dirs': [
59            '../..',
60          ],
61          'defines': [
62            'V8_SHARED',
63            'BUILDING_V8_SHARED',
64          ],
65          'direct_dependent_settings': {
66            'defines': [
67              'V8_SHARED',
68              'USING_V8_SHARED',
69            ],
70          },
71          'target_conditions': [
72            ['OS=="android" and _toolset=="target"', {
73              'libraries': [
74                '-llog',
75              ],
76              'include_dirs': [
77                'src/common/android/include',
78              ],
79            }],
80          ],
81          'conditions': [
82            ['OS=="mac"', {
83              'xcode_settings': {
84                'OTHER_LDFLAGS': ['-dynamiclib', '-all_load']
85              },
86            }],
87            ['soname_version!=""', {
88              'product_extension': 'so.<(soname_version)',
89            }],
90          ],
91        },
92        {
93          'type': 'none',
94        }],
95      ],
96      'direct_dependent_settings': {
97        'include_dirs': [
98          '../../include',
99        ],
100      },
101    },
102    {
103      # This rule delegates to either v8_snapshot, v8_nosnapshot, or
104      # v8_external_snapshot, depending on the current variables.
105      # The intention is to make the 'calling' rules a bit simpler.
106      'target_name': 'v8_maybe_snapshot',
107      'type': 'none',
108      'conditions': [
109        ['v8_use_snapshot!="true"', {
110          # The dependency on v8_base should come from a transitive
111          # dependency however the Android toolchain requires libv8_base.a
112          # to appear before libv8_snapshot.a so it's listed explicitly.
113          'dependencies': ['v8_base', 'v8_nosnapshot'],
114        }],
115        ['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
116          # The dependency on v8_base should come from a transitive
117          # dependency however the Android toolchain requires libv8_base.a
118          # to appear before libv8_snapshot.a so it's listed explicitly.
119          'dependencies': ['v8_base', 'v8_snapshot'],
120        }],
121        ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==0', {
122          'dependencies': ['v8_base', 'v8_external_snapshot'],
123          'inputs': [ '<(PRODUCT_DIR)/snapshot_blob.bin', ],
124        }],
125        ['v8_use_snapshot=="true" and v8_use_external_startup_data==1 and want_separate_host_toolset==1', {
126          'dependencies': ['v8_base', 'v8_external_snapshot'],
127          'target_conditions': [
128            ['_toolset=="host"', {
129              'inputs': [
130                '<(PRODUCT_DIR)/snapshot_blob_host.bin',
131              ],
132            }, {
133              'inputs': [
134                '<(PRODUCT_DIR)/snapshot_blob.bin',
135              ],
136            }],
137          ],
138        }],
139        ['want_separate_host_toolset==1', {
140          'toolsets': ['host', 'target'],
141        }, {
142          'toolsets': ['target'],
143        }],
144      ]
145    },
146    {
147      'target_name': 'v8_snapshot',
148      'type': 'static_library',
149      'conditions': [
150        ['want_separate_host_toolset==1', {
151          'toolsets': ['host', 'target'],
152          'dependencies': [
153            'mksnapshot#host',
154            'js2c#host',
155          ],
156        }, {
157          'toolsets': ['target'],
158          'dependencies': [
159            'mksnapshot',
160            'js2c',
161          ],
162        }],
163        ['component=="shared_library"', {
164          'defines': [
165            'V8_SHARED',
166            'BUILDING_V8_SHARED',
167          ],
168          'direct_dependent_settings': {
169            'defines': [
170              'V8_SHARED',
171              'USING_V8_SHARED',
172            ],
173          },
174        }],
175      ],
176      'dependencies': [
177        'v8_base',
178      ],
179      'include_dirs+': [
180        '../..',
181      ],
182      'sources': [
183        '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
184        '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
185        '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
186        '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
187        '<(INTERMEDIATE_DIR)/snapshot.cc',
188      ],
189      'actions': [
190        {
191          'action_name': 'run_mksnapshot',
192          'inputs': [
193            '<(mksnapshot_exec)',
194            '<(embed_script)',
195          ],
196          'outputs': [
197            '<(INTERMEDIATE_DIR)/snapshot.cc',
198          ],
199          'variables': {
200            'mksnapshot_flags': [
201              '--log-snapshot-positions',
202              '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log',
203            ],
204            'conditions': [
205              ['v8_random_seed!=0', {
206                'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
207              }],
208              ['v8_vector_stores!=0', {
209                'mksnapshot_flags': ['--vector-stores'],
210              }],
211            ],
212          },
213          'action': [
214            '<(mksnapshot_exec)',
215            '<@(mksnapshot_flags)',
216            '--startup_src', '<@(INTERMEDIATE_DIR)/snapshot.cc',
217            '<(embed_script)',
218          ],
219        },
220      ],
221    },
222    {
223      'target_name': 'v8_nosnapshot',
224      'type': 'static_library',
225      'dependencies': [
226        'v8_base',
227      ],
228      'include_dirs+': [
229        '../..',
230      ],
231      'sources': [
232        '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
233        '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
234        '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
235        '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
236        '../../src/snapshot/snapshot-empty.cc',
237      ],
238      'conditions': [
239        ['want_separate_host_toolset==1', {
240          'toolsets': ['host', 'target'],
241          'dependencies': ['js2c#host'],
242        }, {
243          'toolsets': ['target'],
244          'dependencies': ['js2c'],
245        }],
246        ['component=="shared_library"', {
247          'defines': [
248            'BUILDING_V8_SHARED',
249            'V8_SHARED',
250          ],
251        }],
252      ]
253    },
254    {
255      'target_name': 'v8_external_snapshot',
256      'type': 'static_library',
257      'conditions': [
258        [ 'v8_use_external_startup_data==1', {
259          'conditions': [
260            ['want_separate_host_toolset==1', {
261              'toolsets': ['host', 'target'],
262              'dependencies': [
263                'mksnapshot#host',
264                'js2c#host',
265                'natives_blob',
266            ]}, {
267              'toolsets': ['target'],
268              'dependencies': [
269                'mksnapshot',
270                'js2c',
271                'natives_blob',
272              ],
273            }],
274            ['component=="shared_library"', {
275              'defines': [
276                'V8_SHARED',
277                'BUILDING_V8_SHARED',
278              ],
279              'direct_dependent_settings': {
280                'defines': [
281                  'V8_SHARED',
282                  'USING_V8_SHARED',
283                ],
284              },
285            }],
286          ],
287          'dependencies': [
288            'v8_base',
289          ],
290          'include_dirs+': [
291            '../..',
292          ],
293          'sources': [
294            '../../src/snapshot/natives-external.cc',
295            '../../src/snapshot/snapshot-external.cc',
296          ],
297          'actions': [
298            {
299              'action_name': 'run_mksnapshot (external)',
300              'inputs': [
301                '<(mksnapshot_exec)',
302              ],
303              'variables': {
304                'mksnapshot_flags': [
305                  '--log-snapshot-positions',
306                  '--logfile', '<(INTERMEDIATE_DIR)/snapshot.log',
307                ],
308                'conditions': [
309                  ['v8_random_seed!=0', {
310                    'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
311                  }],
312                  ['v8_vector_stores!=0', {
313                    'mksnapshot_flags': ['--vector-stores'],
314                  }],
315                ],
316              },
317              'conditions': [
318                ['want_separate_host_toolset==1', {
319                  'target_conditions': [
320                    ['_toolset=="host"', {
321                      'outputs': [
322                        '<(PRODUCT_DIR)/snapshot_blob_host.bin',
323                      ],
324                      'action': [
325                        '<(mksnapshot_exec)',
326                        '<@(mksnapshot_flags)',
327                        '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob_host.bin',
328                        '<(embed_script)',
329                      ],
330                    }, {
331                      'outputs': [
332                        '<(PRODUCT_DIR)/snapshot_blob.bin',
333                      ],
334                      'action': [
335                        '<(mksnapshot_exec)',
336                        '<@(mksnapshot_flags)',
337                        '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
338                        '<(embed_script)',
339                      ],
340                    }],
341                  ],
342                }, {
343                  'outputs': [
344                    '<(PRODUCT_DIR)/snapshot_blob.bin',
345                  ],
346                  'action': [
347                    '<(mksnapshot_exec)',
348                    '<@(mksnapshot_flags)',
349                    '--startup_blob', '<(PRODUCT_DIR)/snapshot_blob.bin',
350                    '<(embed_script)',
351                  ],
352                }],
353              ],
354            },
355          ],
356        }],
357      ],
358    },
359    {
360      'target_name': 'v8_base',
361      'type': 'static_library',
362      'dependencies': [
363        'v8_libbase',
364      ],
365      'variables': {
366        'optimize': 'max',
367      },
368      'include_dirs+': [
369        '../..',
370        # To be able to find base/trace_event/common/trace_event_common.h
371        '../../..',
372      ],
373      'defines': [
374        # TODO(jochen): Remove again after this is globally turned on.
375        'V8_IMMINENT_DEPRECATION_WARNINGS',
376      ],
377      'sources': [  ### gcmole(all) ###
378        '../../include/v8-debug.h',
379        '../../include/v8-experimental.h',
380        '../../include/v8-platform.h',
381        '../../include/v8-profiler.h',
382        '../../include/v8-testing.h',
383        '../../include/v8-util.h',
384        '../../include/v8-version.h',
385        '../../include/v8.h',
386        '../../include/v8config.h',
387        '../../src/accessors.cc',
388        '../../src/accessors.h',
389        '../../src/address-map.cc',
390        '../../src/address-map.h',
391        '../../src/allocation.cc',
392        '../../src/allocation.h',
393        '../../src/allocation-site-scopes.cc',
394        '../../src/allocation-site-scopes.h',
395        '../../src/api-experimental.cc',
396        '../../src/api-experimental.h',
397        '../../src/api.cc',
398        '../../src/api.h',
399        '../../src/api-natives.cc',
400        '../../src/api-natives.h',
401        '../../src/arguments.cc',
402        '../../src/arguments.h',
403        '../../src/assembler.cc',
404        '../../src/assembler.h',
405        '../../src/assert-scope.h',
406        '../../src/assert-scope.cc',
407        '../../src/ast/ast-expression-rewriter.cc',
408        '../../src/ast/ast-expression-rewriter.h',
409        '../../src/ast/ast-expression-visitor.cc',
410        '../../src/ast/ast-expression-visitor.h',
411        '../../src/ast/ast-literal-reindexer.cc',
412        '../../src/ast/ast-literal-reindexer.h',
413        '../../src/ast/ast-numbering.cc',
414        '../../src/ast/ast-numbering.h',
415        '../../src/ast/ast-value-factory.cc',
416        '../../src/ast/ast-value-factory.h',
417        '../../src/ast/ast.cc',
418        '../../src/ast/ast.h',
419        '../../src/ast/modules.cc',
420        '../../src/ast/modules.h',
421        '../../src/ast/prettyprinter.cc',
422        '../../src/ast/prettyprinter.h',
423        '../../src/ast/scopeinfo.cc',
424        '../../src/ast/scopeinfo.h',
425        '../../src/ast/scopes.cc',
426        '../../src/ast/scopes.h',
427        '../../src/ast/variables.cc',
428        '../../src/ast/variables.h',
429        '../../src/atomic-utils.h',
430        '../../src/background-parsing-task.cc',
431        '../../src/background-parsing-task.h',
432        '../../src/bailout-reason.cc',
433        '../../src/bailout-reason.h',
434        '../../src/basic-block-profiler.cc',
435        '../../src/basic-block-profiler.h',
436        '../../src/bignum-dtoa.cc',
437        '../../src/bignum-dtoa.h',
438        '../../src/bignum.cc',
439        '../../src/bignum.h',
440        '../../src/bit-vector.cc',
441        '../../src/bit-vector.h',
442        '../../src/bootstrapper.cc',
443        '../../src/bootstrapper.h',
444        '../../src/builtins.cc',
445        '../../src/builtins.h',
446        '../../src/cached-powers.cc',
447        '../../src/cached-powers.h',
448        '../../src/cancelable-task.cc',
449        '../../src/cancelable-task.h',
450        '../../src/char-predicates.cc',
451        '../../src/char-predicates-inl.h',
452        '../../src/char-predicates.h',
453        '../../src/checks.h',
454        '../../src/code-factory.cc',
455        '../../src/code-factory.h',
456        '../../src/code-stubs.cc',
457        '../../src/code-stubs.h',
458        '../../src/code-stubs-hydrogen.cc',
459        '../../src/codegen.cc',
460        '../../src/codegen.h',
461        '../../src/compilation-cache.cc',
462        '../../src/compilation-cache.h',
463        '../../src/compilation-dependencies.cc',
464        '../../src/compilation-dependencies.h',
465        '../../src/compilation-statistics.cc',
466        '../../src/compilation-statistics.h',
467        '../../src/compiler/access-builder.cc',
468        '../../src/compiler/access-builder.h',
469        '../../src/compiler/access-info.cc',
470        '../../src/compiler/access-info.h',
471        '../../src/compiler/all-nodes.cc',
472        '../../src/compiler/all-nodes.h',
473        '../../src/compiler/ast-graph-builder.cc',
474        '../../src/compiler/ast-graph-builder.h',
475        '../../src/compiler/ast-loop-assignment-analyzer.cc',
476        '../../src/compiler/ast-loop-assignment-analyzer.h',
477        '../../src/compiler/basic-block-instrumentor.cc',
478        '../../src/compiler/basic-block-instrumentor.h',
479        '../../src/compiler/branch-elimination.cc',
480        '../../src/compiler/branch-elimination.h',
481        '../../src/compiler/bytecode-branch-analysis.cc',
482        '../../src/compiler/bytecode-branch-analysis.h',
483        '../../src/compiler/bytecode-graph-builder.cc',
484        '../../src/compiler/bytecode-graph-builder.h',
485        '../../src/compiler/change-lowering.cc',
486        '../../src/compiler/change-lowering.h',
487        '../../src/compiler/c-linkage.cc',
488        '../../src/compiler/coalesced-live-ranges.cc',
489        '../../src/compiler/coalesced-live-ranges.h',
490        '../../src/compiler/code-generator-impl.h',
491        '../../src/compiler/code-generator.cc',
492        '../../src/compiler/code-generator.h',
493        '../../src/compiler/code-stub-assembler.cc',
494        '../../src/compiler/code-stub-assembler.h',
495        '../../src/compiler/common-node-cache.cc',
496        '../../src/compiler/common-node-cache.h',
497        '../../src/compiler/common-operator-reducer.cc',
498        '../../src/compiler/common-operator-reducer.h',
499        '../../src/compiler/common-operator.cc',
500        '../../src/compiler/common-operator.h',
501        '../../src/compiler/control-builders.cc',
502        '../../src/compiler/control-builders.h',
503        '../../src/compiler/control-equivalence.cc',
504        '../../src/compiler/control-equivalence.h',
505        '../../src/compiler/control-flow-optimizer.cc',
506        '../../src/compiler/control-flow-optimizer.h',
507        '../../src/compiler/dead-code-elimination.cc',
508        '../../src/compiler/dead-code-elimination.h',
509        '../../src/compiler/diamond.h',
510        '../../src/compiler/escape-analysis.cc',
511        '../../src/compiler/escape-analysis.h',
512        "../../src/compiler/escape-analysis-reducer.cc",
513        "../../src/compiler/escape-analysis-reducer.h",
514        '../../src/compiler/fast-accessor-assembler.cc',
515        '../../src/compiler/fast-accessor-assembler.h',
516        '../../src/compiler/frame.cc',
517        '../../src/compiler/frame.h',
518        '../../src/compiler/frame-elider.cc',
519        '../../src/compiler/frame-elider.h',
520        "../../src/compiler/frame-states.cc",
521        "../../src/compiler/frame-states.h",
522        '../../src/compiler/gap-resolver.cc',
523        '../../src/compiler/gap-resolver.h',
524        '../../src/compiler/graph-reducer.cc',
525        '../../src/compiler/graph-reducer.h',
526        '../../src/compiler/graph-replay.cc',
527        '../../src/compiler/graph-replay.h',
528        '../../src/compiler/graph-trimmer.cc',
529        '../../src/compiler/graph-trimmer.h',
530        '../../src/compiler/graph-visualizer.cc',
531        '../../src/compiler/graph-visualizer.h',
532        '../../src/compiler/graph.cc',
533        '../../src/compiler/graph.h',
534        '../../src/compiler/greedy-allocator.cc',
535        '../../src/compiler/greedy-allocator.h',
536        '../../src/compiler/instruction-codes.h',
537        '../../src/compiler/instruction-selector-impl.h',
538        '../../src/compiler/instruction-selector.cc',
539        '../../src/compiler/instruction-selector.h',
540        '../../src/compiler/instruction-scheduler.cc',
541        '../../src/compiler/instruction-scheduler.h',
542        '../../src/compiler/instruction.cc',
543        '../../src/compiler/instruction.h',
544        '../../src/compiler/interpreter-assembler.cc',
545        '../../src/compiler/interpreter-assembler.h',
546        '../../src/compiler/js-builtin-reducer.cc',
547        '../../src/compiler/js-builtin-reducer.h',
548        '../../src/compiler/js-call-reducer.cc',
549        '../../src/compiler/js-call-reducer.h',
550        '../../src/compiler/js-context-relaxation.cc',
551        '../../src/compiler/js-context-relaxation.h',
552        '../../src/compiler/js-context-specialization.cc',
553        '../../src/compiler/js-context-specialization.h',
554        '../../src/compiler/js-frame-specialization.cc',
555        '../../src/compiler/js-frame-specialization.h',
556        '../../src/compiler/js-generic-lowering.cc',
557        '../../src/compiler/js-generic-lowering.h',
558        '../../src/compiler/js-global-object-specialization.cc',
559        '../../src/compiler/js-global-object-specialization.h',
560        '../../src/compiler/js-graph.cc',
561        '../../src/compiler/js-graph.h',
562        '../../src/compiler/js-inlining.cc',
563        '../../src/compiler/js-inlining.h',
564        '../../src/compiler/js-inlining-heuristic.cc',
565        '../../src/compiler/js-inlining-heuristic.h',
566        '../../src/compiler/js-intrinsic-lowering.cc',
567        '../../src/compiler/js-intrinsic-lowering.h',
568        '../../src/compiler/js-native-context-specialization.cc',
569        '../../src/compiler/js-native-context-specialization.h',
570        '../../src/compiler/js-operator.cc',
571        '../../src/compiler/js-operator.h',
572        '../../src/compiler/js-typed-lowering.cc',
573        '../../src/compiler/js-typed-lowering.h',
574        '../../src/compiler/jump-threading.cc',
575        '../../src/compiler/jump-threading.h',
576        '../../src/compiler/linkage.cc',
577        '../../src/compiler/linkage.h',
578        '../../src/compiler/liveness-analyzer.cc',
579        '../../src/compiler/liveness-analyzer.h',
580        '../../src/compiler/live-range-separator.cc',
581        '../../src/compiler/live-range-separator.h',
582        '../../src/compiler/load-elimination.cc',
583        '../../src/compiler/load-elimination.h',
584        '../../src/compiler/loop-analysis.cc',
585        '../../src/compiler/loop-analysis.h',
586        '../../src/compiler/loop-peeling.cc',
587        '../../src/compiler/loop-peeling.h',
588        '../../src/compiler/machine-operator-reducer.cc',
589        '../../src/compiler/machine-operator-reducer.h',
590        '../../src/compiler/machine-operator.cc',
591        '../../src/compiler/machine-operator.h',
592        '../../src/compiler/move-optimizer.cc',
593        '../../src/compiler/move-optimizer.h',
594        '../../src/compiler/node-aux-data.h',
595        '../../src/compiler/node-cache.cc',
596        '../../src/compiler/node-cache.h',
597        '../../src/compiler/node-marker.cc',
598        '../../src/compiler/node-marker.h',
599        '../../src/compiler/node-matchers.cc',
600        '../../src/compiler/node-matchers.h',
601        '../../src/compiler/node-properties.cc',
602        '../../src/compiler/node-properties.h',
603        '../../src/compiler/node.cc',
604        '../../src/compiler/node.h',
605        '../../src/compiler/opcodes.cc',
606        '../../src/compiler/opcodes.h',
607        '../../src/compiler/operator-properties.cc',
608        '../../src/compiler/operator-properties.h',
609        '../../src/compiler/operator.cc',
610        '../../src/compiler/operator.h',
611        '../../src/compiler/osr.cc',
612        '../../src/compiler/osr.h',
613        '../../src/compiler/pipeline.cc',
614        '../../src/compiler/pipeline.h',
615        '../../src/compiler/pipeline-statistics.cc',
616        '../../src/compiler/pipeline-statistics.h',
617        '../../src/compiler/raw-machine-assembler.cc',
618        '../../src/compiler/raw-machine-assembler.h',
619        '../../src/compiler/register-allocator.cc',
620        '../../src/compiler/register-allocator.h',
621        '../../src/compiler/register-allocator-verifier.cc',
622        '../../src/compiler/register-allocator-verifier.h',
623        '../../src/compiler/representation-change.cc',
624        '../../src/compiler/representation-change.h',
625        '../../src/compiler/schedule.cc',
626        '../../src/compiler/schedule.h',
627        '../../src/compiler/scheduler.cc',
628        '../../src/compiler/scheduler.h',
629        '../../src/compiler/select-lowering.cc',
630        '../../src/compiler/select-lowering.h',
631        '../../src/compiler/simplified-lowering.cc',
632        '../../src/compiler/simplified-lowering.h',
633        '../../src/compiler/simplified-operator-reducer.cc',
634        '../../src/compiler/simplified-operator-reducer.h',
635        '../../src/compiler/simplified-operator.cc',
636        '../../src/compiler/simplified-operator.h',
637        '../../src/compiler/source-position.cc',
638        '../../src/compiler/source-position.h',
639        '../../src/compiler/state-values-utils.cc',
640        '../../src/compiler/state-values-utils.h',
641        '../../src/compiler/tail-call-optimization.cc',
642        '../../src/compiler/tail-call-optimization.h',
643        '../../src/compiler/type-hint-analyzer.cc',
644        '../../src/compiler/type-hint-analyzer.h',
645        '../../src/compiler/type-hints.cc',
646        '../../src/compiler/type-hints.h',
647        '../../src/compiler/typer.cc',
648        '../../src/compiler/typer.h',
649        '../../src/compiler/value-numbering-reducer.cc',
650        '../../src/compiler/value-numbering-reducer.h',
651        '../../src/compiler/verifier.cc',
652        '../../src/compiler/verifier.h',
653        '../../src/compiler/wasm-compiler.cc',
654        '../../src/compiler/wasm-compiler.h',
655        '../../src/compiler/wasm-linkage.cc',
656        '../../src/compiler/zone-pool.cc',
657        '../../src/compiler/zone-pool.h',
658        '../../src/compiler.cc',
659        '../../src/compiler.h',
660        '../../src/context-measure.cc',
661        '../../src/context-measure.h',
662        '../../src/contexts-inl.h',
663        '../../src/contexts.cc',
664        '../../src/contexts.h',
665        '../../src/conversions-inl.h',
666        '../../src/conversions.cc',
667        '../../src/conversions.h',
668        '../../src/counters.cc',
669        '../../src/counters.h',
670        '../../src/crankshaft/hydrogen-alias-analysis.h',
671        '../../src/crankshaft/hydrogen-bce.cc',
672        '../../src/crankshaft/hydrogen-bce.h',
673        '../../src/crankshaft/hydrogen-bch.cc',
674        '../../src/crankshaft/hydrogen-bch.h',
675        '../../src/crankshaft/hydrogen-canonicalize.cc',
676        '../../src/crankshaft/hydrogen-canonicalize.h',
677        '../../src/crankshaft/hydrogen-check-elimination.cc',
678        '../../src/crankshaft/hydrogen-check-elimination.h',
679        '../../src/crankshaft/hydrogen-dce.cc',
680        '../../src/crankshaft/hydrogen-dce.h',
681        '../../src/crankshaft/hydrogen-dehoist.cc',
682        '../../src/crankshaft/hydrogen-dehoist.h',
683        '../../src/crankshaft/hydrogen-environment-liveness.cc',
684        '../../src/crankshaft/hydrogen-environment-liveness.h',
685        '../../src/crankshaft/hydrogen-escape-analysis.cc',
686        '../../src/crankshaft/hydrogen-escape-analysis.h',
687        '../../src/crankshaft/hydrogen-flow-engine.h',
688        '../../src/crankshaft/hydrogen-gvn.cc',
689        '../../src/crankshaft/hydrogen-gvn.h',
690        '../../src/crankshaft/hydrogen-infer-representation.cc',
691        '../../src/crankshaft/hydrogen-infer-representation.h',
692        '../../src/crankshaft/hydrogen-infer-types.cc',
693        '../../src/crankshaft/hydrogen-infer-types.h',
694        '../../src/crankshaft/hydrogen-instructions.cc',
695        '../../src/crankshaft/hydrogen-instructions.h',
696        '../../src/crankshaft/hydrogen-load-elimination.cc',
697        '../../src/crankshaft/hydrogen-load-elimination.h',
698        '../../src/crankshaft/hydrogen-mark-deoptimize.cc',
699        '../../src/crankshaft/hydrogen-mark-deoptimize.h',
700        '../../src/crankshaft/hydrogen-mark-unreachable.cc',
701        '../../src/crankshaft/hydrogen-mark-unreachable.h',
702        '../../src/crankshaft/hydrogen-osr.cc',
703        '../../src/crankshaft/hydrogen-osr.h',
704        '../../src/crankshaft/hydrogen-range-analysis.cc',
705        '../../src/crankshaft/hydrogen-range-analysis.h',
706        '../../src/crankshaft/hydrogen-redundant-phi.cc',
707        '../../src/crankshaft/hydrogen-redundant-phi.h',
708        '../../src/crankshaft/hydrogen-removable-simulates.cc',
709        '../../src/crankshaft/hydrogen-removable-simulates.h',
710        '../../src/crankshaft/hydrogen-representation-changes.cc',
711        '../../src/crankshaft/hydrogen-representation-changes.h',
712        '../../src/crankshaft/hydrogen-sce.cc',
713        '../../src/crankshaft/hydrogen-sce.h',
714        '../../src/crankshaft/hydrogen-store-elimination.cc',
715        '../../src/crankshaft/hydrogen-store-elimination.h',
716        '../../src/crankshaft/hydrogen-types.cc',
717        '../../src/crankshaft/hydrogen-types.h',
718        '../../src/crankshaft/hydrogen-uint32-analysis.cc',
719        '../../src/crankshaft/hydrogen-uint32-analysis.h',
720        '../../src/crankshaft/hydrogen.cc',
721        '../../src/crankshaft/hydrogen.h',
722        '../../src/crankshaft/lithium-allocator-inl.h',
723        '../../src/crankshaft/lithium-allocator.cc',
724        '../../src/crankshaft/lithium-allocator.h',
725        '../../src/crankshaft/lithium-codegen.cc',
726        '../../src/crankshaft/lithium-codegen.h',
727        '../../src/crankshaft/lithium.cc',
728        '../../src/crankshaft/lithium.h',
729        '../../src/crankshaft/lithium-inl.h',
730        '../../src/crankshaft/typing.cc',
731        '../../src/crankshaft/typing.h',
732        '../../src/crankshaft/unique.h',
733        '../../src/date.cc',
734        '../../src/date.h',
735        '../../src/dateparser-inl.h',
736        '../../src/dateparser.cc',
737        '../../src/dateparser.h',
738        '../../src/debug/debug-evaluate.cc',
739        '../../src/debug/debug-evaluate.h',
740        '../../src/debug/debug-frames.cc',
741        '../../src/debug/debug-frames.h',
742        '../../src/debug/debug-scopes.cc',
743        '../../src/debug/debug-scopes.h',
744        '../../src/debug/debug.cc',
745        '../../src/debug/debug.h',
746        '../../src/debug/liveedit.cc',
747        '../../src/debug/liveedit.h',
748        '../../src/deoptimizer.cc',
749        '../../src/deoptimizer.h',
750        '../../src/disasm.h',
751        '../../src/disassembler.cc',
752        '../../src/disassembler.h',
753        '../../src/diy-fp.cc',
754        '../../src/diy-fp.h',
755        '../../src/double.h',
756        '../../src/dtoa.cc',
757        '../../src/dtoa.h',
758        '../../src/effects.h',
759        '../../src/elements-kind.cc',
760        '../../src/elements-kind.h',
761        '../../src/elements.cc',
762        '../../src/elements.h',
763        '../../src/execution.cc',
764        '../../src/execution.h',
765        '../../src/extensions/externalize-string-extension.cc',
766        '../../src/extensions/externalize-string-extension.h',
767        '../../src/extensions/free-buffer-extension.cc',
768        '../../src/extensions/free-buffer-extension.h',
769        '../../src/extensions/gc-extension.cc',
770        '../../src/extensions/gc-extension.h',
771        '../../src/extensions/statistics-extension.cc',
772        '../../src/extensions/statistics-extension.h',
773        '../../src/extensions/trigger-failure-extension.cc',
774        '../../src/extensions/trigger-failure-extension.h',
775        '../../src/factory.cc',
776        '../../src/factory.h',
777        '../../src/fast-dtoa.cc',
778        '../../src/fast-dtoa.h',
779        '../../src/field-index.h',
780        '../../src/field-index-inl.h',
781        '../../src/fixed-dtoa.cc',
782        '../../src/fixed-dtoa.h',
783        '../../src/flag-definitions.h',
784        '../../src/flags.cc',
785        '../../src/flags.h',
786        '../../src/frames-inl.h',
787        '../../src/frames.cc',
788        '../../src/frames.h',
789        '../../src/full-codegen/full-codegen.cc',
790        '../../src/full-codegen/full-codegen.h',
791        '../../src/futex-emulation.cc',
792        '../../src/futex-emulation.h',
793        '../../src/gdb-jit.cc',
794        '../../src/gdb-jit.h',
795        '../../src/global-handles.cc',
796        '../../src/global-handles.h',
797        '../../src/globals.h',
798        '../../src/handles-inl.h',
799        '../../src/handles.cc',
800        '../../src/handles.h',
801        '../../src/hashmap.h',
802        '../../src/heap/array-buffer-tracker.cc',
803        '../../src/heap/array-buffer-tracker.h',
804        '../../src/heap/memory-reducer.cc',
805        '../../src/heap/memory-reducer.h',
806        '../../src/heap/gc-idle-time-handler.cc',
807        '../../src/heap/gc-idle-time-handler.h',
808        '../../src/heap/gc-tracer.cc',
809        '../../src/heap/gc-tracer.h',
810        '../../src/heap/heap-inl.h',
811        '../../src/heap/heap.cc',
812        '../../src/heap/heap.h',
813        '../../src/heap/incremental-marking-inl.h',
814        '../../src/heap/incremental-marking-job.cc',
815        '../../src/heap/incremental-marking-job.h',
816        '../../src/heap/incremental-marking.cc',
817        '../../src/heap/incremental-marking.h',
818        '../../src/heap/mark-compact-inl.h',
819        '../../src/heap/mark-compact.cc',
820        '../../src/heap/mark-compact.h',
821        '../../src/heap/object-stats.cc',
822        '../../src/heap/object-stats.h',
823        '../../src/heap/objects-visiting-inl.h',
824        '../../src/heap/objects-visiting.cc',
825        '../../src/heap/objects-visiting.h',
826        '../../src/heap/scavenge-job.h',
827        '../../src/heap/scavenge-job.cc',
828        '../../src/heap/scavenger-inl.h',
829        '../../src/heap/scavenger.cc',
830        '../../src/heap/scavenger.h',
831        '../../src/heap/slots-buffer.cc',
832        '../../src/heap/slots-buffer.h',
833        '../../src/heap/spaces-inl.h',
834        '../../src/heap/spaces.cc',
835        '../../src/heap/spaces.h',
836        '../../src/heap/store-buffer-inl.h',
837        '../../src/heap/store-buffer.cc',
838        '../../src/heap/store-buffer.h',
839        '../../src/i18n.cc',
840        '../../src/i18n.h',
841        '../../src/icu_util.cc',
842        '../../src/icu_util.h',
843        '../../src/ic/access-compiler.cc',
844        '../../src/ic/access-compiler.h',
845        '../../src/ic/call-optimization.cc',
846        '../../src/ic/call-optimization.h',
847        '../../src/ic/handler-compiler.cc',
848        '../../src/ic/handler-compiler.h',
849        '../../src/ic/ic-inl.h',
850        '../../src/ic/ic-state.cc',
851        '../../src/ic/ic-state.h',
852        '../../src/ic/ic.cc',
853        '../../src/ic/ic.h',
854        '../../src/ic/ic-compiler.cc',
855        '../../src/ic/ic-compiler.h',
856        '../../src/identity-map.cc',
857        '../../src/identity-map.h',
858        '../../src/interface-descriptors.cc',
859        '../../src/interface-descriptors.h',
860        '../../src/interpreter/bytecodes.cc',
861        '../../src/interpreter/bytecodes.h',
862        '../../src/interpreter/bytecode-array-builder.cc',
863        '../../src/interpreter/bytecode-array-builder.h',
864        '../../src/interpreter/bytecode-array-iterator.cc',
865        '../../src/interpreter/bytecode-array-iterator.h',
866        '../../src/interpreter/bytecode-register-allocator.cc',
867        '../../src/interpreter/bytecode-register-allocator.h',
868        '../../src/interpreter/bytecode-generator.cc',
869        '../../src/interpreter/bytecode-generator.h',
870        '../../src/interpreter/bytecode-traits.h',
871        '../../src/interpreter/constant-array-builder.cc',
872        '../../src/interpreter/constant-array-builder.h',
873        '../../src/interpreter/control-flow-builders.cc',
874        '../../src/interpreter/control-flow-builders.h',
875        '../../src/interpreter/interpreter.cc',
876        '../../src/interpreter/interpreter.h',
877        '../../src/isolate-inl.h',
878        '../../src/isolate.cc',
879        '../../src/isolate.h',
880        '../../src/json-stringifier.h',
881        '../../src/key-accumulator.h',
882        '../../src/key-accumulator.cc',
883        '../../src/layout-descriptor-inl.h',
884        '../../src/layout-descriptor.cc',
885        '../../src/layout-descriptor.h',
886        '../../src/list-inl.h',
887        '../../src/list.h',
888        '../../src/locked-queue-inl.h',
889        '../../src/locked-queue.h',
890        '../../src/log-inl.h',
891        '../../src/log-utils.cc',
892        '../../src/log-utils.h',
893        '../../src/log.cc',
894        '../../src/log.h',
895        '../../src/lookup.cc',
896        '../../src/lookup.h',
897        '../../src/macro-assembler.h',
898        '../../src/machine-type.cc',
899        '../../src/machine-type.h',
900        '../../src/messages.cc',
901        '../../src/messages.h',
902        '../../src/msan.h',
903        '../../src/objects-body-descriptors-inl.h',
904        '../../src/objects-body-descriptors.h',
905        '../../src/objects-debug.cc',
906        '../../src/objects-inl.h',
907        '../../src/objects-printer.cc',
908        '../../src/objects.cc',
909        '../../src/objects.h',
910        '../../src/optimizing-compile-dispatcher.cc',
911        '../../src/optimizing-compile-dispatcher.h',
912        '../../src/ostreams.cc',
913        '../../src/ostreams.h',
914        '../../src/parsing/expression-classifier.h',
915        '../../src/parsing/func-name-inferrer.cc',
916        '../../src/parsing/func-name-inferrer.h',
917        '../../src/parsing/json-parser.h',
918        '../../src/parsing/parameter-initializer-rewriter.cc',
919        '../../src/parsing/parameter-initializer-rewriter.h',
920        '../../src/parsing/parser-base.h',
921        '../../src/parsing/parser.cc',
922        '../../src/parsing/parser.h',
923        '../../src/parsing/pattern-rewriter.cc',
924        '../../src/parsing/preparse-data-format.h',
925        '../../src/parsing/preparse-data.cc',
926        '../../src/parsing/preparse-data.h',
927        '../../src/parsing/preparser.cc',
928        '../../src/parsing/preparser.h',
929        '../../src/parsing/rewriter.cc',
930        '../../src/parsing/rewriter.h',
931        '../../src/parsing/scanner-character-streams.cc',
932        '../../src/parsing/scanner-character-streams.h',
933        '../../src/parsing/scanner.cc',
934        '../../src/parsing/scanner.h',
935        '../../src/parsing/token.cc',
936        '../../src/parsing/token.h',
937        '../../src/pending-compilation-error-handler.cc',
938        '../../src/pending-compilation-error-handler.h',
939        '../../src/profiler/allocation-tracker.cc',
940        '../../src/profiler/allocation-tracker.h',
941        '../../src/profiler/circular-queue-inl.h',
942        '../../src/profiler/circular-queue.h',
943        '../../src/profiler/cpu-profiler-inl.h',
944        '../../src/profiler/cpu-profiler.cc',
945        '../../src/profiler/cpu-profiler.h',
946        '../../src/profiler/heap-profiler.cc',
947        '../../src/profiler/heap-profiler.h',
948        '../../src/profiler/heap-snapshot-generator-inl.h',
949        '../../src/profiler/heap-snapshot-generator.cc',
950        '../../src/profiler/heap-snapshot-generator.h',
951        '../../src/profiler/profile-generator-inl.h',
952        '../../src/profiler/profile-generator.cc',
953        '../../src/profiler/profile-generator.h',
954        '../../src/profiler/sampler.cc',
955        '../../src/profiler/sampler.h',
956        '../../src/profiler/strings-storage.cc',
957        '../../src/profiler/strings-storage.h',
958        '../../src/profiler/unbound-queue-inl.h',
959        '../../src/profiler/unbound-queue.h',
960        '../../src/property-descriptor.cc',
961        '../../src/property-descriptor.h',
962        '../../src/property-details.h',
963        '../../src/property.cc',
964        '../../src/property.h',
965        '../../src/prototype.h',
966        '../../src/regexp/bytecodes-irregexp.h',
967        '../../src/regexp/interpreter-irregexp.cc',
968        '../../src/regexp/interpreter-irregexp.h',
969        '../../src/regexp/jsregexp-inl.h',
970        '../../src/regexp/jsregexp.cc',
971        '../../src/regexp/jsregexp.h',
972        '../../src/regexp/regexp-ast.cc',
973        '../../src/regexp/regexp-ast.h',
974        '../../src/regexp/regexp-macro-assembler-irregexp-inl.h',
975        '../../src/regexp/regexp-macro-assembler-irregexp.cc',
976        '../../src/regexp/regexp-macro-assembler-irregexp.h',
977        '../../src/regexp/regexp-macro-assembler-tracer.cc',
978        '../../src/regexp/regexp-macro-assembler-tracer.h',
979        '../../src/regexp/regexp-macro-assembler.cc',
980        '../../src/regexp/regexp-macro-assembler.h',
981        '../../src/regexp/regexp-parser.cc',
982        '../../src/regexp/regexp-parser.h',
983        '../../src/regexp/regexp-stack.cc',
984        '../../src/regexp/regexp-stack.h',
985        '../../src/register-configuration.cc',
986        '../../src/register-configuration.h',
987        '../../src/runtime-profiler.cc',
988        '../../src/runtime-profiler.h',
989        '../../src/runtime/runtime-array.cc',
990        '../../src/runtime/runtime-atomics.cc',
991        '../../src/runtime/runtime-classes.cc',
992        '../../src/runtime/runtime-collections.cc',
993        '../../src/runtime/runtime-compiler.cc',
994        '../../src/runtime/runtime-date.cc',
995        '../../src/runtime/runtime-debug.cc',
996        '../../src/runtime/runtime-forin.cc',
997        '../../src/runtime/runtime-function.cc',
998        '../../src/runtime/runtime-futex.cc',
999        '../../src/runtime/runtime-generator.cc',
1000        '../../src/runtime/runtime-i18n.cc',
1001        '../../src/runtime/runtime-internal.cc',
1002        '../../src/runtime/runtime-interpreter.cc',
1003        '../../src/runtime/runtime-json.cc',
1004        '../../src/runtime/runtime-literals.cc',
1005        '../../src/runtime/runtime-liveedit.cc',
1006        '../../src/runtime/runtime-maths.cc',
1007        '../../src/runtime/runtime-numbers.cc',
1008        '../../src/runtime/runtime-object.cc',
1009        '../../src/runtime/runtime-observe.cc',
1010        '../../src/runtime/runtime-operators.cc',
1011        '../../src/runtime/runtime-proxy.cc',
1012        '../../src/runtime/runtime-regexp.cc',
1013        '../../src/runtime/runtime-scopes.cc',
1014        '../../src/runtime/runtime-simd.cc',
1015        '../../src/runtime/runtime-strings.cc',
1016        '../../src/runtime/runtime-symbol.cc',
1017        '../../src/runtime/runtime-test.cc',
1018        '../../src/runtime/runtime-typedarray.cc',
1019        '../../src/runtime/runtime-uri.cc',
1020        '../../src/runtime/runtime-utils.h',
1021        '../../src/runtime/runtime.cc',
1022        '../../src/runtime/runtime.h',
1023        '../../src/safepoint-table.cc',
1024        '../../src/safepoint-table.h',
1025        '../../src/signature.h',
1026        '../../src/simulator.h',
1027        '../../src/small-pointer-list.h',
1028        '../../src/snapshot/natives.h',
1029        '../../src/snapshot/natives-common.cc',
1030        '../../src/snapshot/serialize.cc',
1031        '../../src/snapshot/serialize.h',
1032        '../../src/snapshot/snapshot.h',
1033        '../../src/snapshot/snapshot-common.cc',
1034        '../../src/snapshot/snapshot-source-sink.cc',
1035        '../../src/snapshot/snapshot-source-sink.h',
1036        '../../src/splay-tree.h',
1037        '../../src/splay-tree-inl.h',
1038        '../../src/startup-data-util.cc',
1039        '../../src/startup-data-util.h',
1040        '../../src/string-builder.cc',
1041        '../../src/string-builder.h',
1042        '../../src/string-search.h',
1043        '../../src/string-stream.cc',
1044        '../../src/string-stream.h',
1045        '../../src/strtod.cc',
1046        '../../src/strtod.h',
1047        '../../src/ic/stub-cache.cc',
1048        '../../src/ic/stub-cache.h',
1049        '../../src/tracing/trace-event.cc',
1050        '../../src/tracing/trace-event.h',
1051        '../../src/transitions-inl.h',
1052        '../../src/transitions.cc',
1053        '../../src/transitions.h',
1054        '../../src/type-cache.cc',
1055        '../../src/type-cache.h',
1056        '../../src/type-feedback-vector-inl.h',
1057        '../../src/type-feedback-vector.cc',
1058        '../../src/type-feedback-vector.h',
1059        '../../src/type-info.cc',
1060        '../../src/type-info.h',
1061        '../../src/types-inl.h',
1062        '../../src/types.cc',
1063        '../../src/types.h',
1064        '../../src/typing-asm.cc',
1065        '../../src/typing-asm.h',
1066        '../../src/typing-reset.cc',
1067        '../../src/typing-reset.h',
1068        '../../src/unicode-inl.h',
1069        '../../src/unicode.cc',
1070        '../../src/unicode.h',
1071        '../../src/unicode-cache-inl.h',
1072        '../../src/unicode-cache.h',
1073        '../../src/unicode-decoder.cc',
1074        '../../src/unicode-decoder.h',
1075        '../../src/utils.cc',
1076        '../../src/utils.h',
1077        '../../src/v8.cc',
1078        '../../src/v8.h',
1079        '../../src/v8memory.h',
1080        '../../src/v8threads.cc',
1081        '../../src/v8threads.h',
1082        '../../src/vector.h',
1083        '../../src/version.cc',
1084        '../../src/version.h',
1085        '../../src/vm-state-inl.h',
1086        '../../src/vm-state.h',
1087        '../../src/wasm/asm-wasm-builder.cc',
1088        '../../src/wasm/asm-wasm-builder.h',
1089        '../../src/wasm/ast-decoder.cc',
1090        '../../src/wasm/ast-decoder.h',
1091        '../../src/wasm/decoder.h',
1092        '../../src/wasm/encoder.cc',
1093        '../../src/wasm/encoder.h',
1094        '../../src/wasm/module-decoder.cc',
1095        '../../src/wasm/module-decoder.h',
1096        '../../src/wasm/wasm-js.cc',
1097        '../../src/wasm/wasm-js.h',
1098        '../../src/wasm/wasm-macro-gen.h',
1099        '../../src/wasm/wasm-module.cc',
1100        '../../src/wasm/wasm-module.h',
1101        '../../src/wasm/wasm-opcodes.cc',
1102        '../../src/wasm/wasm-opcodes.h',
1103        '../../src/wasm/wasm-result.cc',
1104        '../../src/wasm/wasm-result.h',
1105        '../../src/zone.cc',
1106        '../../src/zone.h',
1107        '../../src/zone-allocator.h',
1108        '../../src/zone-containers.h',
1109        '../../src/third_party/fdlibm/fdlibm.cc',
1110        '../../src/third_party/fdlibm/fdlibm.h',
1111      ],
1112      'conditions': [
1113        ['want_separate_host_toolset==1', {
1114          'toolsets': ['host', 'target'],
1115        }, {
1116          'toolsets': ['target'],
1117        }],
1118        ['v8_target_arch=="arm"', {
1119          'sources': [  ### gcmole(arch:arm) ###
1120            '../../src/arm/assembler-arm-inl.h',
1121            '../../src/arm/assembler-arm.cc',
1122            '../../src/arm/assembler-arm.h',
1123            '../../src/arm/builtins-arm.cc',
1124            '../../src/arm/code-stubs-arm.cc',
1125            '../../src/arm/code-stubs-arm.h',
1126            '../../src/arm/codegen-arm.cc',
1127            '../../src/arm/codegen-arm.h',
1128            '../../src/arm/constants-arm.h',
1129            '../../src/arm/constants-arm.cc',
1130            '../../src/arm/cpu-arm.cc',
1131            '../../src/arm/deoptimizer-arm.cc',
1132            '../../src/arm/disasm-arm.cc',
1133            '../../src/arm/frames-arm.cc',
1134            '../../src/arm/frames-arm.h',
1135            '../../src/arm/interface-descriptors-arm.cc',
1136            '../../src/arm/interface-descriptors-arm.h',
1137            '../../src/arm/macro-assembler-arm.cc',
1138            '../../src/arm/macro-assembler-arm.h',
1139            '../../src/arm/simulator-arm.cc',
1140            '../../src/arm/simulator-arm.h',
1141            '../../src/compiler/arm/code-generator-arm.cc',
1142            '../../src/compiler/arm/instruction-codes-arm.h',
1143            '../../src/compiler/arm/instruction-scheduler-arm.cc',
1144            '../../src/compiler/arm/instruction-selector-arm.cc',
1145            '../../src/crankshaft/arm/lithium-arm.cc',
1146            '../../src/crankshaft/arm/lithium-arm.h',
1147            '../../src/crankshaft/arm/lithium-codegen-arm.cc',
1148            '../../src/crankshaft/arm/lithium-codegen-arm.h',
1149            '../../src/crankshaft/arm/lithium-gap-resolver-arm.cc',
1150            '../../src/crankshaft/arm/lithium-gap-resolver-arm.h',
1151            '../../src/debug/arm/debug-arm.cc',
1152            '../../src/full-codegen/arm/full-codegen-arm.cc',
1153            '../../src/ic/arm/access-compiler-arm.cc',
1154            '../../src/ic/arm/handler-compiler-arm.cc',
1155            '../../src/ic/arm/ic-arm.cc',
1156            '../../src/ic/arm/ic-compiler-arm.cc',
1157            '../../src/ic/arm/stub-cache-arm.cc',
1158            '../../src/regexp/arm/regexp-macro-assembler-arm.cc',
1159            '../../src/regexp/arm/regexp-macro-assembler-arm.h',
1160          ],
1161        }],
1162        ['v8_target_arch=="arm64"', {
1163          'sources': [  ### gcmole(arch:arm64) ###
1164            '../../src/arm64/assembler-arm64.cc',
1165            '../../src/arm64/assembler-arm64.h',
1166            '../../src/arm64/assembler-arm64-inl.h',
1167            '../../src/arm64/builtins-arm64.cc',
1168            '../../src/arm64/codegen-arm64.cc',
1169            '../../src/arm64/codegen-arm64.h',
1170            '../../src/arm64/code-stubs-arm64.cc',
1171            '../../src/arm64/code-stubs-arm64.h',
1172            '../../src/arm64/constants-arm64.h',
1173            '../../src/arm64/cpu-arm64.cc',
1174            '../../src/arm64/decoder-arm64.cc',
1175            '../../src/arm64/decoder-arm64.h',
1176            '../../src/arm64/decoder-arm64-inl.h',
1177            '../../src/arm64/deoptimizer-arm64.cc',
1178            '../../src/arm64/disasm-arm64.cc',
1179            '../../src/arm64/disasm-arm64.h',
1180            '../../src/arm64/frames-arm64.cc',
1181            '../../src/arm64/frames-arm64.h',
1182            '../../src/arm64/instructions-arm64.cc',
1183            '../../src/arm64/instructions-arm64.h',
1184            '../../src/arm64/instrument-arm64.cc',
1185            '../../src/arm64/instrument-arm64.h',
1186            '../../src/arm64/interface-descriptors-arm64.cc',
1187            '../../src/arm64/interface-descriptors-arm64.h',
1188            '../../src/arm64/macro-assembler-arm64.cc',
1189            '../../src/arm64/macro-assembler-arm64.h',
1190            '../../src/arm64/macro-assembler-arm64-inl.h',
1191            '../../src/arm64/simulator-arm64.cc',
1192            '../../src/arm64/simulator-arm64.h',
1193            '../../src/arm64/utils-arm64.cc',
1194            '../../src/arm64/utils-arm64.h',
1195            '../../src/compiler/arm64/code-generator-arm64.cc',
1196            '../../src/compiler/arm64/instruction-codes-arm64.h',
1197            '../../src/compiler/arm64/instruction-scheduler-arm64.cc',
1198            '../../src/compiler/arm64/instruction-selector-arm64.cc',
1199            '../../src/crankshaft/arm64/delayed-masm-arm64.cc',
1200            '../../src/crankshaft/arm64/delayed-masm-arm64.h',
1201            '../../src/crankshaft/arm64/delayed-masm-arm64-inl.h',
1202            '../../src/crankshaft/arm64/lithium-arm64.cc',
1203            '../../src/crankshaft/arm64/lithium-arm64.h',
1204            '../../src/crankshaft/arm64/lithium-codegen-arm64.cc',
1205            '../../src/crankshaft/arm64/lithium-codegen-arm64.h',
1206            '../../src/crankshaft/arm64/lithium-gap-resolver-arm64.cc',
1207            '../../src/crankshaft/arm64/lithium-gap-resolver-arm64.h',
1208            '../../src/debug/arm64/debug-arm64.cc',
1209            '../../src/full-codegen/arm64/full-codegen-arm64.cc',
1210            '../../src/ic/arm64/access-compiler-arm64.cc',
1211            '../../src/ic/arm64/handler-compiler-arm64.cc',
1212            '../../src/ic/arm64/ic-arm64.cc',
1213            '../../src/ic/arm64/ic-compiler-arm64.cc',
1214            '../../src/ic/arm64/stub-cache-arm64.cc',
1215            '../../src/regexp/arm64/regexp-macro-assembler-arm64.cc',
1216            '../../src/regexp/arm64/regexp-macro-assembler-arm64.h',
1217          ],
1218        }],
1219        ['v8_target_arch=="ia32"', {
1220          'sources': [  ### gcmole(arch:ia32) ###
1221            '../../src/ia32/assembler-ia32-inl.h',
1222            '../../src/ia32/assembler-ia32.cc',
1223            '../../src/ia32/assembler-ia32.h',
1224            '../../src/ia32/builtins-ia32.cc',
1225            '../../src/ia32/code-stubs-ia32.cc',
1226            '../../src/ia32/code-stubs-ia32.h',
1227            '../../src/ia32/codegen-ia32.cc',
1228            '../../src/ia32/codegen-ia32.h',
1229            '../../src/ia32/cpu-ia32.cc',
1230            '../../src/ia32/deoptimizer-ia32.cc',
1231            '../../src/ia32/disasm-ia32.cc',
1232            '../../src/ia32/frames-ia32.cc',
1233            '../../src/ia32/frames-ia32.h',
1234            '../../src/ia32/interface-descriptors-ia32.cc',
1235            '../../src/ia32/macro-assembler-ia32.cc',
1236            '../../src/ia32/macro-assembler-ia32.h',
1237            '../../src/compiler/ia32/code-generator-ia32.cc',
1238            '../../src/compiler/ia32/instruction-codes-ia32.h',
1239            '../../src/compiler/ia32/instruction-scheduler-ia32.cc',
1240            '../../src/compiler/ia32/instruction-selector-ia32.cc',
1241            '../../src/crankshaft/ia32/lithium-codegen-ia32.cc',
1242            '../../src/crankshaft/ia32/lithium-codegen-ia32.h',
1243            '../../src/crankshaft/ia32/lithium-gap-resolver-ia32.cc',
1244            '../../src/crankshaft/ia32/lithium-gap-resolver-ia32.h',
1245            '../../src/crankshaft/ia32/lithium-ia32.cc',
1246            '../../src/crankshaft/ia32/lithium-ia32.h',
1247            '../../src/debug/ia32/debug-ia32.cc',
1248            '../../src/full-codegen/ia32/full-codegen-ia32.cc',
1249            '../../src/ic/ia32/access-compiler-ia32.cc',
1250            '../../src/ic/ia32/handler-compiler-ia32.cc',
1251            '../../src/ic/ia32/ic-ia32.cc',
1252            '../../src/ic/ia32/ic-compiler-ia32.cc',
1253            '../../src/ic/ia32/stub-cache-ia32.cc',
1254            '../../src/regexp/ia32/regexp-macro-assembler-ia32.cc',
1255            '../../src/regexp/ia32/regexp-macro-assembler-ia32.h',
1256          ],
1257        }],
1258        ['v8_target_arch=="x87"', {
1259          'sources': [  ### gcmole(arch:x87) ###
1260            '../../src/x87/assembler-x87-inl.h',
1261            '../../src/x87/assembler-x87.cc',
1262            '../../src/x87/assembler-x87.h',
1263            '../../src/x87/builtins-x87.cc',
1264            '../../src/x87/code-stubs-x87.cc',
1265            '../../src/x87/code-stubs-x87.h',
1266            '../../src/x87/codegen-x87.cc',
1267            '../../src/x87/codegen-x87.h',
1268            '../../src/x87/cpu-x87.cc',
1269            '../../src/x87/deoptimizer-x87.cc',
1270            '../../src/x87/disasm-x87.cc',
1271            '../../src/x87/frames-x87.cc',
1272            '../../src/x87/frames-x87.h',
1273            '../../src/x87/interface-descriptors-x87.cc',
1274            '../../src/x87/macro-assembler-x87.cc',
1275            '../../src/x87/macro-assembler-x87.h',
1276            '../../src/compiler/x87/code-generator-x87.cc',
1277            '../../src/compiler/x87/instruction-codes-x87.h',
1278            '../../src/compiler/x87/instruction-scheduler-x87.cc',
1279            '../../src/compiler/x87/instruction-selector-x87.cc',
1280            '../../src/crankshaft/x87/lithium-codegen-x87.cc',
1281            '../../src/crankshaft/x87/lithium-codegen-x87.h',
1282            '../../src/crankshaft/x87/lithium-gap-resolver-x87.cc',
1283            '../../src/crankshaft/x87/lithium-gap-resolver-x87.h',
1284            '../../src/crankshaft/x87/lithium-x87.cc',
1285            '../../src/crankshaft/x87/lithium-x87.h',
1286            '../../src/debug/x87/debug-x87.cc',
1287            '../../src/full-codegen/x87/full-codegen-x87.cc',
1288            '../../src/ic/x87/access-compiler-x87.cc',
1289            '../../src/ic/x87/handler-compiler-x87.cc',
1290            '../../src/ic/x87/ic-x87.cc',
1291            '../../src/ic/x87/ic-compiler-x87.cc',
1292            '../../src/ic/x87/stub-cache-x87.cc',
1293            '../../src/regexp/x87/regexp-macro-assembler-x87.cc',
1294            '../../src/regexp/x87/regexp-macro-assembler-x87.h',
1295          ],
1296        }],
1297        ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
1298          'sources': [  ### gcmole(arch:mipsel) ###
1299            '../../src/mips/assembler-mips.cc',
1300            '../../src/mips/assembler-mips.h',
1301            '../../src/mips/assembler-mips-inl.h',
1302            '../../src/mips/builtins-mips.cc',
1303            '../../src/mips/codegen-mips.cc',
1304            '../../src/mips/codegen-mips.h',
1305            '../../src/mips/code-stubs-mips.cc',
1306            '../../src/mips/code-stubs-mips.h',
1307            '../../src/mips/constants-mips.cc',
1308            '../../src/mips/constants-mips.h',
1309            '../../src/mips/cpu-mips.cc',
1310            '../../src/mips/deoptimizer-mips.cc',
1311            '../../src/mips/disasm-mips.cc',
1312            '../../src/mips/frames-mips.cc',
1313            '../../src/mips/frames-mips.h',
1314            '../../src/mips/interface-descriptors-mips.cc',
1315            '../../src/mips/macro-assembler-mips.cc',
1316            '../../src/mips/macro-assembler-mips.h',
1317            '../../src/mips/simulator-mips.cc',
1318            '../../src/mips/simulator-mips.h',
1319            '../../src/compiler/mips/code-generator-mips.cc',
1320            '../../src/compiler/mips/instruction-codes-mips.h',
1321            '../../src/compiler/mips/instruction-scheduler-mips.cc',
1322            '../../src/compiler/mips/instruction-selector-mips.cc',
1323            '../../src/crankshaft/mips/lithium-codegen-mips.cc',
1324            '../../src/crankshaft/mips/lithium-codegen-mips.h',
1325            '../../src/crankshaft/mips/lithium-gap-resolver-mips.cc',
1326            '../../src/crankshaft/mips/lithium-gap-resolver-mips.h',
1327            '../../src/crankshaft/mips/lithium-mips.cc',
1328            '../../src/crankshaft/mips/lithium-mips.h',
1329            '../../src/full-codegen/mips/full-codegen-mips.cc',
1330            '../../src/debug/mips/debug-mips.cc',
1331            '../../src/ic/mips/access-compiler-mips.cc',
1332            '../../src/ic/mips/handler-compiler-mips.cc',
1333            '../../src/ic/mips/ic-mips.cc',
1334            '../../src/ic/mips/ic-compiler-mips.cc',
1335            '../../src/ic/mips/stub-cache-mips.cc',
1336            '../../src/regexp/mips/regexp-macro-assembler-mips.cc',
1337            '../../src/regexp/mips/regexp-macro-assembler-mips.h',
1338          ],
1339        }],
1340        ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
1341          'sources': [  ### gcmole(arch:mips64el) ###
1342            '../../src/mips64/assembler-mips64.cc',
1343            '../../src/mips64/assembler-mips64.h',
1344            '../../src/mips64/assembler-mips64-inl.h',
1345            '../../src/mips64/builtins-mips64.cc',
1346            '../../src/mips64/codegen-mips64.cc',
1347            '../../src/mips64/codegen-mips64.h',
1348            '../../src/mips64/code-stubs-mips64.cc',
1349            '../../src/mips64/code-stubs-mips64.h',
1350            '../../src/mips64/constants-mips64.cc',
1351            '../../src/mips64/constants-mips64.h',
1352            '../../src/mips64/cpu-mips64.cc',
1353            '../../src/mips64/deoptimizer-mips64.cc',
1354            '../../src/mips64/disasm-mips64.cc',
1355            '../../src/mips64/frames-mips64.cc',
1356            '../../src/mips64/frames-mips64.h',
1357            '../../src/mips64/interface-descriptors-mips64.cc',
1358            '../../src/mips64/macro-assembler-mips64.cc',
1359            '../../src/mips64/macro-assembler-mips64.h',
1360            '../../src/mips64/simulator-mips64.cc',
1361            '../../src/mips64/simulator-mips64.h',
1362            '../../src/compiler/mips64/code-generator-mips64.cc',
1363            '../../src/compiler/mips64/instruction-codes-mips64.h',
1364            '../../src/compiler/mips64/instruction-scheduler-mips64.cc',
1365            '../../src/compiler/mips64/instruction-selector-mips64.cc',
1366            '../../src/crankshaft/mips64/lithium-codegen-mips64.cc',
1367            '../../src/crankshaft/mips64/lithium-codegen-mips64.h',
1368            '../../src/crankshaft/mips64/lithium-gap-resolver-mips64.cc',
1369            '../../src/crankshaft/mips64/lithium-gap-resolver-mips64.h',
1370            '../../src/crankshaft/mips64/lithium-mips64.cc',
1371            '../../src/crankshaft/mips64/lithium-mips64.h',
1372            '../../src/debug/mips64/debug-mips64.cc',
1373            '../../src/full-codegen/mips64/full-codegen-mips64.cc',
1374            '../../src/ic/mips64/access-compiler-mips64.cc',
1375            '../../src/ic/mips64/handler-compiler-mips64.cc',
1376            '../../src/ic/mips64/ic-mips64.cc',
1377            '../../src/ic/mips64/ic-compiler-mips64.cc',
1378            '../../src/ic/mips64/stub-cache-mips64.cc',
1379            '../../src/regexp/mips64/regexp-macro-assembler-mips64.cc',
1380            '../../src/regexp/mips64/regexp-macro-assembler-mips64.h',
1381          ],
1382        }],
1383        ['v8_target_arch=="x64" or v8_target_arch=="x32"', {
1384          'sources': [  ### gcmole(arch:x64) ###
1385            '../../src/crankshaft/x64/lithium-codegen-x64.cc',
1386            '../../src/crankshaft/x64/lithium-codegen-x64.h',
1387            '../../src/crankshaft/x64/lithium-gap-resolver-x64.cc',
1388            '../../src/crankshaft/x64/lithium-gap-resolver-x64.h',
1389            '../../src/crankshaft/x64/lithium-x64.cc',
1390            '../../src/crankshaft/x64/lithium-x64.h',
1391            '../../src/x64/assembler-x64-inl.h',
1392            '../../src/x64/assembler-x64.cc',
1393            '../../src/x64/assembler-x64.h',
1394            '../../src/x64/builtins-x64.cc',
1395            '../../src/x64/code-stubs-x64.cc',
1396            '../../src/x64/code-stubs-x64.h',
1397            '../../src/x64/codegen-x64.cc',
1398            '../../src/x64/codegen-x64.h',
1399            '../../src/x64/cpu-x64.cc',
1400            '../../src/x64/deoptimizer-x64.cc',
1401            '../../src/x64/disasm-x64.cc',
1402            '../../src/x64/frames-x64.cc',
1403            '../../src/x64/frames-x64.h',
1404            '../../src/x64/interface-descriptors-x64.cc',
1405            '../../src/x64/macro-assembler-x64.cc',
1406            '../../src/x64/macro-assembler-x64.h',
1407            '../../src/debug/x64/debug-x64.cc',
1408            '../../src/full-codegen/x64/full-codegen-x64.cc',
1409            '../../src/ic/x64/access-compiler-x64.cc',
1410            '../../src/ic/x64/handler-compiler-x64.cc',
1411            '../../src/ic/x64/ic-x64.cc',
1412            '../../src/ic/x64/ic-compiler-x64.cc',
1413            '../../src/ic/x64/stub-cache-x64.cc',
1414            '../../src/regexp/x64/regexp-macro-assembler-x64.cc',
1415            '../../src/regexp/x64/regexp-macro-assembler-x64.h',
1416          ],
1417        }],
1418        ['v8_target_arch=="x64"', {
1419          'sources': [
1420            '../../src/compiler/x64/code-generator-x64.cc',
1421            '../../src/compiler/x64/instruction-codes-x64.h',
1422            '../../src/compiler/x64/instruction-scheduler-x64.cc',
1423            '../../src/compiler/x64/instruction-selector-x64.cc',
1424          ],
1425        }],
1426        ['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
1427          'sources': [  ### gcmole(arch:ppc) ###
1428            '../../src/compiler/ppc/code-generator-ppc.cc',
1429            '../../src/compiler/ppc/instruction-codes-ppc.h',
1430            '../../src/compiler/ppc/instruction-scheduler-ppc.cc',
1431            '../../src/compiler/ppc/instruction-selector-ppc.cc',
1432            '../../src/crankshaft/ppc/lithium-ppc.cc',
1433            '../../src/crankshaft/ppc/lithium-ppc.h',
1434            '../../src/crankshaft/ppc/lithium-codegen-ppc.cc',
1435            '../../src/crankshaft/ppc/lithium-codegen-ppc.h',
1436            '../../src/crankshaft/ppc/lithium-gap-resolver-ppc.cc',
1437            '../../src/crankshaft/ppc/lithium-gap-resolver-ppc.h',
1438            '../../src/debug/ppc/debug-ppc.cc',
1439            '../../src/full-codegen/ppc/full-codegen-ppc.cc',
1440            '../../src/ic/ppc/access-compiler-ppc.cc',
1441            '../../src/ic/ppc/handler-compiler-ppc.cc',
1442            '../../src/ic/ppc/ic-ppc.cc',
1443            '../../src/ic/ppc/ic-compiler-ppc.cc',
1444            '../../src/ic/ppc/stub-cache-ppc.cc',
1445            '../../src/ppc/assembler-ppc-inl.h',
1446            '../../src/ppc/assembler-ppc.cc',
1447            '../../src/ppc/assembler-ppc.h',
1448            '../../src/ppc/builtins-ppc.cc',
1449            '../../src/ppc/code-stubs-ppc.cc',
1450            '../../src/ppc/code-stubs-ppc.h',
1451            '../../src/ppc/codegen-ppc.cc',
1452            '../../src/ppc/codegen-ppc.h',
1453            '../../src/ppc/constants-ppc.h',
1454            '../../src/ppc/constants-ppc.cc',
1455            '../../src/ppc/cpu-ppc.cc',
1456            '../../src/ppc/deoptimizer-ppc.cc',
1457            '../../src/ppc/disasm-ppc.cc',
1458            '../../src/ppc/frames-ppc.cc',
1459            '../../src/ppc/frames-ppc.h',
1460            '../../src/ppc/interface-descriptors-ppc.cc',
1461            '../../src/ppc/interface-descriptors-ppc.h',
1462            '../../src/ppc/macro-assembler-ppc.cc',
1463            '../../src/ppc/macro-assembler-ppc.h',
1464            '../../src/ppc/simulator-ppc.cc',
1465            '../../src/ppc/simulator-ppc.h',
1466            '../../src/regexp/ppc/regexp-macro-assembler-ppc.cc',
1467            '../../src/regexp/ppc/regexp-macro-assembler-ppc.h',
1468          ],
1469        }],
1470        ['OS=="win"', {
1471          'variables': {
1472            'gyp_generators': '<!(echo $GYP_GENERATORS)',
1473          },
1474          'msvs_disabled_warnings': [4351, 4355, 4800],
1475          # When building Official, the .lib is too large and exceeds the 2G
1476          # limit. This breaks it into multiple pieces to avoid the limit.
1477          # See http://crbug.com/485155.
1478          'msvs_shard': 4,
1479        }],
1480        ['component=="shared_library"', {
1481          'defines': [
1482            'BUILDING_V8_SHARED',
1483            'V8_SHARED',
1484          ],
1485        }],
1486        ['v8_postmortem_support=="true"', {
1487          'sources': [
1488            '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
1489          ]
1490        }],
1491        ['v8_enable_i18n_support==1', {
1492          'dependencies': [
1493            '<(icu_gyp_path):icui18n',
1494            '<(icu_gyp_path):icuuc',
1495          ]
1496        }, {  # v8_enable_i18n_support==0
1497          'sources!': [
1498            '../../src/i18n.cc',
1499            '../../src/i18n.h',
1500          ],
1501        }],
1502        ['OS=="win" and v8_enable_i18n_support==1', {
1503          'dependencies': [
1504            '<(icu_gyp_path):icudata',
1505          ],
1506        }],
1507        ['icu_use_data_file_flag==1', {
1508          'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE'],
1509        }, { # else icu_use_data_file_flag !=1
1510          'conditions': [
1511            ['OS=="win"', {
1512              'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_SHARED'],
1513            }, {
1514              'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC'],
1515            }],
1516          ],
1517        }],
1518      ],
1519    },
1520    {
1521      'target_name': 'v8_libbase',
1522      'type': 'static_library',
1523      'variables': {
1524        'optimize': 'max',
1525      },
1526      'include_dirs+': [
1527        '../..',
1528      ],
1529      'sources': [
1530        '../../src/base/adapters.h',
1531        '../../src/base/atomicops.h',
1532        '../../src/base/atomicops_internals_arm64_gcc.h',
1533        '../../src/base/atomicops_internals_arm_gcc.h',
1534        '../../src/base/atomicops_internals_atomicword_compat.h',
1535        '../../src/base/atomicops_internals_mac.h',
1536        '../../src/base/atomicops_internals_mips_gcc.h',
1537        '../../src/base/atomicops_internals_mips64_gcc.h',
1538        '../../src/base/atomicops_internals_portable.h',
1539        '../../src/base/atomicops_internals_ppc_gcc.h',
1540        '../../src/base/atomicops_internals_tsan.h',
1541        '../../src/base/atomicops_internals_x86_gcc.cc',
1542        '../../src/base/atomicops_internals_x86_gcc.h',
1543        '../../src/base/atomicops_internals_x86_msvc.h',
1544        '../../src/base/bits.cc',
1545        '../../src/base/bits.h',
1546        '../../src/base/build_config.h',
1547        '../../src/base/compiler-specific.h',
1548        '../../src/base/cpu.cc',
1549        '../../src/base/cpu.h',
1550        '../../src/base/division-by-constant.cc',
1551        '../../src/base/division-by-constant.h',
1552        '../../src/base/flags.h',
1553        '../../src/base/functional.cc',
1554        '../../src/base/functional.h',
1555        '../../src/base/iterator.h',
1556        '../../src/base/lazy-instance.h',
1557        '../../src/base/logging.cc',
1558        '../../src/base/logging.h',
1559        '../../src/base/macros.h',
1560        '../../src/base/once.cc',
1561        '../../src/base/once.h',
1562        '../../src/base/platform/elapsed-timer.h',
1563        '../../src/base/platform/time.cc',
1564        '../../src/base/platform/time.h',
1565        '../../src/base/platform/condition-variable.cc',
1566        '../../src/base/platform/condition-variable.h',
1567        '../../src/base/platform/mutex.cc',
1568        '../../src/base/platform/mutex.h',
1569        '../../src/base/platform/platform.h',
1570        '../../src/base/platform/semaphore.cc',
1571        '../../src/base/platform/semaphore.h',
1572        '../../src/base/safe_conversions.h',
1573        '../../src/base/safe_conversions_impl.h',
1574        '../../src/base/safe_math.h',
1575        '../../src/base/safe_math_impl.h',
1576        '../../src/base/smart-pointers.h',
1577        '../../src/base/sys-info.cc',
1578        '../../src/base/sys-info.h',
1579        '../../src/base/utils/random-number-generator.cc',
1580        '../../src/base/utils/random-number-generator.h',
1581      ],
1582      'conditions': [
1583        ['want_separate_host_toolset==1', {
1584          'toolsets': ['host', 'target'],
1585        }, {
1586          'toolsets': ['target'],
1587        }],
1588        ['OS=="linux"', {
1589            'conditions': [
1590              ['nacl_target_arch=="none"', {
1591                'link_settings': {
1592                  'libraries': [
1593                    '-ldl',
1594                    '-lrt'
1595                  ],
1596                },
1597              }, {
1598                'defines': [
1599                  'V8_LIBRT_NOT_AVAILABLE=1',
1600                ],
1601              }],
1602            ],
1603            'sources': [
1604              '../../src/base/platform/platform-linux.cc',
1605              '../../src/base/platform/platform-posix.cc'
1606            ],
1607          }
1608        ],
1609        ['OS=="android"', {
1610            'sources': [
1611              '../../src/base/platform/platform-posix.cc'
1612            ],
1613            'link_settings': {
1614              'target_conditions': [
1615                ['_toolset=="host"', {
1616                  # Only include libdl and librt on host builds because they
1617                  # are included by default on Android target builds, and we
1618                  # don't want to re-include them here since this will change
1619                  # library order and break (see crbug.com/469973).
1620                  'libraries': [
1621                    '-ldl',
1622                    '-lrt'
1623                  ]
1624                }]
1625              ]
1626            },
1627            'conditions': [
1628              ['host_os=="mac"', {
1629                'target_conditions': [
1630                  ['_toolset=="host"', {
1631                    'sources': [
1632                      '../../src/base/platform/platform-macos.cc'
1633                    ]
1634                  }, {
1635                    'sources': [
1636                      '../../src/base/platform/platform-linux.cc'
1637                    ]
1638                  }],
1639                ],
1640              }, {
1641                'sources': [
1642                  '../../src/base/platform/platform-linux.cc'
1643                ]
1644              }],
1645            ],
1646          },
1647        ],
1648        ['OS=="qnx"', {
1649            'link_settings': {
1650              'target_conditions': [
1651                ['_toolset=="host" and host_os=="linux"', {
1652                  'libraries': [
1653                    '-lrt'
1654                  ],
1655                }],
1656                ['_toolset=="target"', {
1657                  'libraries': [
1658                    '-lbacktrace'
1659                  ],
1660                }],
1661              ],
1662            },
1663            'sources': [
1664              '../../src/base/platform/platform-posix.cc',
1665              '../../src/base/qnx-math.h',
1666            ],
1667            'target_conditions': [
1668              ['_toolset=="host" and host_os=="linux"', {
1669                'sources': [
1670                  '../../src/base/platform/platform-linux.cc'
1671                ],
1672              }],
1673              ['_toolset=="host" and host_os=="mac"', {
1674                'sources': [
1675                  '../../src/base/platform/platform-macos.cc'
1676                ],
1677              }],
1678              ['_toolset=="target"', {
1679                'sources': [
1680                  '../../src/base/platform/platform-qnx.cc'
1681                ],
1682              }],
1683            ],
1684          },
1685        ],
1686        ['OS=="freebsd"', {
1687            'link_settings': {
1688              'libraries': [
1689                '-L/usr/local/lib -lexecinfo',
1690            ]},
1691            'sources': [
1692              '../../src/base/platform/platform-freebsd.cc',
1693              '../../src/base/platform/platform-posix.cc'
1694            ],
1695          }
1696        ],
1697        ['OS=="openbsd"', {
1698            'link_settings': {
1699              'libraries': [
1700                '-L/usr/local/lib -lexecinfo',
1701            ]},
1702            'sources': [
1703              '../../src/base/platform/platform-openbsd.cc',
1704              '../../src/base/platform/platform-posix.cc'
1705            ],
1706          }
1707        ],
1708        ['OS=="netbsd"', {
1709            'link_settings': {
1710              'libraries': [
1711                '-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lexecinfo',
1712            ]},
1713            'sources': [
1714              '../../src/base/platform/platform-openbsd.cc',
1715              '../../src/base/platform/platform-posix.cc'
1716            ],
1717          }
1718        ],
1719        ['OS=="aix"', {
1720          'sources': [
1721            '../../src/base/platform/platform-aix.cc',
1722            '../../src/base/platform/platform-posix.cc'
1723          ]},
1724        ],
1725        ['OS=="solaris"', {
1726            'link_settings': {
1727              'libraries': [
1728                '-lnsl -lrt',
1729            ]},
1730            'sources': [
1731              '../../src/base/platform/platform-solaris.cc',
1732              '../../src/base/platform/platform-posix.cc'
1733            ],
1734          }
1735        ],
1736        ['OS=="mac"', {
1737          'sources': [
1738            '../../src/base/platform/platform-macos.cc',
1739            '../../src/base/platform/platform-posix.cc'
1740          ]},
1741        ],
1742        ['OS=="win"', {
1743          'defines': [
1744            '_CRT_RAND_S'  # for rand_s()
1745          ],
1746          'variables': {
1747            'gyp_generators': '<!(echo $GYP_GENERATORS)',
1748          },
1749          'conditions': [
1750            ['gyp_generators=="make"', {
1751              'variables': {
1752                'build_env': '<!(uname -o)',
1753              },
1754              'conditions': [
1755                ['build_env=="Cygwin"', {
1756                  'sources': [
1757                    '../../src/base/platform/platform-cygwin.cc',
1758                    '../../src/base/platform/platform-posix.cc'
1759                  ],
1760                }, {
1761                  'sources': [
1762                    '../../src/base/platform/platform-win32.cc',
1763                    '../../src/base/win32-headers.h',
1764                  ],
1765                }],
1766              ],
1767              'link_settings':  {
1768                'libraries': [ '-lwinmm', '-lws2_32' ],
1769              },
1770            }, {
1771              'sources': [
1772                '../../src/base/platform/platform-win32.cc',
1773                '../../src/base/win32-headers.h',
1774              ],
1775              'msvs_disabled_warnings': [4351, 4355, 4800],
1776              'link_settings':  {
1777                'libraries': [ '-lwinmm.lib', '-lws2_32.lib' ],
1778              },
1779            }],
1780          ],
1781        }],
1782      ],
1783    },
1784    {
1785      'target_name': 'v8_libplatform',
1786      'type': 'static_library',
1787      'variables': {
1788        'optimize': 'max',
1789      },
1790      'dependencies': [
1791        'v8_libbase',
1792      ],
1793      'include_dirs+': [
1794        '../..',
1795      ],
1796      'sources': [
1797        '../../include/libplatform/libplatform.h',
1798        '../../src/libplatform/default-platform.cc',
1799        '../../src/libplatform/default-platform.h',
1800        '../../src/libplatform/task-queue.cc',
1801        '../../src/libplatform/task-queue.h',
1802        '../../src/libplatform/worker-thread.cc',
1803        '../../src/libplatform/worker-thread.h',
1804      ],
1805      'conditions': [
1806        ['want_separate_host_toolset==1', {
1807          'toolsets': ['host', 'target'],
1808        }, {
1809          'toolsets': ['target'],
1810        }],
1811      ],
1812    },
1813    {
1814      'target_name': 'natives_blob',
1815      'type': 'none',
1816      'conditions': [
1817        [ 'v8_use_external_startup_data==1', {
1818          'conditions': [
1819            ['want_separate_host_toolset==1', {
1820              'dependencies': ['js2c#host'],
1821            }, {
1822              'dependencies': ['js2c'],
1823            }],
1824          ],
1825          'actions': [{
1826            'action_name': 'concatenate_natives_blob',
1827            'inputs': [
1828              '../../tools/concatenate-files.py',
1829              '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
1830              '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
1831              '<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin',
1832              '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental-extras.bin',
1833            ],
1834            'conditions': [
1835              ['want_separate_host_toolset==1', {
1836                'target_conditions': [
1837                  ['_toolset=="host"', {
1838                    'outputs': [
1839                      '<(PRODUCT_DIR)/natives_blob_host.bin',
1840                    ],
1841                    'action': [
1842                      'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
1843                    ],
1844                  }, {
1845                    'outputs': [
1846                      '<(PRODUCT_DIR)/natives_blob.bin',
1847                    ],
1848                    'action': [
1849                      'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
1850                    ],
1851                  }],
1852                ],
1853              }, {
1854                'outputs': [
1855                  '<(PRODUCT_DIR)/natives_blob.bin',
1856                ],
1857                'action': [
1858                  'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
1859                ],
1860              }],
1861            ],
1862          }],
1863        }],
1864        ['want_separate_host_toolset==1', {
1865          'toolsets': ['host', 'target'],
1866        }, {
1867          'toolsets': ['target'],
1868        }],
1869      ]
1870    },
1871    {
1872      'target_name': 'js2c',
1873      'type': 'none',
1874      'conditions': [
1875        ['want_separate_host_toolset==1', {
1876          'toolsets': ['host'],
1877        }, {
1878          'toolsets': ['target'],
1879        }],
1880        ['v8_enable_i18n_support==1', {
1881          'variables': {
1882            'i18n_library_files': [
1883              '../../src/js/i18n.js',
1884            ],
1885          },
1886        }, {
1887          'variables': {
1888            'i18n_library_files': [],
1889          },
1890        }],
1891      ],
1892      'variables': {
1893        'library_files': [
1894          '../../src/js/macros.py',
1895          '../../src/messages.h',
1896          '../../src/js/prologue.js',
1897          '../../src/js/runtime.js',
1898          '../../src/js/v8natives.js',
1899          '../../src/js/symbol.js',
1900          '../../src/js/array.js',
1901          '../../src/js/string.js',
1902          '../../src/js/uri.js',
1903          '../../src/js/math.js',
1904          '../../src/third_party/fdlibm/fdlibm.js',
1905          '../../src/js/regexp.js',
1906          '../../src/js/arraybuffer.js',
1907          '../../src/js/typedarray.js',
1908          '../../src/js/iterator-prototype.js',
1909          '../../src/js/generator.js',
1910          '../../src/js/object-observe.js',
1911          '../../src/js/collection.js',
1912          '../../src/js/weak-collection.js',
1913          '../../src/js/collection-iterator.js',
1914          '../../src/js/promise.js',
1915          '../../src/js/messages.js',
1916          '../../src/js/json.js',
1917          '../../src/js/array-iterator.js',
1918          '../../src/js/string-iterator.js',
1919          '../../src/js/templates.js',
1920          '../../src/js/spread.js',
1921          '../../src/debug/mirrors.js',
1922          '../../src/debug/debug.js',
1923          '../../src/debug/liveedit.js',
1924        ],
1925        'experimental_library_files': [
1926          '../../src/js/macros.py',
1927          '../../src/messages.h',
1928          '../../src/js/proxy.js',
1929          '../../src/js/generator.js',
1930          '../../src/js/harmony-atomics.js',
1931          '../../src/js/harmony-regexp.js',
1932          '../../src/js/harmony-reflect.js',
1933          '../../src/js/harmony-object-observe.js',
1934          '../../src/js/harmony-sharedarraybuffer.js',
1935          '../../src/js/harmony-simd.js',
1936          '../../src/js/harmony-species.js',
1937          '../../src/js/harmony-unicode-regexps.js',
1938          '../../src/js/promise-extra.js',
1939        ],
1940        'libraries_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries.bin',
1941        'libraries_experimental_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental.bin',
1942        'libraries_extras_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-extras.bin',
1943        'libraries_experimental_extras_bin_file': '<(SHARED_INTERMEDIATE_DIR)/libraries-experimental-extras.bin',
1944      },
1945      'actions': [
1946        {
1947          'action_name': 'js2c',
1948          'inputs': [
1949            '../../tools/js2c.py',
1950            '<@(library_files)',
1951            '<@(i18n_library_files)'
1952          ],
1953          'outputs': ['<(SHARED_INTERMEDIATE_DIR)/libraries.cc'],
1954          'action': [
1955            'python',
1956            '../../tools/js2c.py',
1957            '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
1958            'CORE',
1959            '<@(library_files)',
1960            '<@(i18n_library_files)'
1961          ],
1962        },
1963        {
1964          'action_name': 'js2c_bin',
1965          'inputs': [
1966            '../../tools/js2c.py',
1967            '<@(library_files)',
1968            '<@(i18n_library_files)'
1969          ],
1970          'outputs': ['<@(libraries_bin_file)'],
1971          'action': [
1972            'python',
1973            '../../tools/js2c.py',
1974            '<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
1975            'CORE',
1976            '<@(library_files)',
1977            '<@(i18n_library_files)',
1978            '--startup_blob', '<@(libraries_bin_file)',
1979            '--nojs',
1980          ],
1981        },
1982        {
1983          'action_name': 'js2c_experimental',
1984          'inputs': [
1985            '../../tools/js2c.py',
1986            '<@(experimental_library_files)',
1987          ],
1988          'outputs': ['<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc'],
1989          'action': [
1990            'python',
1991            '../../tools/js2c.py',
1992            '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
1993            'EXPERIMENTAL',
1994            '<@(experimental_library_files)'
1995          ],
1996        },
1997        {
1998          'action_name': 'js2c_experimental_bin',
1999          'inputs': [
2000            '../../tools/js2c.py',
2001            '<@(experimental_library_files)',
2002          ],
2003          'outputs': ['<@(libraries_experimental_bin_file)'],
2004          'action': [
2005            'python',
2006            '../../tools/js2c.py',
2007            '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
2008            'EXPERIMENTAL',
2009            '<@(experimental_library_files)',
2010            '--startup_blob', '<@(libraries_experimental_bin_file)',
2011            '--nojs',
2012          ],
2013        },
2014        {
2015          'action_name': 'js2c_extras',
2016          'inputs': [
2017            '../../tools/js2c.py',
2018            '<@(v8_extra_library_files)',
2019          ],
2020          'outputs': ['<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc'],
2021          'action': [
2022            'python',
2023            '../../tools/js2c.py',
2024            '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
2025            'EXTRAS',
2026            '<@(v8_extra_library_files)',
2027          ],
2028        },
2029        {
2030          'action_name': 'js2c_extras_bin',
2031          'inputs': [
2032            '../../tools/js2c.py',
2033            '<@(v8_extra_library_files)',
2034          ],
2035          'outputs': ['<@(libraries_extras_bin_file)'],
2036          'action': [
2037            'python',
2038            '../../tools/js2c.py',
2039            '<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
2040            'EXTRAS',
2041            '<@(v8_extra_library_files)',
2042            '--startup_blob', '<@(libraries_extras_bin_file)',
2043            '--nojs',
2044          ],
2045        },
2046        {
2047          'action_name': 'js2c_experimental_extras',
2048          'inputs': [
2049            '../../tools/js2c.py',
2050            '<@(v8_experimental_extra_library_files)',
2051          ],
2052          'outputs': [
2053            '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
2054          ],
2055          'action': [
2056            'python',
2057            '../../tools/js2c.py',
2058            '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
2059            'EXPERIMENTAL_EXTRAS',
2060            '<@(v8_experimental_extra_library_files)',
2061          ],
2062        },
2063        {
2064          'action_name': 'js2c_experimental_extras_bin',
2065          'inputs': [
2066            '../../tools/js2c.py',
2067            '<@(v8_experimental_extra_library_files)',
2068          ],
2069          'outputs': ['<@(libraries_experimental_extras_bin_file)'],
2070          'action': [
2071            'python',
2072            '../../tools/js2c.py',
2073            '<(SHARED_INTERMEDIATE_DIR)/experimental-extras-libraries.cc',
2074            'EXPERIMENTAL_EXTRAS',
2075            '<@(v8_experimental_extra_library_files)',
2076            '--startup_blob', '<@(libraries_experimental_extras_bin_file)',
2077            '--nojs',
2078          ],
2079        },
2080      ],
2081    },
2082    {
2083      'target_name': 'postmortem-metadata',
2084      'type': 'none',
2085      'variables': {
2086        'heapobject_files': [
2087            '../../src/objects.h',
2088            '../../src/objects-inl.h',
2089        ],
2090      },
2091      'actions': [
2092          {
2093            'action_name': 'gen-postmortem-metadata',
2094            'inputs': [
2095              '../../tools/gen-postmortem-metadata.py',
2096              '<@(heapobject_files)',
2097            ],
2098            'outputs': [
2099              '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
2100            ],
2101            'action': [
2102              'python',
2103              '../../tools/gen-postmortem-metadata.py',
2104              '<@(_outputs)',
2105              '<@(heapobject_files)'
2106            ]
2107          }
2108        ]
2109    },
2110    {
2111      'target_name': 'mksnapshot',
2112      'type': 'executable',
2113      'dependencies': ['v8_base', 'v8_nosnapshot', 'v8_libplatform'],
2114      'include_dirs+': [
2115        '../..',
2116      ],
2117      'sources': [
2118        '../../src/snapshot/mksnapshot.cc',
2119      ],
2120      'conditions': [
2121        ['v8_enable_i18n_support==1', {
2122          'dependencies': [
2123            '<(icu_gyp_path):icui18n',
2124            '<(icu_gyp_path):icuuc',
2125          ]
2126        }],
2127        ['want_separate_host_toolset==1', {
2128          'toolsets': ['host'],
2129        }, {
2130          'toolsets': ['target'],
2131        }],
2132      ],
2133    },
2134  ],
2135}
2136