• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2012 the V8 project authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4{
5  'variables': {
6    'V8_ROOT': '../../deps/v8',
7    'v8_code': 1,
8    'v8_random_seed%': 314159265,
9    'v8_vector_stores%': 0,
10    'v8_embed_script%': "",
11    'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
12    'v8_os_page_size%': 0,
13    'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
14    'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
15    'torque_files': [
16      "<(V8_ROOT)/src/builtins/array-copywithin.tq",
17      "<(V8_ROOT)/src/builtins/array-every.tq",
18      "<(V8_ROOT)/src/builtins/array-filter.tq",
19      "<(V8_ROOT)/src/builtins/array-find.tq",
20      "<(V8_ROOT)/src/builtins/array-findindex.tq",
21      "<(V8_ROOT)/src/builtins/array-foreach.tq",
22      "<(V8_ROOT)/src/builtins/array-from.tq",
23      "<(V8_ROOT)/src/builtins/array-isarray.tq",
24      "<(V8_ROOT)/src/builtins/array-join.tq",
25      "<(V8_ROOT)/src/builtins/array-lastindexof.tq",
26      "<(V8_ROOT)/src/builtins/array-map.tq",
27      "<(V8_ROOT)/src/builtins/array-of.tq",
28      "<(V8_ROOT)/src/builtins/array-reduce-right.tq",
29      "<(V8_ROOT)/src/builtins/array-reduce.tq",
30      "<(V8_ROOT)/src/builtins/array-reverse.tq",
31      "<(V8_ROOT)/src/builtins/array-shift.tq",
32      "<(V8_ROOT)/src/builtins/array-slice.tq",
33      "<(V8_ROOT)/src/builtins/array-some.tq",
34      "<(V8_ROOT)/src/builtins/array-splice.tq",
35      "<(V8_ROOT)/src/builtins/array-unshift.tq",
36      "<(V8_ROOT)/src/builtins/array.tq",
37      "<(V8_ROOT)/src/builtins/base.tq",
38      "<(V8_ROOT)/src/builtins/bigint.tq",
39      "<(V8_ROOT)/src/builtins/boolean.tq",
40      "<(V8_ROOT)/src/builtins/builtins-string.tq",
41      "<(V8_ROOT)/src/builtins/collections.tq",
42      "<(V8_ROOT)/src/builtins/cast.tq",
43      "<(V8_ROOT)/src/builtins/convert.tq",
44      "<(V8_ROOT)/src/builtins/console.tq",
45      "<(V8_ROOT)/src/builtins/data-view.tq",
46      "<(V8_ROOT)/src/builtins/finalization-registry.tq",
47      "<(V8_ROOT)/src/builtins/frames.tq",
48      "<(V8_ROOT)/src/builtins/frame-arguments.tq",
49      "<(V8_ROOT)/src/builtins/growable-fixed-array.tq",
50      "<(V8_ROOT)/src/builtins/ic-callable.tq",
51      "<(V8_ROOT)/src/builtins/ic.tq",
52      "<(V8_ROOT)/src/builtins/internal-coverage.tq",
53      "<(V8_ROOT)/src/builtins/iterator.tq",
54      "<(V8_ROOT)/src/builtins/math.tq",
55      "<(V8_ROOT)/src/builtins/number.tq",
56      "<(V8_ROOT)/src/builtins/object-fromentries.tq",
57      "<(V8_ROOT)/src/builtins/object.tq",
58      "<(V8_ROOT)/src/builtins/promise-abstract-operations.tq",
59      "<(V8_ROOT)/src/builtins/promise-all.tq",
60      "<(V8_ROOT)/src/builtins/promise-all-element-closure.tq",
61      "<(V8_ROOT)/src/builtins/promise-any.tq",
62      "<(V8_ROOT)/src/builtins/promise-constructor.tq",
63      "<(V8_ROOT)/src/builtins/promise-finally.tq",
64      "<(V8_ROOT)/src/builtins/promise-misc.tq",
65      "<(V8_ROOT)/src/builtins/promise-race.tq",
66      "<(V8_ROOT)/src/builtins/promise-reaction-job.tq",
67      "<(V8_ROOT)/src/builtins/promise-resolve.tq",
68      "<(V8_ROOT)/src/builtins/promise-then.tq",
69      "<(V8_ROOT)/src/builtins/promise-jobs.tq",
70      "<(V8_ROOT)/src/builtins/proxy-constructor.tq",
71      "<(V8_ROOT)/src/builtins/proxy-delete-property.tq",
72      "<(V8_ROOT)/src/builtins/proxy-get-property.tq",
73      "<(V8_ROOT)/src/builtins/proxy-get-prototype-of.tq",
74      "<(V8_ROOT)/src/builtins/proxy-has-property.tq",
75      "<(V8_ROOT)/src/builtins/proxy-is-extensible.tq",
76      "<(V8_ROOT)/src/builtins/proxy-prevent-extensions.tq",
77      "<(V8_ROOT)/src/builtins/proxy-revocable.tq",
78      "<(V8_ROOT)/src/builtins/proxy-revoke.tq",
79      "<(V8_ROOT)/src/builtins/proxy-set-property.tq",
80      "<(V8_ROOT)/src/builtins/proxy-set-prototype-of.tq",
81      "<(V8_ROOT)/src/builtins/proxy.tq",
82      "<(V8_ROOT)/src/builtins/reflect.tq",
83      "<(V8_ROOT)/src/builtins/regexp-exec.tq",
84      "<(V8_ROOT)/src/builtins/regexp-match-all.tq",
85      "<(V8_ROOT)/src/builtins/regexp-match.tq",
86      "<(V8_ROOT)/src/builtins/regexp-replace.tq",
87      "<(V8_ROOT)/src/builtins/regexp-search.tq",
88      "<(V8_ROOT)/src/builtins/regexp-source.tq",
89      "<(V8_ROOT)/src/builtins/regexp-split.tq",
90      "<(V8_ROOT)/src/builtins/regexp-test.tq",
91      "<(V8_ROOT)/src/builtins/regexp.tq",
92      "<(V8_ROOT)/src/builtins/string-endswith.tq",
93      "<(V8_ROOT)/src/builtins/string-html.tq",
94      "<(V8_ROOT)/src/builtins/string-iterator.tq",
95      "<(V8_ROOT)/src/builtins/string-pad.tq",
96      "<(V8_ROOT)/src/builtins/string-repeat.tq",
97      "<(V8_ROOT)/src/builtins/string-replaceall.tq",
98      "<(V8_ROOT)/src/builtins/string-slice.tq",
99      "<(V8_ROOT)/src/builtins/string-startswith.tq",
100      "<(V8_ROOT)/src/builtins/string-substring.tq",
101      "<(V8_ROOT)/src/builtins/string-substr.tq",
102      "<(V8_ROOT)/src/builtins/symbol.tq",
103      "<(V8_ROOT)/src/builtins/torque-internal.tq",
104      "<(V8_ROOT)/src/builtins/typed-array-createtypedarray.tq",
105      "<(V8_ROOT)/src/builtins/typed-array-every.tq",
106      "<(V8_ROOT)/src/builtins/typed-array-filter.tq",
107      "<(V8_ROOT)/src/builtins/typed-array-find.tq",
108      "<(V8_ROOT)/src/builtins/typed-array-findindex.tq",
109      "<(V8_ROOT)/src/builtins/typed-array-foreach.tq",
110      "<(V8_ROOT)/src/builtins/typed-array-from.tq",
111      "<(V8_ROOT)/src/builtins/typed-array-of.tq",
112      "<(V8_ROOT)/src/builtins/typed-array-reduce.tq",
113      "<(V8_ROOT)/src/builtins/typed-array-reduceright.tq",
114      "<(V8_ROOT)/src/builtins/typed-array-set.tq",
115      "<(V8_ROOT)/src/builtins/typed-array-slice.tq",
116      "<(V8_ROOT)/src/builtins/typed-array-some.tq",
117      "<(V8_ROOT)/src/builtins/typed-array-sort.tq",
118      "<(V8_ROOT)/src/builtins/typed-array-subarray.tq",
119      "<(V8_ROOT)/src/builtins/typed-array.tq",
120      "<(V8_ROOT)/src/builtins/wasm.tq",
121      "<(V8_ROOT)/src/ic/handler-configuration.tq",
122      "<(V8_ROOT)/src/objects/allocation-site.tq",
123      "<(V8_ROOT)/src/objects/api-callbacks.tq",
124      "<(V8_ROOT)/src/objects/arguments.tq",
125      "<(V8_ROOT)/src/objects/cell.tq",
126      "<(V8_ROOT)/src/objects/code.tq",
127      "<(V8_ROOT)/src/objects/contexts.tq",
128      "<(V8_ROOT)/src/objects/data-handler.tq",
129      "<(V8_ROOT)/src/objects/debug-objects.tq",
130      "<(V8_ROOT)/src/objects/descriptor-array.tq",
131      "<(V8_ROOT)/src/objects/embedder-data-array.tq",
132      "<(V8_ROOT)/src/objects/feedback-cell.tq",
133      "<(V8_ROOT)/src/objects/feedback-vector.tq",
134      "<(V8_ROOT)/src/objects/fixed-array.tq",
135      "<(V8_ROOT)/src/objects/foreign.tq",
136      "<(V8_ROOT)/src/objects/free-space.tq",
137      "<(V8_ROOT)/src/objects/heap-number.tq",
138      "<(V8_ROOT)/src/objects/heap-object.tq",
139      "<(V8_ROOT)/src/objects/js-aggregate-error.tq",
140      "<(V8_ROOT)/src/objects/js-array-buffer.tq",
141      "<(V8_ROOT)/src/objects/js-array.tq",
142      "<(V8_ROOT)/src/objects/js-collection-iterator.tq",
143      "<(V8_ROOT)/src/objects/js-collection.tq",
144      "<(V8_ROOT)/src/objects/js-generator.tq",
145      "<(V8_ROOT)/src/objects/js-objects.tq",
146      "<(V8_ROOT)/src/objects/js-promise.tq",
147      "<(V8_ROOT)/src/objects/js-proxy.tq",
148      "<(V8_ROOT)/src/objects/js-regexp-string-iterator.tq",
149      "<(V8_ROOT)/src/objects/js-regexp.tq",
150      "<(V8_ROOT)/src/objects/js-weak-refs.tq",
151      "<(V8_ROOT)/src/objects/literal-objects.tq",
152      "<(V8_ROOT)/src/objects/map.tq",
153      "<(V8_ROOT)/src/objects/microtask.tq",
154      "<(V8_ROOT)/src/objects/module.tq",
155      "<(V8_ROOT)/src/objects/name.tq",
156      "<(V8_ROOT)/src/objects/oddball.tq",
157      "<(V8_ROOT)/src/objects/ordered-hash-table.tq",
158      "<(V8_ROOT)/src/objects/primitive-heap-object.tq",
159      "<(V8_ROOT)/src/objects/promise.tq",
160      "<(V8_ROOT)/src/objects/property-array.tq",
161      "<(V8_ROOT)/src/objects/property-cell.tq",
162      "<(V8_ROOT)/src/objects/property-descriptor-object.tq",
163      "<(V8_ROOT)/src/objects/prototype-info.tq",
164      "<(V8_ROOT)/src/objects/regexp-match-info.tq",
165      "<(V8_ROOT)/src/objects/scope-info.tq",
166      "<(V8_ROOT)/src/objects/script.tq",
167      "<(V8_ROOT)/src/objects/shared-function-info.tq",
168      "<(V8_ROOT)/src/objects/source-text-module.tq",
169      "<(V8_ROOT)/src/objects/stack-frame-info.tq",
170      "<(V8_ROOT)/src/objects/string.tq",
171      "<(V8_ROOT)/src/objects/struct.tq",
172      "<(V8_ROOT)/src/objects/synthetic-module.tq",
173      "<(V8_ROOT)/src/objects/template-objects.tq",
174      "<(V8_ROOT)/src/objects/template.tq",
175      "<(V8_ROOT)/src/wasm/wasm-objects.tq",
176      "<(V8_ROOT)/test/torque/test-torque.tq",
177      "<(V8_ROOT)/third_party/v8/builtins/array-sort.tq",
178    ],
179    'torque_output_root': '<(SHARED_INTERMEDIATE_DIR)/torque-output-root',
180    'torque_files_replaced': ['<!@pymod_do_main(ForEachReplace ".tq" "-tq-csa" <@(torque_files))'],
181    'torque_outputs': ['<!@pymod_do_main(ForEachFormat "<(torque_output_root)/torque-generated/%s.cc" <@(torque_files_replaced))'],
182    'torque_outputs+': ['<!@pymod_do_main(ForEachFormat "<(torque_output_root)/torque-generated/%s.h" <@(torque_files_replaced))'],
183    'v8_compiler_sources': ['<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_compiler_sources = ")'],
184
185    'conditions': [
186      ['v8_enable_i18n_support', {
187        'torque_files': [
188          "<(V8_ROOT)/src/objects/intl-objects.tq",
189        ]
190      }]
191    ],
192  },
193  'includes': ['toolchain.gypi', 'features.gypi'],
194  'target_defaults': {
195    'msvs_settings': {
196      'VCCLCompilerTool': {
197        'AdditionalOptions': ['/utf-8']
198      }
199    },
200  },
201  'targets': [
202    {
203      'target_name': 'run_torque',
204      'type': 'none',
205      'conditions': [
206        ['want_separate_host_toolset', {
207          'dependencies': ['torque#host'],
208          'toolsets': ['host', 'target'],
209        }, {
210          'dependencies': ['torque'],
211        }],
212      ],
213      'hard_dependency': 1,
214      'direct_dependent_settings': {
215        'include_dirs': [
216          '<(torque_output_root)',
217        ],
218      },
219      'actions': [
220        {
221          'action_name': 'run_torque_action',
222          'inputs': [  # Order matters.
223            '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
224            '<@(torque_files)',
225          ],
226          'outputs': [
227            '<(torque_output_root)/torque-generated/bit-fields-tq.h',
228            '<(torque_output_root)/torque-generated/builtin-definitions-tq.h',
229            '<(torque_output_root)/torque-generated/interface-descriptors-tq.inc',
230            '<(torque_output_root)/torque-generated/factory-tq.cc',
231            '<(torque_output_root)/torque-generated/factory-tq.inc',
232            '<(torque_output_root)/torque-generated/field-offsets-tq.h',
233            '<(torque_output_root)/torque-generated/class-verifiers-tq.cc',
234            '<(torque_output_root)/torque-generated/class-verifiers-tq.h',
235            '<(torque_output_root)/torque-generated/enum-verifiers-tq.cc',
236            '<(torque_output_root)/torque-generated/objects-printer-tq.cc',
237            '<(torque_output_root)/torque-generated/objects-body-descriptors-tq-inl.inc',
238            '<(torque_output_root)/torque-generated/class-definitions-tq.cc',
239            '<(torque_output_root)/torque-generated/class-definitions-tq-inl.h',
240            '<(torque_output_root)/torque-generated/class-definitions-tq.h',
241            '<(torque_output_root)/torque-generated/class-debug-readers-tq.cc',
242            '<(torque_output_root)/torque-generated/class-debug-readers-tq.h',
243            '<(torque_output_root)/torque-generated/exported-macros-assembler-tq.cc',
244            '<(torque_output_root)/torque-generated/exported-macros-assembler-tq.h',
245            '<(torque_output_root)/torque-generated/csa-types-tq.h',
246            '<(torque_output_root)/torque-generated/instance-types-tq.h',
247            '<@(torque_outputs)',
248          ],
249          'action': [
250            '<@(_inputs)',
251            '-o', '<(torque_output_root)/torque-generated',
252            '-v8-root', '<(V8_ROOT)'
253          ],
254        },
255      ],
256    },  # run_torque
257    {
258      'target_name': 'v8_maybe_icu',
259      'type': 'none',
260      'hard_dependency': 1,
261      'conditions': [
262        ['want_separate_host_toolset', {
263          'toolsets': ['host', 'target'],
264        }],
265        ['v8_enable_i18n_support', {
266          'dependencies': [
267            '<(icu_gyp_path):icui18n',
268            '<(icu_gyp_path):icuuc',
269          ],
270          'export_dependent_settings': [
271            '<(icu_gyp_path):icui18n',
272            '<(icu_gyp_path):icuuc',
273          ],
274        }],
275      ],
276    },  # v8_maybe_icu
277    {
278      'target_name': 'torque_generated_initializers',
279      'type': 'none',
280      'hard_dependency': 1,
281      'conditions': [
282        ['want_separate_host_toolset', {
283          'toolsets': ['host', 'target'],
284        }],
285      ],
286      'dependencies': [
287        'generate_bytecode_builtins_list',
288        'run_torque',
289        'v8_maybe_icu',
290      ],
291      'direct_dependent_settings': {
292        'sources': [
293          '<(torque_output_root)/torque-generated/csa-types-tq.h',
294          '<(torque_output_root)/torque-generated/enum-verifiers-tq.cc',
295          '<(torque_output_root)/torque-generated/exported-macros-assembler-tq.cc',
296          '<(torque_output_root)/torque-generated/exported-macros-assembler-tq.h',
297          '<(V8_ROOT)/src/torque/runtime-support.h',
298          '<@(torque_outputs)',
299        ],
300      }
301    },  # torque_generated_initializers
302    {
303      'target_name': 'torque_generated_definitions',
304      'type': 'none',
305      'hard_dependency': 1,
306      'conditions': [
307        ['want_separate_host_toolset', {
308          'toolsets': ['host', 'target'],
309        }],
310      ],
311      'dependencies': [
312        'generate_bytecode_builtins_list',
313        'run_torque',
314        'v8_maybe_icu',
315      ],
316      'direct_dependent_settings': {
317        'sources': [
318          '<(torque_output_root)/torque-generated/class-definitions-tq.cc',
319          '<(torque_output_root)/torque-generated/class-verifiers-tq.cc',
320          '<(torque_output_root)/torque-generated/class-verifiers-tq.h',
321          '<(torque_output_root)/torque-generated/factory-tq.cc',
322          '<(torque_output_root)/torque-generated/objects-printer-tq.cc',
323        ],
324        'include_dirs': [
325          '<(torque_output_root)',
326        ],
327      },
328    },  # torque_generated_definitions
329    {
330      'target_name': 'generate_bytecode_builtins_list',
331      'type': 'none',
332      'hard_dependency': 1,
333      'conditions': [
334        ['want_separate_host_toolset', {
335          'dependencies': ['bytecode_builtins_list_generator#host'],
336          'toolsets': ['host', 'target'],
337        }, {
338          'dependencies': ['bytecode_builtins_list_generator'],
339        }],
340      ],
341      'direct_dependent_settings': {
342        'sources': [
343          '<(generate_bytecode_builtins_list_output)',
344        ],
345        'include_dirs': [
346          '<(generate_bytecode_output_root)',
347          '<(torque_output_root)',
348        ],
349      },
350      'actions': [
351        {
352          'action_name': 'generate_bytecode_builtins_list_action',
353          'inputs': [
354            '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)',
355          ],
356          'outputs': [
357            '<(generate_bytecode_builtins_list_output)',
358          ],
359          'action': [
360            'python',
361            '<(V8_ROOT)/tools/run.py',
362            '<@(_inputs)',
363            '<@(_outputs)',
364          ],
365        },
366      ],
367    },  # generate_bytecode_builtins_list
368    {
369      'target_name': 'v8_init',
370      'type': 'static_library',
371      'conditions': [
372        ['want_separate_host_toolset', {
373          'toolsets': ['host', 'target'],
374        }],
375      ],
376      'dependencies': [
377        'generate_bytecode_builtins_list',
378        'run_torque',
379        'v8_initializers',
380        'v8_maybe_icu',
381      ],
382      'sources': [
383        ### gcmole(all) ###
384        '<(V8_ROOT)/src/init/setup-isolate-full.cc',
385
386        # '<(generate_bytecode_builtins_list_output)',
387      ],
388    },  # v8_init
389    {
390      'target_name': 'v8_initializers',
391      'type': 'static_library',
392      'dependencies': [
393        'torque_generated_initializers',
394      ],
395      'include_dirs': [
396        '<(torque_output_root)',
397        '<(generate_bytecode_output_root)',
398      ],
399      'sources': [
400        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_initializers.*?sources = ")',
401
402        '<@(torque_outputs)',
403      ],
404      'conditions': [
405        ['want_separate_host_toolset', {
406          'toolsets': ['host', 'target'],
407        }],
408        ['v8_target_arch=="ia32"', {
409          'sources': [
410            '<(V8_ROOT)/src/builtins/ia32/builtins-ia32.cc',
411          ],
412        }],
413        ['v8_target_arch=="x64"', {
414          'sources': [
415            '<(V8_ROOT)/src/builtins/x64/builtins-x64.cc',
416          ],
417        }],
418        ['v8_target_arch=="arm"', {
419          'sources': [
420            '<(V8_ROOT)/src/builtins/arm/builtins-arm.cc',
421          ],
422        }],
423        ['v8_target_arch=="arm64"', {
424          'sources': [
425            '<(V8_ROOT)/src/builtins/arm64/builtins-arm64.cc',
426          ],
427        }],
428        ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
429          'sources': [
430            '<(V8_ROOT)/src/builtins/mips/builtins-mips.cc',
431          ],
432        }],
433        ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
434          'sources': [
435            '<(V8_ROOT)/src/builtins/mips64/builtins-mips64.cc',
436          ],
437        }],
438        ['v8_target_arch=="ppc"', {
439          'sources': [
440            '<(V8_ROOT)/src/builtins/ppc/builtins-ppc.cc',
441          ],
442        }],
443        ['v8_target_arch=="ppc64"', {
444          'sources': [
445            '<(V8_ROOT)/src/builtins/ppc/builtins-ppc.cc',
446          ],
447        }],
448        ['v8_target_arch=="s390x"', {
449          'sources': [
450            '<(V8_ROOT)/src/builtins/s390/builtins-s390.cc',
451          ],
452        }],
453        ['v8_enable_i18n_support==1', {
454          'dependencies': [
455            '<(icu_gyp_path):icui18n',
456            '<(icu_gyp_path):icuuc',
457          ],
458        }, {
459           'sources!': [
460             '<(V8_ROOT)/src/builtins/builtins-intl-gen.cc',
461           ],
462         }],
463        ['OS=="win"', {
464          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
465          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
466          'sources': [
467            '<(_msvs_precompiled_header)',
468            '<(_msvs_precompiled_source)',
469          ],
470        }],
471      ],
472    },  # v8_initializers
473    {
474      'target_name': 'v8_snapshot',
475      'type': 'static_library',
476      'toolsets': ['target'],
477      'conditions': [
478        ['want_separate_host_toolset', {
479          'conditions': [
480            ['v8_target_arch=="arm64"', {
481              'msvs_enable_marmasm': 1,
482            }]
483          ],
484          'dependencies': [
485            'generate_bytecode_builtins_list',
486            'run_torque',
487            'mksnapshot#host',
488            'v8_maybe_icu',
489            # [GYP] added explicitly, instead of inheriting from the other deps
490            'v8_base_without_compiler',
491            'v8_compiler_for_mksnapshot',
492            'v8_initializers',
493            'v8_libplatform',
494          ]
495        }, {
496          'dependencies': [
497            'generate_bytecode_builtins_list',
498            'run_torque',
499            'mksnapshot',
500            'v8_maybe_icu',
501            # [GYP] added explicitly, instead of inheriting from the other deps
502            'v8_base_without_compiler',
503            'v8_compiler_for_mksnapshot',
504            'v8_initializers',
505            'v8_libplatform',
506          ]
507        }],
508      ],
509      'sources': [
510        '<(V8_ROOT)/src/init/setup-isolate-deserialize.cc',
511      ],
512      'xcode_settings': {
513        # V8 7.4 over macOS10.11 compatibility
514        # Refs: https://github.com/nodejs/node/pull/26685
515        'GCC_GENERATE_DEBUGGING_SYMBOLS': 'NO',
516      },
517      'actions': [
518        {
519          'action_name': 'run_mksnapshot',
520          'message': 'generating: >@(_outputs)',
521          'variables': {
522            'mksnapshot_flags': [
523              '--turbo_instruction_scheduling',
524              # In cross builds, the snapshot may be generated for both the host and
525              # target toolchains.  The same host binary is used to generate both, so
526              # mksnapshot needs to know which target OS to use at runtime.  It's weird,
527              # but the target OS is really <(OS).
528              '--target_os=<(OS)',
529              '--target_arch=<(v8_target_arch)',
530              '--startup_src', '<(INTERMEDIATE_DIR)/snapshot.cc',
531              '--embedded_variant', 'Default',
532              '--embedded_src', '<(INTERMEDIATE_DIR)/embedded.S',
533            ],
534          },
535          'inputs': [
536            '<(mksnapshot_exec)',
537          ],
538          'outputs': [
539            '<(INTERMEDIATE_DIR)/snapshot.cc',
540            '<(INTERMEDIATE_DIR)/embedded.S',
541          ],
542          'process_outputs_as_sources': 1,
543          'conditions': [
544            ['v8_random_seed', {
545              'variables': {
546                'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
547              },
548            }],
549            ['v8_os_page_size', {
550              'variables': {
551                'mksnapshot_flags': ['--v8_os_page_size', '<(v8_os_page_size)'],
552              },
553            }],
554            ['v8_embed_script != ""', {
555              'inputs': ['<(v8_embed_script)'],
556              'variables': {
557                'mksnapshot_flags': ['<(v8_embed_script)'],
558              },
559            }],
560            ['v8_enable_snapshot_code_comments', {
561              'variables': {
562                'mksnapshot_flags': ['--code-comments'],
563              },
564            }],
565            ['v8_enable_snapshot_native_code_counters', {
566              'variables': {
567                'mksnapshot_flags': ['--native-code-counters'],
568              },
569            }, {
570               # --native-code-counters is the default in debug mode so make sure we can
571               # unset it.
572               'variables': {
573                 'mksnapshot_flags': ['--no-native-code-counters'],
574               },
575             }],
576          ],
577          'action': [
578            '>@(_inputs)',
579            '>@(mksnapshot_flags)',
580          ],
581        },
582      ],
583    },  # v8_snapshot
584    {
585      'target_name': 'v8_version',
586      'type': 'none',
587      'conditions': [
588        ['want_separate_host_toolset', {
589          'toolsets': ['host', 'target'],
590        }],
591      ],
592      'direct_dependent_settings': {
593        'sources': [
594          '<(V8_ROOT)/include/v8-value-serializer-version.h',
595          '<(V8_ROOT)/include/v8-version-string.h',
596          '<(V8_ROOT)/include/v8-version.h',
597        ],
598      },
599    },  # v8_version
600    {
601      'target_name': 'v8_headers',
602      'type': 'none',
603      'conditions': [
604        ['want_separate_host_toolset', {
605          'toolsets': ['host', 'target'],
606        }],
607      ],
608      'dependencies': [
609        'v8_version',
610      ],
611      'direct_dependent_settings': {
612        'sources': [
613          '<(V8_ROOT)/include/v8-fast-api-calls.h',
614          '<(V8_ROOT)/include/v8-internal.h',
615          '<(V8_ROOT)/include/v8.h',
616          '<(V8_ROOT)/include/v8config.h',
617
618          # The following headers cannot be platform-specific. The include validation
619          # of `gn gen $dir --check` requires all header files to be available on all
620          # platforms.
621          '<(V8_ROOT)/include/v8-wasm-trap-handler-posix.h',
622          '<(V8_ROOT)/include/v8-wasm-trap-handler-win.h',
623        ],
624      },
625    },  # v8_headers
626    {
627      'target_name': 'v8_shared_internal_headers',
628      'type': 'none',
629      'conditions': [
630        ['want_separate_host_toolset', {
631          'toolsets': ['host', 'target'],
632        }],
633      ],
634      'dependencies': [
635        'v8_headers',
636      ],
637      'direct_dependent_settings': {
638        'sources': [
639          '<(V8_ROOT)/src/common/globals.h',
640        ],
641      },
642    },  # v8_shared_internal_headers
643    {
644      'target_name': 'v8_compiler_opt',
645      'type': 'static_library',
646      'dependencies': [
647        'generate_bytecode_builtins_list',
648        'run_torque',
649        'v8_maybe_icu',
650      ],
651      'sources': ['<@(v8_compiler_sources)'],
652      'conditions': [
653        ['want_separate_host_toolset', {
654          'toolsets': ['host', 'target'],
655        }],
656        ['OS=="win"', {
657          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
658          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
659          'sources': [
660            '<(_msvs_precompiled_header)',
661            '<(_msvs_precompiled_source)',
662          ],
663        }],
664      ],
665    },  # v8_compiler_opt
666    {
667      'target_name': 'v8_compiler',
668      'type': 'static_library',
669      'dependencies': [
670        'generate_bytecode_builtins_list',
671        'run_torque',
672        'v8_maybe_icu',
673      ],
674      'sources': ['<@(v8_compiler_sources)'],
675      'conditions': [
676        ['want_separate_host_toolset', {
677          'toolsets': ['host', 'target'],
678        }],
679        ['OS=="win"', {
680          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
681          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
682          'sources': [
683            '<(_msvs_precompiled_header)',
684            '<(_msvs_precompiled_source)',
685          ],
686        }],
687      ],
688    },  # v8_compiler
689    {
690      'target_name': 'v8_compiler_for_mksnapshot',
691      'type': 'none',
692      'hard_dependency': 1,
693      'dependencies': [
694        'generate_bytecode_builtins_list',
695        'run_torque',
696        'v8_maybe_icu',
697      ],
698      'conditions': [
699        ['want_separate_host_toolset', {
700          'toolsets': ['host', 'target'],
701        }],
702        ['is_component_build and not v8_optimized_debug and v8_enable_fast_mksnapshot', {
703          'dependencies': [
704            'v8_compiler_opt',
705          ],
706          'export_dependent_settings': [
707            'v8_compiler_opt',
708          ],
709        }, {
710           'dependencies': [
711             'v8_compiler',
712           ],
713           'export_dependent_settings': [
714             'v8_compiler',
715           ],
716         }],
717      ],
718    },  # v8_compiler_for_mksnapshot
719    {
720      'target_name': 'v8_base_without_compiler',
721      'type': 'static_library',
722      'dependencies': [
723        # Code generators that only need to be build for the host.
724        'torque_generated_definitions',
725        'v8_headers',
726        'v8_libbase',
727        'v8_libsampler',
728        'v8_shared_internal_headers',
729        'v8_version',
730        # BUILD.gn public_deps
731        'generate_bytecode_builtins_list',
732        'run_torque',
733        'v8_maybe_icu',
734        'v8_zlib',
735      ],
736      'includes': ['inspector.gypi'],
737      'direct_dependent_settings': {
738        'include_dirs': [
739          '<(generate_bytecode_output_root)',
740          '<(torque_output_root)',
741        ],
742      },
743      'sources': [
744        # "//base/trace_event/common/trace_event_common.h",
745
746        ### gcmole(all) ###
747        '<(generate_bytecode_builtins_list_output)',
748
749        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?sources = ")',
750
751        '<@(inspector_all_sources)',
752      ],
753      'conditions': [
754        ['v8_enable_third_party_heap==1', {
755          # TODO(targos): add values from v8_third_party_heap_files to sources
756        }, {
757          'sources': [
758            '<(V8_ROOT)/src/heap/third-party/heap-api-stub.cc',
759          ],
760        }],
761        ['want_separate_host_toolset', {
762          'toolsets': ['host', 'target'],
763        }],
764        ['v8_control_flow_integrity==1', {
765          'sources': [
766            '<(V8_ROOT)/src/execution/arm64/pointer-authentication-arm64.h',
767          ],
768        }, {
769          'sources': [
770            '<(V8_ROOT)/src/execution/pointer-authentication-dummy.h',
771          ],
772        }],
773        ['v8_target_arch=="ia32"', {
774          'sources': [  ### gcmole(arch:ia32) ###
775            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x86.*?sources \+= ")',
776          ],
777        }],
778        ['v8_target_arch=="x64"', {
779          'sources': [  ### gcmole(arch:x64) ###
780            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x64.*?sources \+= ")',
781          ],
782          'conditions': [
783            # iOS Xcode simulator builds run on an x64 target. iOS and macOS are both
784            # based on Darwin and thus POSIX-compliant to a similar degree.
785            ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', {
786              'sources': [
787                '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?is_linux.*?sources \+= ")',
788              ],
789            }],
790            ['OS=="win"', {
791              'sources': [
792                '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?is_win.*?sources \+= ")',
793              ],
794            }],
795          ],
796        }],
797        ['v8_target_arch=="arm"', {
798          'sources': [  ### gcmole(arch:arm) ###
799            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"arm\\".*?sources \+= ")',
800          ],
801        }],
802        ['v8_target_arch=="arm64"', {
803          'sources': [  ### gcmole(arch:arm64) ###
804            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"arm64\\".*?sources \+= ")',
805          ],
806          'conditions': [
807            ['OS=="win"', {
808              'sources': [
809                "<(V8_ROOT)/src/diagnostics/unwinding-info-win64.cc",
810                "<(V8_ROOT)/src/diagnostics/unwinding-info-win64.h"
811              ],
812            }],
813          ],
814          'conditions': [
815            ['OS=="win"', {
816              'sources': [
817                "<(V8_ROOT)/src/diagnostics/unwinding-info-win64.cc",
818                "<(V8_ROOT)/src/diagnostics/unwinding-info-win64.h"
819              ],
820            }],
821          ],
822        }],
823        ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
824          'sources': [  ### gcmole(arch:mipsel) ###
825            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"mips\\".*?sources \+= ")',
826          ],
827        }],
828        ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
829          'sources': [  ### gcmole(arch:mips64el) ###
830            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"mips64\\".*?sources \+= ")',
831          ],
832        }],
833        ['v8_target_arch=="ppc"', {
834          'sources': [  ### gcmole(arch:ppc) ###
835            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"ppc\\".*?sources \+= ")',
836          ],
837        }],
838        ['v8_target_arch=="ppc64"', {
839          'sources': [  ### gcmole(arch:ppc64) ###
840            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"ppc64\\".*?sources \+= ")',
841          ],
842        }],
843        ['v8_target_arch=="s390x"', {
844          'sources': [  ### gcmole(arch:s390) ###
845            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"s390\\".*?sources \+= ")',
846          ],
847        }],
848        ['OS=="win"', {
849          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
850          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
851          'sources': [
852            '<(_msvs_precompiled_header)',
853            '<(_msvs_precompiled_source)',
854          ],
855          # This will prevent V8's .cc files conflicting with the inspector's
856          # .cpp files in the same shard.
857          'msvs_settings': {
858            'VCCLCompilerTool': {
859              'ObjectFile': '$(IntDir)%(Extension)\\',
860            },
861          },
862        }],
863        ['component=="shared_library"', {
864          'defines': [
865            'BUILDING_V8_SHARED',
866          ],
867        }],
868        ['v8_enable_i18n_support', {
869          'dependencies': [
870            'run_gen-regexp-special-case',
871          ],
872          'sources': [
873            '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
874          ],
875          'conditions': [
876            ['icu_use_data_file_flag', {
877              'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE'],
878            }, {
879               'conditions': [
880                 ['OS=="win"', {
881                   'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_SHARED'],
882                 }, {
883                    'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC'],
884                  }],
885               ],
886             }],
887            ['OS=="win"', {
888              'dependencies': [
889                '<(icu_gyp_path):icudata#target',
890              ],
891            }],
892          ],
893        }, {  # v8_enable_i18n_support==0
894           'sources!': [
895             '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_enable_i18n_support.*?sources -= ")',
896           ],
897         }],
898        ['v8_postmortem_support', {
899          'dependencies': ['postmortem-metadata#target'],
900        }],
901        ['v8_enable_third_party_heap', {
902          # TODO(targos): add values from v8_third_party_heap_libs to link_settings.libraries
903        }],
904        # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
905        # to implement atomic memory access
906        ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm"]', {
907          'link_settings': {
908            'libraries': ['-latomic', ],
909          },
910        }],
911      ],
912    },  # v8_base_without_compiler
913    {
914      'target_name': 'v8_base',
915      'type': 'none',
916      'conditions': [
917        ['want_separate_host_toolset', {
918          'toolsets': ['host', 'target'],
919        }],
920      ],
921      'dependencies': [
922        'v8_base_without_compiler',
923        'v8_compiler',
924      ],
925    },  # v8_base
926    {
927      'target_name': 'torque_base',
928      'type': 'static_library',
929      'conditions': [
930        ['want_separate_host_toolset', {
931          'toolsets': ['host', 'target'],
932        }],
933      ],
934      'sources': [
935        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"torque_base.*?sources = ")',
936      ],
937      'dependencies': [
938        'v8_shared_internal_headers',
939        'v8_libbase',
940      ],
941      'defines!': [
942        '_HAS_EXCEPTIONS=0',
943        'BUILDING_V8_SHARED=1',
944      ],
945      'cflags_cc!': ['-fno-exceptions'],
946      'cflags_cc': ['-fexceptions'],
947      'xcode_settings': {
948        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',  # -fexceptions
949      },
950      'msvs_settings': {
951        'VCCLCompilerTool': {
952          'RuntimeTypeInfo': 'true',
953          'ExceptionHandling': 1,
954        },
955      },
956    },  # torque_base
957    {
958      'target_name': 'torque_ls_base',
959      'type': 'static_library',
960      'conditions': [
961        ['want_separate_host_toolset', {
962          'toolsets': ['host', 'target'],
963        }],
964      ],
965      'sources': [
966        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"torque_ls_base.*?sources = ")',
967      ],
968      'dependencies': [
969        'torque_base',
970      ],
971      'defines!': [
972        '_HAS_EXCEPTIONS=0',
973        'BUILDING_V8_SHARED=1',
974      ],
975      'cflags_cc!': ['-fno-exceptions'],
976      'cflags_cc': ['-fexceptions'],
977      'xcode_settings': {
978        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',  # -fexceptions
979      },
980      'msvs_settings': {
981        'VCCLCompilerTool': {
982          'RuntimeTypeInfo': 'true',
983          'ExceptionHandling': 1,
984        },
985      },
986    },  # torque_ls_base
987    {
988      'target_name': 'v8_libbase',
989      'type': 'static_library',
990      'sources': [
991        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_libbase.*?sources = ")',
992      ],
993
994      'dependencies': [
995        'v8_headers',
996      ],
997
998      'conditions': [
999        ['want_separate_host_toolset', {
1000          'toolsets': ['host', 'target'],
1001        }],
1002        ['is_component_build', {
1003          'defines': ["BUILDING_V8_BASE_SHARED"],
1004        }],
1005        ['is_posix or is_fuchsia', {
1006          'sources': [
1007            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
1008            '<(V8_ROOT)/src/base/platform/platform-posix.h',
1009          ],
1010          'conditions': [
1011            ['OS != "aix" and OS != "solaris"', {
1012              'sources': [
1013                '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
1014                '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
1015              ],
1016            }],
1017          ],
1018        }],
1019        ['OS=="linux"', {
1020          'sources': [
1021            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1022            '<(V8_ROOT)/src/base/platform/platform-linux.cc',
1023          ],
1024          'link_settings': {
1025            'libraries': [
1026              '-ldl',
1027              '-lrt'
1028            ],
1029          },
1030        }],
1031        ['OS=="aix"', {
1032          'variables': {
1033            # Used to differentiate `AIX` and `OS400`(IBM i).
1034            'aix_variant_name': '<!(uname -s)',
1035          },
1036          'sources': [
1037            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1038            '<(V8_ROOT)/src/base/platform/platform-aix.cc',
1039          ],
1040          'conditions': [
1041            [ '"<(aix_variant_name)"=="AIX"', { # It is `AIX`
1042              'link_settings': {
1043                'libraries': [
1044                  '-ldl',
1045                  '-lrt'
1046                ],
1047              },
1048            }],
1049          ],
1050        }],
1051        ['is_android', {
1052          'sources': [
1053            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
1054            '<(V8_ROOT)/src/base/platform/platform-posix.h',
1055            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
1056            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
1057          ],
1058          'link_settings': {
1059            'target_conditions': [
1060              ['_toolset=="host" and host_os=="linux"', {
1061                'libraries': [
1062                  '-ldl',
1063                  '-lrt'
1064                ],
1065              }],
1066            ],
1067          },
1068          'target_conditions': [
1069            ['_toolset=="host"', {
1070              'sources': [
1071                '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1072                '<(V8_ROOT)/src/base/platform/platform-linux.cc',
1073              ],
1074            }, {
1075              'sources': [
1076                '<(V8_ROOT)/src/base/debug/stack_trace_android.cc',
1077                '<(V8_ROOT)/src/base/platform/platform-linux.cc',
1078              ],
1079            }],
1080          ],
1081        }],
1082        ['is_fuchsia', {
1083          'sources': [
1084            '<(V8_ROOT)/src/base/debug/stack_trace_fuchsia.cc',
1085            '<(V8_ROOT)/src/base/platform/platform-fuchsia.cc',
1086          ]
1087        }],
1088        ['OS == "mac" or OS == "ios"', {
1089          'sources': [
1090            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1091            '<(V8_ROOT)/src/base/platform/platform-macos.cc',
1092          ]
1093        }],
1094        ['is_win', {
1095          'sources': [
1096            '<(V8_ROOT)/src/base/debug/stack_trace_win.cc',
1097            '<(V8_ROOT)/src/base/platform/platform-win32.cc',
1098            '<(V8_ROOT)/src/base/win32-headers.h',
1099          ],
1100          'conditions': [['target_arch == "arm64"', {
1101            'defines': ['_WIN32_WINNT=0x0602'], # For GetCurrentThreadStackLimits on Windows on Arm
1102          }]],
1103          'defines': ['_CRT_RAND_S'], # for rand_s()
1104          'direct_dependent_settings': {
1105            'msvs_settings': {
1106              'VCLinkerTool': {
1107                'AdditionalDependencies': [
1108                  'dbghelp.lib',
1109                  'winmm.lib',
1110                  'ws2_32.lib'
1111                ]
1112              }
1113            },
1114          },
1115        }],
1116        ['target_arch == "mips" or OS == "mips64"', {
1117          # here just for 'BUILD.gn' sync
1118          # 'data': [
1119          #   '<(V8_ROOT)/tools/mips_toolchain/sysroot/usr/lib/',
1120          #   '<(V8_ROOT)/tools/mips_toolchain/sysroot/usr/lib/',
1121          # ],
1122        }],
1123        # end of conditions from 'BUILD.gn'
1124
1125        # Node.js validated
1126        ['OS=="solaris"', {
1127          'link_settings': {
1128            'libraries': [
1129              '-lnsl',
1130              '-lrt',
1131            ]
1132          },
1133          'sources': [
1134            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1135            '<(V8_ROOT)/src/base/platform/platform-solaris.cc',
1136          ],
1137        }],
1138
1139        # YMMV with the following conditions
1140        ['OS=="qnx"', {
1141          'link_settings': {
1142            'target_conditions': [
1143              ['_toolset=="host" and host_os=="linux"', {
1144                'libraries': [
1145                  '-lrt'
1146                ],
1147              }],
1148              ['_toolset=="target"', {
1149                'libraries': [
1150                  '-lbacktrace'
1151                ],
1152              }],
1153            ],
1154          },
1155          'sources': [
1156            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1157            '<(V8_ROOT)/src/base/platform/platform-posix.h',
1158            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
1159            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
1160            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
1161            '<(V8_ROOT)/src/base/qnx-math.h'
1162          ],
1163          'target_conditions': [
1164            ['_toolset=="host" and host_os=="linux"', {
1165              'sources': [
1166                '<(V8_ROOT)/src/base/platform/platform-linux.cc'
1167              ],
1168            }],
1169            ['_toolset=="host" and host_os=="mac"', {
1170              'sources': [
1171                '<(V8_ROOT)/src/base/platform/platform-macos.cc'
1172              ],
1173            }],
1174            ['_toolset=="target"', {
1175              'sources': [
1176                '<(V8_ROOT)/src/base/platform/platform-qnx.cc'
1177              ],
1178            }],
1179          ],
1180        },
1181         ],
1182        ['OS=="freebsd"', {
1183          'link_settings': {
1184            'libraries': [
1185              '-L/usr/local/lib -lexecinfo',
1186            ]
1187          },
1188          'sources': [
1189            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1190            '<(V8_ROOT)/src/base/platform/platform-freebsd.cc',
1191            '<(V8_ROOT)/src/base/platform/platform-posix.h',
1192            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
1193            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
1194            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
1195          ],
1196        }
1197         ],
1198        ['OS=="openbsd"', {
1199          'link_settings': {
1200            'libraries': [
1201              '-L/usr/local/lib -lexecinfo',
1202            ]
1203          },
1204          'sources': [
1205            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1206            '<(V8_ROOT)/src/base/platform/platform-openbsd.cc',
1207            '<(V8_ROOT)/src/base/platform/platform-posix.h',
1208            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
1209            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
1210            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
1211          ],
1212        }
1213         ],
1214        ['OS=="netbsd"', {
1215          'link_settings': {
1216            'libraries': [
1217              '-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lexecinfo',
1218            ]
1219          },
1220          'sources': [
1221            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
1222            '<(V8_ROOT)/src/base/platform/platform-openbsd.cc',
1223            '<(V8_ROOT)/src/base/platform/platform-posix.h',
1224            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
1225            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
1226            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
1227          ],
1228        }
1229         ],
1230      ],
1231    },  # v8_libbase
1232    {
1233      'target_name': 'v8_libplatform',
1234      'type': 'static_library',
1235      'dependencies': [
1236        'v8_libbase',
1237      ],
1238      'sources': [
1239        '<(V8_ROOT)/base/trace_event/common/trace_event_common.h',
1240        '<(V8_ROOT)/include/libplatform/libplatform-export.h',
1241        '<(V8_ROOT)/include/libplatform/libplatform.h',
1242        '<(V8_ROOT)/include/libplatform/v8-tracing.h',
1243        '<(V8_ROOT)/src/libplatform/default-foreground-task-runner.cc',
1244        '<(V8_ROOT)/src/libplatform/default-foreground-task-runner.h',
1245        '<(V8_ROOT)/src/libplatform/default-job.cc',
1246        '<(V8_ROOT)/src/libplatform/default-job.h',
1247        '<(V8_ROOT)/src/libplatform/default-platform.cc',
1248        '<(V8_ROOT)/src/libplatform/default-platform.h',
1249        '<(V8_ROOT)/src/libplatform/default-worker-threads-task-runner.cc',
1250        '<(V8_ROOT)/src/libplatform/default-worker-threads-task-runner.h',
1251        '<(V8_ROOT)/src/libplatform/delayed-task-queue.cc',
1252        '<(V8_ROOT)/src/libplatform/delayed-task-queue.h',
1253        '<(V8_ROOT)/src/libplatform/task-queue.cc',
1254        '<(V8_ROOT)/src/libplatform/task-queue.h',
1255        '<(V8_ROOT)/src/libplatform/tracing/trace-buffer.cc',
1256        '<(V8_ROOT)/src/libplatform/tracing/trace-buffer.h',
1257        '<(V8_ROOT)/src/libplatform/tracing/trace-config.cc',
1258        '<(V8_ROOT)/src/libplatform/tracing/trace-object.cc',
1259        '<(V8_ROOT)/src/libplatform/tracing/trace-writer.cc',
1260        '<(V8_ROOT)/src/libplatform/tracing/trace-writer.h',
1261        '<(V8_ROOT)/src/libplatform/tracing/tracing-controller.cc',
1262        '<(V8_ROOT)/src/libplatform/worker-thread.cc',
1263        '<(V8_ROOT)/src/libplatform/worker-thread.h',
1264      ],
1265      'conditions': [
1266        ['want_separate_host_toolset', {
1267          'toolsets': ['host', 'target'],
1268        }],
1269        ['component=="shared_library"', {
1270          'direct_dependent_settings': {
1271            'defines': ['USING_V8_PLATFORM_SHARED'],
1272          },
1273          'defines': ['BUILDING_V8_PLATFORM_SHARED'],
1274        }],
1275        ['v8_use_perfetto', {
1276          'sources': [
1277            '<(V8_ROOT)/src/libplatform/tracing/json-trace-event-listener.cc',
1278            '<(V8_ROOT)/src/libplatform/tracing/json-trace-event-listener.h',
1279            '<(V8_ROOT)/src/libplatform/tracing/trace-event-listener.cc',
1280            '<(V8_ROOT)/src/libplatform/tracing/trace-event-listener.h',
1281          ],
1282          'dependencies': [
1283            '<(V8_ROOT)/third_party/perfetto:libperfetto',
1284            '<(V8_ROOT)/third_party/perfetto/protos/perfetto/trace:lite',
1285          ],
1286        }],
1287      ],
1288      'direct_dependent_settings': {
1289        'include_dirs': [
1290          '<(V8_ROOT)/include',
1291        ],
1292      },
1293    },  # v8_libplatform
1294    {
1295      'target_name': 'v8_libsampler',
1296      'type': 'static_library',
1297      'conditions': [
1298        ['want_separate_host_toolset', {
1299          'toolsets': ['host', 'target'],
1300        }],
1301      ],
1302      'dependencies': [
1303        'v8_libbase',
1304      ],
1305      'sources': [
1306        '<(V8_ROOT)/src/libsampler/sampler.cc',
1307        '<(V8_ROOT)/src/libsampler/sampler.h'
1308      ],
1309    },  # v8_libsampler
1310    {
1311      'target_name': 'bytecode_builtins_list_generator',
1312      'type': 'executable',
1313      'conditions': [
1314        ['want_separate_host_toolset', {
1315          'toolsets': ['host'],
1316        }],
1317      ],
1318      'defines!': [
1319        'BUILDING_V8_SHARED=1',
1320      ],
1321      'dependencies': [
1322        "v8_libbase",
1323        # "build/win:default_exe_manifest",
1324      ],
1325      'sources': [
1326        "<(V8_ROOT)/src/builtins/generate-bytecodes-builtins-list.cc",
1327        "<(V8_ROOT)/src/interpreter/bytecode-operands.cc",
1328        "<(V8_ROOT)/src/interpreter/bytecode-operands.h",
1329        "<(V8_ROOT)/src/interpreter/bytecodes.cc",
1330        "<(V8_ROOT)/src/interpreter/bytecodes.h",
1331      ],
1332    },  # bytecode_builtins_list_generator
1333    {
1334      'target_name': 'mksnapshot',
1335      'type': 'executable',
1336      'dependencies': [
1337        'v8_base_without_compiler',
1338        'v8_compiler_for_mksnapshot',
1339        'v8_init',
1340        'v8_libbase',
1341        'v8_libplatform',
1342        'v8_maybe_icu',
1343        # "build/win:default_exe_manifest",
1344      ],
1345      'sources': [
1346        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"mksnapshot.*?sources = ")',
1347      ],
1348      'conditions': [
1349        ['want_separate_host_toolset', {
1350          'toolsets': ['host'],
1351        }],
1352      ],
1353    },  # mksnapshot
1354    {
1355      'target_name': 'torque',
1356      'type': 'executable',
1357      'dependencies': [
1358        'torque_base',
1359        # "build/win:default_exe_manifest",
1360      ],
1361      'conditions': [
1362        ['want_separate_host_toolset', {
1363          'toolsets': ['host'],
1364        }],
1365      ],
1366      'defines!': [
1367        '_HAS_EXCEPTIONS=0',
1368        'BUILDING_V8_SHARED=1',
1369      ],
1370      'cflags_cc!': ['-fno-exceptions'],
1371      'cflags_cc': ['-fexceptions'],
1372      'xcode_settings': {
1373        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',  # -fexceptions
1374      },
1375      'msvs_settings': {
1376        'VCCLCompilerTool': {
1377          'RuntimeTypeInfo': 'true',
1378          'ExceptionHandling': 1,
1379        },
1380        'VCLinkerTool': {
1381          'AdditionalDependencies': [
1382            'dbghelp.lib',
1383            'winmm.lib',
1384            'ws2_32.lib'
1385          ]
1386        }
1387      },
1388      'sources': [
1389        "<(V8_ROOT)/src/torque/torque.cc",
1390      ],
1391    },  # torque
1392    {
1393      'target_name': 'torque-language-server',
1394      'type': 'executable',
1395      'conditions': [
1396        ['want_separate_host_toolset', {
1397          'toolsets': ['host'],
1398        }],
1399      ],
1400      'dependencies': [
1401        'torque_base',
1402        'torque_ls_base',
1403        # "build/win:default_exe_manifest",
1404      ],
1405      'defines!': [
1406        '_HAS_EXCEPTIONS=0',
1407        'BUILDING_V8_SHARED=1',
1408      ],
1409      'msvs_settings': {
1410        'VCCLCompilerTool': {
1411          'RuntimeTypeInfo': 'true',
1412          'ExceptionHandling': 1,
1413        },
1414      },
1415      'sources': [
1416        "<(V8_ROOT)/src/torque/ls/torque-language-server.cc",
1417      ],
1418    },  # torque-language-server
1419    {
1420      'target_name': 'gen-regexp-special-case',
1421      'type': 'executable',
1422      'dependencies': [
1423        'v8_libbase',
1424        # "build/win:default_exe_manifest",
1425        'v8_maybe_icu',
1426      ],
1427      'conditions': [
1428        ['want_separate_host_toolset', {
1429          'toolsets': ['host'],
1430        }],
1431      ],
1432      'sources': [
1433        "<(V8_ROOT)/src/regexp/gen-regexp-special-case.cc",
1434      ],
1435    },  # gen-regexp-special-case
1436    {
1437      'target_name': 'run_gen-regexp-special-case',
1438      'type': 'none',
1439      'conditions': [
1440        ['want_separate_host_toolset', {
1441          'dependencies': ['gen-regexp-special-case#host'],
1442          'toolsets': ['host', 'target'],
1443        }, {
1444          'dependencies': ['gen-regexp-special-case'],
1445        }],
1446      ],
1447      'actions': [
1448        {
1449          'action_name': 'run_gen-regexp-special-case_action',
1450          'inputs': [
1451            '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)',
1452          ],
1453          'outputs': [
1454            '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
1455          ],
1456          'action': [
1457            'python',
1458            '<(V8_ROOT)/tools/run.py',
1459            '<@(_inputs)',
1460            '<@(_outputs)',
1461          ],
1462        },
1463      ],
1464    },  # run_gen-regexp-special-case
1465
1466    ###############################################################################
1467    # Public targets
1468    #
1469
1470    {
1471      'target_name': 'v8',
1472      'hard_dependency': 1,
1473      'toolsets': ['target'],
1474      'dependencies': [
1475        'v8_snapshot',
1476      ],
1477      'conditions': [
1478        ['component=="shared_library"', {
1479          'type': '<(component)',
1480          'sources': [
1481            # Note: on non-Windows we still build this file so that gyp
1482            # has some sources to link into the component.
1483            '<(V8_ROOT)/src/utils/v8dll-main.cc',
1484          ],
1485          'defines': [
1486            'BUILDING_V8_SHARED',
1487          ],
1488          'direct_dependent_settings': {
1489            'defines': [
1490              'USING_V8_SHARED',
1491            ],
1492          },
1493          'conditions': [
1494            ['OS=="mac"', {
1495              'xcode_settings': {
1496                'OTHER_LDFLAGS': ['-dynamiclib', '-all_load']
1497              },
1498            }],
1499            ['soname_version!=""', {
1500              'product_extension': 'so.<(soname_version)',
1501            }],
1502          ],
1503        },
1504         {
1505           'type': 'static_library',
1506         }],
1507      ],
1508      'direct_dependent_settings': {
1509        'include_dirs': [
1510          '<(V8_ROOT)/include',
1511        ],
1512      },
1513      'actions': [
1514        {
1515          'action_name': 'v8_dump_build_config',
1516          'inputs': [
1517            '<(V8_ROOT)/tools/testrunner/utils/dump_build_config_gyp.py',
1518          ],
1519          'outputs': [
1520            '<(PRODUCT_DIR)/v8_build_config.json',
1521          ],
1522          'variables': {
1523            'v8_dump_build_config_args': [
1524              '<(PRODUCT_DIR)/v8_build_config.json',
1525              'dcheck_always_on=<(dcheck_always_on)',
1526              'is_android=<(is_android)',
1527              'is_asan=<(asan)',
1528              'is_cfi=<(cfi_vptr)',
1529              'is_clang=<(clang)',
1530              'is_component_build=<(component)',
1531              'is_debug=<(CONFIGURATION_NAME)',
1532              # Not available in gyp.
1533              'is_gcov_coverage=0',
1534              'is_msan=<(msan)',
1535              'is_tsan=<(tsan)',
1536              # Not available in gyp.
1537              'is_ubsan_vptr=0',
1538              'target_cpu=<(target_arch)',
1539              'v8_enable_i18n_support=<(v8_enable_i18n_support)',
1540              'v8_enable_verify_predictable=<(v8_enable_verify_predictable)',
1541              'v8_target_cpu=<(v8_target_arch)',
1542              'v8_use_siphash=<(v8_use_siphash)',
1543              'v8_enable_verify_csa=<(v8_enable_verify_csa)',
1544              'v8_enable_lite_mode=<(v8_enable_lite_mode)',
1545              'v8_enable_pointer_compression=<(v8_enable_pointer_compression)',
1546            ]
1547          },
1548          'conditions': [
1549            ['v8_target_arch=="mips" or v8_target_arch=="mipsel" \
1550              or v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
1551              'v8_dump_build_config_args': [
1552                'mips_arch_variant=<(mips_arch_variant)',
1553                'mips_use_msa=<(mips_use_msa)',
1554              ],
1555            }],
1556          ],
1557          'action': [
1558            'python', '<(V8_ROOT)/tools/testrunner/utils/dump_build_config_gyp.py',
1559            '<@(v8_dump_build_config_args)',
1560          ],
1561        },
1562      ],
1563    },  # v8
1564    # missing a bunch of fuzzer targets
1565
1566    ###############################################################################
1567    # Protobuf targets, used only when building outside of chromium.
1568    #
1569
1570    {
1571      'target_name': 'postmortem-metadata',
1572      'type': 'none',
1573      'conditions': [
1574        ['want_separate_host_toolset', {
1575          'toolsets': ['host', 'target'],
1576        }],
1577      ],
1578      'dependencies': ['run_torque'],
1579      'variables': {
1580        'heapobject_files': [
1581          '<(V8_ROOT)/src/objects/objects.h',
1582          '<(V8_ROOT)/src/objects/objects-inl.h',
1583          '<(V8_ROOT)/src/objects/allocation-site-inl.h',
1584          '<(V8_ROOT)/src/objects/allocation-site.h',
1585          '<(V8_ROOT)/src/objects/cell-inl.h',
1586          '<(V8_ROOT)/src/objects/cell.h',
1587          '<(V8_ROOT)/src/objects/code-inl.h',
1588          '<(V8_ROOT)/src/objects/code.h',
1589          '<(V8_ROOT)/src/objects/data-handler.h',
1590          '<(V8_ROOT)/src/objects/data-handler-inl.h',
1591          '<(V8_ROOT)/src/objects/descriptor-array.h',
1592          '<(V8_ROOT)/src/objects/descriptor-array-inl.h',
1593          '<(V8_ROOT)/src/objects/feedback-cell.h',
1594          '<(V8_ROOT)/src/objects/feedback-cell-inl.h',
1595          '<(V8_ROOT)/src/objects/fixed-array-inl.h',
1596          '<(V8_ROOT)/src/objects/fixed-array.h',
1597          '<(V8_ROOT)/src/objects/heap-number-inl.h',
1598          '<(V8_ROOT)/src/objects/heap-number.h',
1599          '<(V8_ROOT)/src/objects/heap-object-inl.h',
1600          '<(V8_ROOT)/src/objects/heap-object.h',
1601          '<(V8_ROOT)/src/objects/instance-type.h',
1602          '<(V8_ROOT)/src/objects/js-array-inl.h',
1603          '<(V8_ROOT)/src/objects/js-array.h',
1604          '<(V8_ROOT)/src/objects/js-aggregate-error-inl.h',
1605          '<(V8_ROOT)/src/objects/js-aggregate-error.h',
1606          '<(V8_ROOT)/src/objects/js-array-buffer-inl.h',
1607          '<(V8_ROOT)/src/objects/js-array-buffer.h',
1608          '<(V8_ROOT)/src/objects/js-objects-inl.h',
1609          '<(V8_ROOT)/src/objects/js-objects.h',
1610          '<(V8_ROOT)/src/objects/js-promise-inl.h',
1611          '<(V8_ROOT)/src/objects/js-promise.h',
1612          '<(V8_ROOT)/src/objects/js-regexp-inl.h',
1613          '<(V8_ROOT)/src/objects/js-regexp.cc',
1614          '<(V8_ROOT)/src/objects/js-regexp.h',
1615          '<(V8_ROOT)/src/objects/js-regexp-string-iterator-inl.h',
1616          '<(V8_ROOT)/src/objects/js-regexp-string-iterator.h',
1617          '<(V8_ROOT)/src/objects/map.h',
1618          '<(V8_ROOT)/src/objects/map.cc',
1619          '<(V8_ROOT)/src/objects/map-inl.h',
1620          '<(V8_ROOT)/src/objects/js-objects.cc',
1621          '<(V8_ROOT)/src/objects/name.h',
1622          '<(V8_ROOT)/src/objects/name-inl.h',
1623          '<(V8_ROOT)/src/objects/oddball-inl.h',
1624          '<(V8_ROOT)/src/objects/oddball.h',
1625          '<(V8_ROOT)/src/objects/primitive-heap-object.h',
1626          '<(V8_ROOT)/src/objects/primitive-heap-object-inl.h',
1627          '<(V8_ROOT)/src/objects/scope-info.h',
1628          '<(V8_ROOT)/src/objects/script.h',
1629          '<(V8_ROOT)/src/objects/script-inl.h',
1630          '<(V8_ROOT)/src/objects/shared-function-info.h',
1631          '<(V8_ROOT)/src/objects/shared-function-info-inl.h',
1632          '<(V8_ROOT)/src/objects/string.cc',
1633          '<(V8_ROOT)/src/objects/string.h',
1634          '<(V8_ROOT)/src/objects/string-comparator.cc',
1635          '<(V8_ROOT)/src/objects/string-comparator.h',
1636          '<(V8_ROOT)/src/objects/string-inl.h',
1637          '<(V8_ROOT)/src/objects/struct.h',
1638          '<(V8_ROOT)/src/objects/struct-inl.h',
1639          '<(torque_output_root)/torque-generated/instance-types-tq.h',
1640        ],
1641      },
1642      'actions': [
1643        {
1644          'action_name': 'gen-postmortem-metadata',
1645          'inputs': [
1646            '<(V8_ROOT)/tools/gen-postmortem-metadata.py',
1647            '<@(heapobject_files)',
1648          ],
1649          'outputs': [
1650            '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
1651          ],
1652          'action': [
1653            'python',
1654            '<(V8_ROOT)/tools/gen-postmortem-metadata.py',
1655            '<@(_outputs)',
1656            '<@(heapobject_files)'
1657          ],
1658        },
1659      ],
1660      'direct_dependent_settings': {
1661        'sources': ['<(SHARED_INTERMEDIATE_DIR)/debug-support.cc', ],
1662      },
1663    },  # postmortem-metadata
1664
1665    {
1666      'target_name': 'v8_zlib',
1667      'type': 'static_library',
1668      'conditions': [
1669        ['want_separate_host_toolset', {
1670          'toolsets': ['host', 'target'],
1671        }],
1672        ['OS=="win"', {
1673          'conditions': [
1674            ['"<(target_arch)"=="arm64" and _toolset=="target"', {
1675              'defines': ['CPU_NO_SIMD']
1676            }, {
1677              'defines': ['X86_WINDOWS']
1678            }]
1679          ]
1680        }],
1681      ],
1682      'direct_dependent_settings': {
1683        'include_dirs': [
1684          '<(V8_ROOT)/third_party/zlib',
1685          '<(V8_ROOT)/third_party/zlib/google',
1686        ],
1687      },
1688      'defines': [ 'ZLIB_IMPLEMENTATION' ],
1689      'include_dirs': [
1690        '<(V8_ROOT)/third_party/zlib',
1691        '<(V8_ROOT)/third_party/zlib/google',
1692      ],
1693      'sources': [
1694        '<(V8_ROOT)/third_party/zlib/adler32.c',
1695        '<(V8_ROOT)/third_party/zlib/chromeconf.h',
1696        '<(V8_ROOT)/third_party/zlib/compress.c',
1697        '<(V8_ROOT)/third_party/zlib/contrib/optimizations/insert_string.h',
1698        '<(V8_ROOT)/third_party/zlib/contrib/optimizations/insert_string.h',
1699        '<(V8_ROOT)/third_party/zlib/cpu_features.c',
1700        '<(V8_ROOT)/third_party/zlib/cpu_features.h',
1701        '<(V8_ROOT)/third_party/zlib/crc32.c',
1702        '<(V8_ROOT)/third_party/zlib/crc32.h',
1703        '<(V8_ROOT)/third_party/zlib/deflate.c',
1704        '<(V8_ROOT)/third_party/zlib/deflate.h',
1705        '<(V8_ROOT)/third_party/zlib/gzclose.c',
1706        '<(V8_ROOT)/third_party/zlib/gzguts.h',
1707        '<(V8_ROOT)/third_party/zlib/gzlib.c',
1708        '<(V8_ROOT)/third_party/zlib/gzread.c',
1709        '<(V8_ROOT)/third_party/zlib/gzwrite.c',
1710        '<(V8_ROOT)/third_party/zlib/infback.c',
1711        '<(V8_ROOT)/third_party/zlib/inffast.c',
1712        '<(V8_ROOT)/third_party/zlib/inffast.h',
1713        '<(V8_ROOT)/third_party/zlib/inffixed.h',
1714        '<(V8_ROOT)/third_party/zlib/inflate.c',
1715        '<(V8_ROOT)/third_party/zlib/inflate.h',
1716        '<(V8_ROOT)/third_party/zlib/inftrees.c',
1717        '<(V8_ROOT)/third_party/zlib/inftrees.h',
1718        '<(V8_ROOT)/third_party/zlib/trees.c',
1719        '<(V8_ROOT)/third_party/zlib/trees.h',
1720        '<(V8_ROOT)/third_party/zlib/uncompr.c',
1721        '<(V8_ROOT)/third_party/zlib/zconf.h',
1722        '<(V8_ROOT)/third_party/zlib/zlib.h',
1723        '<(V8_ROOT)/third_party/zlib/zutil.c',
1724        '<(V8_ROOT)/third_party/zlib/zutil.h',
1725        '<(V8_ROOT)/third_party/zlib/google/compression_utils_portable.cc',
1726        '<(V8_ROOT)/third_party/zlib/google/compression_utils_portable.h',
1727      ],
1728    },  # v8_zlib
1729  ],
1730}
1731