11cb0ef41Sopenharmony_ci# Copyright 2012 the V8 project authors. All rights reserved.
21cb0ef41Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
31cb0ef41Sopenharmony_ci# found in the LICENSE file.
41cb0ef41Sopenharmony_ci{
51cb0ef41Sopenharmony_ci  'variables': {
61cb0ef41Sopenharmony_ci    'V8_ROOT': '../../deps/v8',
71cb0ef41Sopenharmony_ci    'v8_code': 1,
81cb0ef41Sopenharmony_ci    'v8_random_seed%': 314159265,
91cb0ef41Sopenharmony_ci    'v8_vector_stores%': 0,
101cb0ef41Sopenharmony_ci    'v8_embed_script%': "",
111cb0ef41Sopenharmony_ci    'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
121cb0ef41Sopenharmony_ci    'v8_os_page_size%': 0,
131cb0ef41Sopenharmony_ci    'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
141cb0ef41Sopenharmony_ci    'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
151cb0ef41Sopenharmony_ci    'torque_files': ['<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "torque_files = ")'],
161cb0ef41Sopenharmony_ci    # Torque and V8 expect the files to be named relative to V8's root.
171cb0ef41Sopenharmony_ci    'torque_files_without_v8_root': ['<!@pymod_do_main(ForEachReplace "<@(V8_ROOT)/" "" <@(torque_files))'],
181cb0ef41Sopenharmony_ci    'torque_files_replaced': ['<!@pymod_do_main(ForEachReplace ".tq" "-tq" <@(torque_files_without_v8_root))'],
191cb0ef41Sopenharmony_ci    'torque_outputs_csa_cc': ['<!@pymod_do_main(ForEachFormat "<(SHARED_INTERMEDIATE_DIR)/torque-generated/%s-csa.cc" <@(torque_files_replaced))'],
201cb0ef41Sopenharmony_ci    'torque_outputs_csa_h': ['<!@pymod_do_main(ForEachFormat "<(SHARED_INTERMEDIATE_DIR)/torque-generated/%s-csa.h" <@(torque_files_replaced))'],
211cb0ef41Sopenharmony_ci    'torque_outputs_inl_inc': ['<!@pymod_do_main(ForEachFormat "<(SHARED_INTERMEDIATE_DIR)/torque-generated/%s-inl.inc" <@(torque_files_replaced))'],
221cb0ef41Sopenharmony_ci    'torque_outputs_cc': ['<!@pymod_do_main(ForEachFormat "<(SHARED_INTERMEDIATE_DIR)/torque-generated/%s.cc" <@(torque_files_replaced))'],
231cb0ef41Sopenharmony_ci    'torque_outputs_inc': ['<!@pymod_do_main(ForEachFormat "<(SHARED_INTERMEDIATE_DIR)/torque-generated/%s.inc" <@(torque_files_replaced))'],
241cb0ef41Sopenharmony_ci    'v8_compiler_sources': ['<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_compiler_sources = ")'],
251cb0ef41Sopenharmony_ci    'conditions': [
261cb0ef41Sopenharmony_ci      ['v8_enable_i18n_support==1', {
271cb0ef41Sopenharmony_ci        'torque_files': [
281cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "torque_files =.*?v8_enable_i18n_support.*?torque_files \\+= ")',
291cb0ef41Sopenharmony_ci        ],
301cb0ef41Sopenharmony_ci      }],
311cb0ef41Sopenharmony_ci      ['v8_enable_webassembly==1', {
321cb0ef41Sopenharmony_ci        'torque_files': [
331cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "torque_files =.*?v8_enable_webassembly.*?torque_files \\+= ")',
341cb0ef41Sopenharmony_ci        ],
351cb0ef41Sopenharmony_ci        'v8_compiler_sources': [
361cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_compiler_sources =.*?v8_enable_webassembly.*?v8_compiler_sources \\+= ")',
371cb0ef41Sopenharmony_ci        ],
381cb0ef41Sopenharmony_ci      }],
391cb0ef41Sopenharmony_ci    ],
401cb0ef41Sopenharmony_ci  },
411cb0ef41Sopenharmony_ci  'includes': ['toolchain.gypi', 'features.gypi'],
421cb0ef41Sopenharmony_ci  'target_defaults': {
431cb0ef41Sopenharmony_ci    'msvs_settings': {
441cb0ef41Sopenharmony_ci      'VCCLCompilerTool': {
451cb0ef41Sopenharmony_ci        'AdditionalOptions': ['/utf-8']
461cb0ef41Sopenharmony_ci      }
471cb0ef41Sopenharmony_ci    },
481cb0ef41Sopenharmony_ci  },
491cb0ef41Sopenharmony_ci  'targets': [
501cb0ef41Sopenharmony_ci    {
511cb0ef41Sopenharmony_ci      'target_name': 'run_torque',
521cb0ef41Sopenharmony_ci      'type': 'none',
531cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
541cb0ef41Sopenharmony_ci      'conditions': [
551cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
561cb0ef41Sopenharmony_ci          'dependencies': ['torque#host'],
571cb0ef41Sopenharmony_ci        }, {
581cb0ef41Sopenharmony_ci          'dependencies': ['torque#target'],
591cb0ef41Sopenharmony_ci        }],
601cb0ef41Sopenharmony_ci      ],
611cb0ef41Sopenharmony_ci      'hard_dependency': 1,
621cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
631cb0ef41Sopenharmony_ci        'include_dirs': [
641cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)',
651cb0ef41Sopenharmony_ci        ],
661cb0ef41Sopenharmony_ci      },
671cb0ef41Sopenharmony_ci      'actions': [
681cb0ef41Sopenharmony_ci        {
691cb0ef41Sopenharmony_ci          'action_name': 'run_torque_action',
701cb0ef41Sopenharmony_ci          'inputs': [  # Order matters.
711cb0ef41Sopenharmony_ci            '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
721cb0ef41Sopenharmony_ci            '<@(torque_files)',
731cb0ef41Sopenharmony_ci          ],
741cb0ef41Sopenharmony_ci          'outputs': [
751cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/bit-fields.h",
761cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/builtin-definitions.h",
771cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-debug-readers.cc",
781cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-debug-readers.h",
791cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-forward-declarations.h",
801cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-verifiers.cc",
811cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-verifiers.h",
821cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/csa-types.h",
831cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/debug-macros.cc",
841cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/debug-macros.h",
851cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/enum-verifiers.cc",
861cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/exported-macros-assembler.cc",
871cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/exported-macros-assembler.h",
881cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/factory.cc",
891cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/factory.inc",
901cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/instance-types.h",
911cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/interface-descriptors.inc",
921cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/objects-body-descriptors-inl.inc",
931cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/objects-printer.cc",
941cb0ef41Sopenharmony_ci            "<(SHARED_INTERMEDIATE_DIR)/torque-generated/visitor-lists.h",
951cb0ef41Sopenharmony_ci            '<@(torque_outputs_csa_cc)',
961cb0ef41Sopenharmony_ci            '<@(torque_outputs_csa_h)',
971cb0ef41Sopenharmony_ci            '<@(torque_outputs_inl_inc)',
981cb0ef41Sopenharmony_ci            '<@(torque_outputs_cc)',
991cb0ef41Sopenharmony_ci            '<@(torque_outputs_inc)',
1001cb0ef41Sopenharmony_ci          ],
1011cb0ef41Sopenharmony_ci          'action': [
1021cb0ef41Sopenharmony_ci            '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
1031cb0ef41Sopenharmony_ci            '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated',
1041cb0ef41Sopenharmony_ci            '-v8-root', '<(V8_ROOT)',
1051cb0ef41Sopenharmony_ci            '<@(torque_files_without_v8_root)',
1061cb0ef41Sopenharmony_ci          ],
1071cb0ef41Sopenharmony_ci        },
1081cb0ef41Sopenharmony_ci      ],
1091cb0ef41Sopenharmony_ci    },  # run_torque
1101cb0ef41Sopenharmony_ci    {
1111cb0ef41Sopenharmony_ci      'target_name': 'v8_maybe_icu',
1121cb0ef41Sopenharmony_ci      'type': 'none',
1131cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
1141cb0ef41Sopenharmony_ci      'hard_dependency': 1,
1151cb0ef41Sopenharmony_ci      'conditions': [
1161cb0ef41Sopenharmony_ci        ['v8_enable_i18n_support==1', {
1171cb0ef41Sopenharmony_ci          'dependencies': [
1181cb0ef41Sopenharmony_ci            '<(icu_gyp_path):icui18n',
1191cb0ef41Sopenharmony_ci            '<(icu_gyp_path):icuuc',
1201cb0ef41Sopenharmony_ci          ],
1211cb0ef41Sopenharmony_ci          'export_dependent_settings': [
1221cb0ef41Sopenharmony_ci            '<(icu_gyp_path):icui18n',
1231cb0ef41Sopenharmony_ci            '<(icu_gyp_path):icuuc',
1241cb0ef41Sopenharmony_ci          ],
1251cb0ef41Sopenharmony_ci        }],
1261cb0ef41Sopenharmony_ci      ],
1271cb0ef41Sopenharmony_ci    },  # v8_maybe_icu
1281cb0ef41Sopenharmony_ci    {
1291cb0ef41Sopenharmony_ci      'target_name': 'torque_runtime_support',
1301cb0ef41Sopenharmony_ci      'type': 'none',
1311cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
1321cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
1331cb0ef41Sopenharmony_ci        'sources': [
1341cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/torque/runtime-support.h',
1351cb0ef41Sopenharmony_ci        ],
1361cb0ef41Sopenharmony_ci      },
1371cb0ef41Sopenharmony_ci    },  # torque_runtime_support
1381cb0ef41Sopenharmony_ci    {
1391cb0ef41Sopenharmony_ci      'target_name': 'torque_generated_initializers',
1401cb0ef41Sopenharmony_ci      'type': 'none',
1411cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
1421cb0ef41Sopenharmony_ci      'hard_dependency': 1,
1431cb0ef41Sopenharmony_ci      'dependencies': [
1441cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
1451cb0ef41Sopenharmony_ci        'run_torque',
1461cb0ef41Sopenharmony_ci        'v8_base_without_compiler',
1471cb0ef41Sopenharmony_ci        'torque_runtime_support',
1481cb0ef41Sopenharmony_ci        'v8_maybe_icu',
1491cb0ef41Sopenharmony_ci      ],
1501cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
1511cb0ef41Sopenharmony_ci        'sources': [
1521cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/csa-types.h',
1531cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/enum-verifiers.cc',
1541cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/exported-macros-assembler.cc',
1551cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/exported-macros-assembler.h',
1561cb0ef41Sopenharmony_ci          '<@(torque_outputs_csa_cc)',
1571cb0ef41Sopenharmony_ci          '<@(torque_outputs_csa_h)',
1581cb0ef41Sopenharmony_ci        ],
1591cb0ef41Sopenharmony_ci      }
1601cb0ef41Sopenharmony_ci    },  # torque_generated_initializers
1611cb0ef41Sopenharmony_ci    {
1621cb0ef41Sopenharmony_ci      'target_name': 'torque_generated_definitions',
1631cb0ef41Sopenharmony_ci      'type': 'none',
1641cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
1651cb0ef41Sopenharmony_ci      'hard_dependency': 1,
1661cb0ef41Sopenharmony_ci      'dependencies': [
1671cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
1681cb0ef41Sopenharmony_ci        'run_torque',
1691cb0ef41Sopenharmony_ci        'v8_internal_headers',
1701cb0ef41Sopenharmony_ci        'v8_libbase',
1711cb0ef41Sopenharmony_ci        'v8_maybe_icu',
1721cb0ef41Sopenharmony_ci      ],
1731cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
1741cb0ef41Sopenharmony_ci        'sources': [
1751cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-forward-declarations.h',
1761cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-verifiers.cc',
1771cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/class-verifiers.h',
1781cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/factory.cc',
1791cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/objects-printer.cc',
1801cb0ef41Sopenharmony_ci          '<@(torque_outputs_inl_inc)',
1811cb0ef41Sopenharmony_ci          '<@(torque_outputs_cc)',
1821cb0ef41Sopenharmony_ci          '<@(torque_outputs_inc)',
1831cb0ef41Sopenharmony_ci        ],
1841cb0ef41Sopenharmony_ci        'include_dirs': [
1851cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)',
1861cb0ef41Sopenharmony_ci        ],
1871cb0ef41Sopenharmony_ci      },
1881cb0ef41Sopenharmony_ci    },  # torque_generated_definitions
1891cb0ef41Sopenharmony_ci    {
1901cb0ef41Sopenharmony_ci      'target_name': 'generate_bytecode_builtins_list',
1911cb0ef41Sopenharmony_ci      'type': 'none',
1921cb0ef41Sopenharmony_ci      'hard_dependency': 1,
1931cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
1941cb0ef41Sopenharmony_ci      'conditions': [
1951cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
1961cb0ef41Sopenharmony_ci          'dependencies': ['bytecode_builtins_list_generator#host'],
1971cb0ef41Sopenharmony_ci        }, {
1981cb0ef41Sopenharmony_ci          'dependencies': ['bytecode_builtins_list_generator#target'],
1991cb0ef41Sopenharmony_ci        }],
2001cb0ef41Sopenharmony_ci      ],
2011cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
2021cb0ef41Sopenharmony_ci        'sources': [
2031cb0ef41Sopenharmony_ci          '<(generate_bytecode_builtins_list_output)',
2041cb0ef41Sopenharmony_ci        ],
2051cb0ef41Sopenharmony_ci        'include_dirs': [
2061cb0ef41Sopenharmony_ci          '<(generate_bytecode_output_root)',
2071cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)',
2081cb0ef41Sopenharmony_ci        ],
2091cb0ef41Sopenharmony_ci      },
2101cb0ef41Sopenharmony_ci      'actions': [
2111cb0ef41Sopenharmony_ci        {
2121cb0ef41Sopenharmony_ci          'action_name': 'generate_bytecode_builtins_list_action',
2131cb0ef41Sopenharmony_ci          'inputs': [
2141cb0ef41Sopenharmony_ci            '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)',
2151cb0ef41Sopenharmony_ci          ],
2161cb0ef41Sopenharmony_ci          'outputs': [
2171cb0ef41Sopenharmony_ci            '<(generate_bytecode_builtins_list_output)',
2181cb0ef41Sopenharmony_ci          ],
2191cb0ef41Sopenharmony_ci          'action': [
2201cb0ef41Sopenharmony_ci            '<(python)',
2211cb0ef41Sopenharmony_ci            '<(V8_ROOT)/tools/run.py',
2221cb0ef41Sopenharmony_ci            '<@(_inputs)',
2231cb0ef41Sopenharmony_ci            '<@(_outputs)',
2241cb0ef41Sopenharmony_ci          ],
2251cb0ef41Sopenharmony_ci        },
2261cb0ef41Sopenharmony_ci      ],
2271cb0ef41Sopenharmony_ci    },  # generate_bytecode_builtins_list
2281cb0ef41Sopenharmony_ci    {
2291cb0ef41Sopenharmony_ci      'target_name': 'v8_init',
2301cb0ef41Sopenharmony_ci      'type': 'static_library',
2311cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
2321cb0ef41Sopenharmony_ci      'dependencies': [
2331cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
2341cb0ef41Sopenharmony_ci        'run_torque',
2351cb0ef41Sopenharmony_ci        'v8_base_without_compiler',
2361cb0ef41Sopenharmony_ci        'v8_initializers',
2371cb0ef41Sopenharmony_ci        'v8_maybe_icu',
2381cb0ef41Sopenharmony_ci      ],
2391cb0ef41Sopenharmony_ci      'sources': [
2401cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/init/setup-isolate-full.cc',
2411cb0ef41Sopenharmony_ci      ],
2421cb0ef41Sopenharmony_ci    },  # v8_init
2431cb0ef41Sopenharmony_ci    {
2441cb0ef41Sopenharmony_ci      'target_name': 'v8_initializers',
2451cb0ef41Sopenharmony_ci      'type': 'static_library',
2461cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
2471cb0ef41Sopenharmony_ci      'dependencies': [
2481cb0ef41Sopenharmony_ci        'torque_generated_initializers',
2491cb0ef41Sopenharmony_ci        'v8_base_without_compiler',
2501cb0ef41Sopenharmony_ci        'v8_shared_internal_headers',
2511cb0ef41Sopenharmony_ci      ],
2521cb0ef41Sopenharmony_ci      'include_dirs': [
2531cb0ef41Sopenharmony_ci        '<(SHARED_INTERMEDIATE_DIR)',
2541cb0ef41Sopenharmony_ci        '<(generate_bytecode_output_root)',
2551cb0ef41Sopenharmony_ci      ],
2561cb0ef41Sopenharmony_ci      'sources': [
2571cb0ef41Sopenharmony_ci        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_initializers.*?sources = ")',
2581cb0ef41Sopenharmony_ci      ],
2591cb0ef41Sopenharmony_ci      'conditions': [
2601cb0ef41Sopenharmony_ci        ['v8_enable_webassembly==1', {
2611cb0ef41Sopenharmony_ci          'sources': [
2621cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_initializers.*?v8_enable_webassembly.*?sources \\+= ")',
2631cb0ef41Sopenharmony_ci          ],
2641cb0ef41Sopenharmony_ci        }],
2651cb0ef41Sopenharmony_ci        ['v8_target_arch=="ia32"', {
2661cb0ef41Sopenharmony_ci          'sources': [
2671cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/ia32/builtins-ia32.cc',
2681cb0ef41Sopenharmony_ci          ],
2691cb0ef41Sopenharmony_ci        }],
2701cb0ef41Sopenharmony_ci        ['v8_target_arch=="x64"', {
2711cb0ef41Sopenharmony_ci          'sources': [
2721cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/x64/builtins-x64.cc',
2731cb0ef41Sopenharmony_ci          ],
2741cb0ef41Sopenharmony_ci        }],
2751cb0ef41Sopenharmony_ci        ['v8_target_arch=="arm"', {
2761cb0ef41Sopenharmony_ci          'sources': [
2771cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/arm/builtins-arm.cc',
2781cb0ef41Sopenharmony_ci          ],
2791cb0ef41Sopenharmony_ci        }],
2801cb0ef41Sopenharmony_ci        ['v8_target_arch=="arm64"', {
2811cb0ef41Sopenharmony_ci          'sources': [
2821cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/arm64/builtins-arm64.cc',
2831cb0ef41Sopenharmony_ci          ],
2841cb0ef41Sopenharmony_ci        }],
2851cb0ef41Sopenharmony_ci        ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
2861cb0ef41Sopenharmony_ci          'sources': [
2871cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/mips/builtins-mips.cc',
2881cb0ef41Sopenharmony_ci          ],
2891cb0ef41Sopenharmony_ci        }],
2901cb0ef41Sopenharmony_ci        ['v8_target_arch=="riscv64" or v8_target_arch=="riscv64"', {
2911cb0ef41Sopenharmony_ci          'sources': [
2921cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/riscv64/builtins-riscv64.cc',
2931cb0ef41Sopenharmony_ci          ],
2941cb0ef41Sopenharmony_ci        }],        
2951cb0ef41Sopenharmony_ci        ['v8_target_arch=="loong64" or v8_target_arch=="loong64"', {
2961cb0ef41Sopenharmony_ci          'sources': [
2971cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/loong64/builtins-loong64.cc',
2981cb0ef41Sopenharmony_ci          ],
2991cb0ef41Sopenharmony_ci        }],        
3001cb0ef41Sopenharmony_ci        ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
3011cb0ef41Sopenharmony_ci          'sources': [
3021cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/mips64/builtins-mips64.cc',
3031cb0ef41Sopenharmony_ci          ],
3041cb0ef41Sopenharmony_ci        }],
3051cb0ef41Sopenharmony_ci        ['v8_target_arch=="ppc"', {
3061cb0ef41Sopenharmony_ci          'sources': [
3071cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/ppc/builtins-ppc.cc',
3081cb0ef41Sopenharmony_ci          ],
3091cb0ef41Sopenharmony_ci        }],
3101cb0ef41Sopenharmony_ci        ['v8_target_arch=="ppc64"', {
3111cb0ef41Sopenharmony_ci          'sources': [
3121cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/ppc/builtins-ppc.cc',
3131cb0ef41Sopenharmony_ci          ],
3141cb0ef41Sopenharmony_ci        }],
3151cb0ef41Sopenharmony_ci        ['v8_target_arch=="s390x"', {
3161cb0ef41Sopenharmony_ci          'sources': [
3171cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/builtins/s390/builtins-s390.cc',
3181cb0ef41Sopenharmony_ci          ],
3191cb0ef41Sopenharmony_ci        }],
3201cb0ef41Sopenharmony_ci        ['v8_enable_i18n_support==1', {
3211cb0ef41Sopenharmony_ci          'dependencies': [
3221cb0ef41Sopenharmony_ci            '<(icu_gyp_path):icui18n',
3231cb0ef41Sopenharmony_ci            '<(icu_gyp_path):icuuc',
3241cb0ef41Sopenharmony_ci          ],
3251cb0ef41Sopenharmony_ci        }, {
3261cb0ef41Sopenharmony_ci           'sources!': [
3271cb0ef41Sopenharmony_ci             '<(V8_ROOT)/src/builtins/builtins-intl-gen.cc',
3281cb0ef41Sopenharmony_ci           ],
3291cb0ef41Sopenharmony_ci         }],
3301cb0ef41Sopenharmony_ci        ['OS=="win"', {
3311cb0ef41Sopenharmony_ci          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
3321cb0ef41Sopenharmony_ci          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
3331cb0ef41Sopenharmony_ci          'sources': [
3341cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_header)',
3351cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_source)',
3361cb0ef41Sopenharmony_ci          ],
3371cb0ef41Sopenharmony_ci        }],
3381cb0ef41Sopenharmony_ci      ],
3391cb0ef41Sopenharmony_ci    },  # v8_initializers
3401cb0ef41Sopenharmony_ci    {
3411cb0ef41Sopenharmony_ci      'target_name': 'v8_snapshot',
3421cb0ef41Sopenharmony_ci      'type': 'static_library',
3431cb0ef41Sopenharmony_ci      'toolsets': ['target'],
3441cb0ef41Sopenharmony_ci      'conditions': [
3451cb0ef41Sopenharmony_ci        ['v8_control_flow_integrity==1', {
3461cb0ef41Sopenharmony_ci          'sources': [
3471cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/deoptimizer/deoptimizer-cfi-builtins.cc',
3481cb0ef41Sopenharmony_ci          ],
3491cb0ef41Sopenharmony_ci        }],
3501cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
3511cb0ef41Sopenharmony_ci          'conditions': [
3521cb0ef41Sopenharmony_ci            ['v8_target_arch=="arm64"', {
3531cb0ef41Sopenharmony_ci              'msvs_enable_marmasm': 1,
3541cb0ef41Sopenharmony_ci            }]
3551cb0ef41Sopenharmony_ci          ],
3561cb0ef41Sopenharmony_ci          'dependencies': [
3571cb0ef41Sopenharmony_ci            'generate_bytecode_builtins_list',
3581cb0ef41Sopenharmony_ci            'run_torque',
3591cb0ef41Sopenharmony_ci            'mksnapshot#host',
3601cb0ef41Sopenharmony_ci            'v8_maybe_icu',
3611cb0ef41Sopenharmony_ci            # [GYP] added explicitly, instead of inheriting from the other deps
3621cb0ef41Sopenharmony_ci            'v8_base_without_compiler',
3631cb0ef41Sopenharmony_ci            'v8_compiler_for_mksnapshot',
3641cb0ef41Sopenharmony_ci            'v8_initializers',
3651cb0ef41Sopenharmony_ci            'v8_libplatform',
3661cb0ef41Sopenharmony_ci          ]
3671cb0ef41Sopenharmony_ci        }, {
3681cb0ef41Sopenharmony_ci          'dependencies': [
3691cb0ef41Sopenharmony_ci            'generate_bytecode_builtins_list',
3701cb0ef41Sopenharmony_ci            'run_torque',
3711cb0ef41Sopenharmony_ci            'mksnapshot',
3721cb0ef41Sopenharmony_ci            'v8_maybe_icu',
3731cb0ef41Sopenharmony_ci            # [GYP] added explicitly, instead of inheriting from the other deps
3741cb0ef41Sopenharmony_ci            'v8_base_without_compiler',
3751cb0ef41Sopenharmony_ci            'v8_compiler_for_mksnapshot',
3761cb0ef41Sopenharmony_ci            'v8_initializers',
3771cb0ef41Sopenharmony_ci            'v8_libplatform',
3781cb0ef41Sopenharmony_ci          ]
3791cb0ef41Sopenharmony_ci        }],
3801cb0ef41Sopenharmony_ci      ],
3811cb0ef41Sopenharmony_ci      'include_dirs': [
3821cb0ef41Sopenharmony_ci        '<(SHARED_INTERMEDIATE_DIR)',
3831cb0ef41Sopenharmony_ci        '<(generate_bytecode_output_root)',
3841cb0ef41Sopenharmony_ci      ],
3851cb0ef41Sopenharmony_ci      'sources': [
3861cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/init/setup-isolate-deserialize.cc',
3871cb0ef41Sopenharmony_ci      ],
3881cb0ef41Sopenharmony_ci      'xcode_settings': {
3891cb0ef41Sopenharmony_ci        # V8 7.4 over macOS10.11 compatibility
3901cb0ef41Sopenharmony_ci        # Refs: https://github.com/nodejs/node/pull/26685
3911cb0ef41Sopenharmony_ci        'GCC_GENERATE_DEBUGGING_SYMBOLS': 'NO',
3921cb0ef41Sopenharmony_ci      },
3931cb0ef41Sopenharmony_ci      'actions': [
3941cb0ef41Sopenharmony_ci        {
3951cb0ef41Sopenharmony_ci          'action_name': 'run_mksnapshot',
3961cb0ef41Sopenharmony_ci          'message': 'generating: >@(_outputs)',
3971cb0ef41Sopenharmony_ci          'variables': {
3981cb0ef41Sopenharmony_ci            'mksnapshot_flags': [
3991cb0ef41Sopenharmony_ci              '--turbo_instruction_scheduling',
4001cb0ef41Sopenharmony_ci              # In cross builds, the snapshot may be generated for both the host and
4011cb0ef41Sopenharmony_ci              # target toolchains.  The same host binary is used to generate both, so
4021cb0ef41Sopenharmony_ci              # mksnapshot needs to know which target OS to use at runtime.  It's weird,
4031cb0ef41Sopenharmony_ci              # but the target OS is really <(OS).
4041cb0ef41Sopenharmony_ci              '--target_os=<(OS)',
4051cb0ef41Sopenharmony_ci              '--target_arch=<(v8_target_arch)',
4061cb0ef41Sopenharmony_ci              '--startup_src', '<(INTERMEDIATE_DIR)/snapshot.cc',
4071cb0ef41Sopenharmony_ci              '--embedded_variant', 'Default',
4081cb0ef41Sopenharmony_ci              '--embedded_src', '<(INTERMEDIATE_DIR)/embedded.S',
4091cb0ef41Sopenharmony_ci            ],
4101cb0ef41Sopenharmony_ci          },
4111cb0ef41Sopenharmony_ci          'inputs': [
4121cb0ef41Sopenharmony_ci            '<(mksnapshot_exec)',
4131cb0ef41Sopenharmony_ci          ],
4141cb0ef41Sopenharmony_ci          'outputs': [
4151cb0ef41Sopenharmony_ci            '<(INTERMEDIATE_DIR)/snapshot.cc',
4161cb0ef41Sopenharmony_ci            '<(INTERMEDIATE_DIR)/embedded.S',
4171cb0ef41Sopenharmony_ci          ],
4181cb0ef41Sopenharmony_ci          'process_outputs_as_sources': 1,
4191cb0ef41Sopenharmony_ci          'conditions': [
4201cb0ef41Sopenharmony_ci            ['v8_random_seed', {
4211cb0ef41Sopenharmony_ci              'variables': {
4221cb0ef41Sopenharmony_ci                'mksnapshot_flags': ['--random-seed', '<(v8_random_seed)'],
4231cb0ef41Sopenharmony_ci              },
4241cb0ef41Sopenharmony_ci            }],
4251cb0ef41Sopenharmony_ci            ['v8_os_page_size', {
4261cb0ef41Sopenharmony_ci              'variables': {
4271cb0ef41Sopenharmony_ci                'mksnapshot_flags': ['--v8_os_page_size', '<(v8_os_page_size)'],
4281cb0ef41Sopenharmony_ci              },
4291cb0ef41Sopenharmony_ci            }],
4301cb0ef41Sopenharmony_ci            ['v8_embed_script != ""', {
4311cb0ef41Sopenharmony_ci              'inputs': ['<(v8_embed_script)'],
4321cb0ef41Sopenharmony_ci              'variables': {
4331cb0ef41Sopenharmony_ci                'mksnapshot_flags': ['<(v8_embed_script)'],
4341cb0ef41Sopenharmony_ci              },
4351cb0ef41Sopenharmony_ci            }],
4361cb0ef41Sopenharmony_ci            ['v8_enable_snapshot_code_comments', {
4371cb0ef41Sopenharmony_ci              'variables': {
4381cb0ef41Sopenharmony_ci                'mksnapshot_flags': ['--code-comments'],
4391cb0ef41Sopenharmony_ci              },
4401cb0ef41Sopenharmony_ci            }],
4411cb0ef41Sopenharmony_ci            ['v8_enable_snapshot_native_code_counters', {
4421cb0ef41Sopenharmony_ci              'variables': {
4431cb0ef41Sopenharmony_ci                'mksnapshot_flags': ['--native-code-counters'],
4441cb0ef41Sopenharmony_ci              },
4451cb0ef41Sopenharmony_ci            }, {
4461cb0ef41Sopenharmony_ci               # --native-code-counters is the default in debug mode so make sure we can
4471cb0ef41Sopenharmony_ci               # unset it.
4481cb0ef41Sopenharmony_ci               'variables': {
4491cb0ef41Sopenharmony_ci                 'mksnapshot_flags': ['--no-native-code-counters'],
4501cb0ef41Sopenharmony_ci               },
4511cb0ef41Sopenharmony_ci             }],
4521cb0ef41Sopenharmony_ci          ],
4531cb0ef41Sopenharmony_ci          'action': [
4541cb0ef41Sopenharmony_ci            '>@(_inputs)',
4551cb0ef41Sopenharmony_ci            '>@(mksnapshot_flags)',
4561cb0ef41Sopenharmony_ci          ],
4571cb0ef41Sopenharmony_ci        },
4581cb0ef41Sopenharmony_ci      ],
4591cb0ef41Sopenharmony_ci    },  # v8_snapshot
4601cb0ef41Sopenharmony_ci    {
4611cb0ef41Sopenharmony_ci      'target_name': 'v8_version',
4621cb0ef41Sopenharmony_ci      'type': 'none',
4631cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
4641cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
4651cb0ef41Sopenharmony_ci        'sources': [
4661cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include/v8-value-serializer-version.h',
4671cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include/v8-version-string.h',
4681cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include/v8-version.h',
4691cb0ef41Sopenharmony_ci        ],
4701cb0ef41Sopenharmony_ci      },
4711cb0ef41Sopenharmony_ci    },  # v8_version
4721cb0ef41Sopenharmony_ci    {
4731cb0ef41Sopenharmony_ci      'target_name': 'v8_config_headers',
4741cb0ef41Sopenharmony_ci      'type': 'none',
4751cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
4761cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
4771cb0ef41Sopenharmony_ci        'sources': [
4781cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include/v8-platform.h',
4791cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include/v8config.h',
4801cb0ef41Sopenharmony_ci        ],
4811cb0ef41Sopenharmony_ci      },
4821cb0ef41Sopenharmony_ci    },  # v8_config_headers
4831cb0ef41Sopenharmony_ci    {
4841cb0ef41Sopenharmony_ci      'target_name': 'v8_headers',
4851cb0ef41Sopenharmony_ci      'type': 'none',
4861cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
4871cb0ef41Sopenharmony_ci      'dependencies': [
4881cb0ef41Sopenharmony_ci        'v8_config_headers',
4891cb0ef41Sopenharmony_ci        'v8_heap_base_headers',
4901cb0ef41Sopenharmony_ci        'v8_version',
4911cb0ef41Sopenharmony_ci      ],
4921cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
4931cb0ef41Sopenharmony_ci        'sources': [
4941cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_headers\\".*?sources = ")',
4951cb0ef41Sopenharmony_ci
4961cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include/v8-wasm-trap-handler-posix.h',
4971cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include/v8-wasm-trap-handler-win.h',
4981cb0ef41Sopenharmony_ci        ],
4991cb0ef41Sopenharmony_ci      },
5001cb0ef41Sopenharmony_ci    },  # v8_headers
5011cb0ef41Sopenharmony_ci    {
5021cb0ef41Sopenharmony_ci      'target_name': 'v8_shared_internal_headers',
5031cb0ef41Sopenharmony_ci      'type': 'none',
5041cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
5051cb0ef41Sopenharmony_ci      'dependencies': [
5061cb0ef41Sopenharmony_ci        'v8_headers',
5071cb0ef41Sopenharmony_ci        'v8_libbase',
5081cb0ef41Sopenharmony_ci      ],
5091cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
5101cb0ef41Sopenharmony_ci        'sources': [
5111cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/common/globals.h',
5121cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/wasm/wasm-constants.h',
5131cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/wasm/wasm-limits.h',
5141cb0ef41Sopenharmony_ci        ],
5151cb0ef41Sopenharmony_ci      },
5161cb0ef41Sopenharmony_ci    },  # v8_shared_internal_headers
5171cb0ef41Sopenharmony_ci    {
5181cb0ef41Sopenharmony_ci      'target_name': 'v8_flags',
5191cb0ef41Sopenharmony_ci      'type': 'none',
5201cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
5211cb0ef41Sopenharmony_ci      'dependencies': [
5221cb0ef41Sopenharmony_ci        'v8_shared_internal_headers',
5231cb0ef41Sopenharmony_ci      ],
5241cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
5251cb0ef41Sopenharmony_ci        'sources': [
5261cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/flags/flag-definitions.h',
5271cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/flags/flags.h',
5281cb0ef41Sopenharmony_ci        ],
5291cb0ef41Sopenharmony_ci      },
5301cb0ef41Sopenharmony_ci    },  # v8_flags
5311cb0ef41Sopenharmony_ci    {
5321cb0ef41Sopenharmony_ci      'target_name': 'v8_internal_headers',
5331cb0ef41Sopenharmony_ci      'type': 'none',
5341cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
5351cb0ef41Sopenharmony_ci      'dependencies': [
5361cb0ef41Sopenharmony_ci        'torque_runtime_support',
5371cb0ef41Sopenharmony_ci        'v8_flags',
5381cb0ef41Sopenharmony_ci        'v8_headers',
5391cb0ef41Sopenharmony_ci        'v8_maybe_icu',
5401cb0ef41Sopenharmony_ci        'v8_shared_internal_headers',
5411cb0ef41Sopenharmony_ci        'v8_heap_base_headers',
5421cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
5431cb0ef41Sopenharmony_ci        'run_torque',
5441cb0ef41Sopenharmony_ci        'v8_libbase',
5451cb0ef41Sopenharmony_ci      ],
5461cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
5471cb0ef41Sopenharmony_ci        'sources': [
5481cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?sources = ")',
5491cb0ef41Sopenharmony_ci        ],
5501cb0ef41Sopenharmony_ci        'conditions': [
5511cb0ef41Sopenharmony_ci          ['v8_enable_maglev==1', {
5521cb0ef41Sopenharmony_ci            'sources': [
5531cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_maglev.*?sources \\+= ")',
5541cb0ef41Sopenharmony_ci            ],
5551cb0ef41Sopenharmony_ci          }],
5561cb0ef41Sopenharmony_ci          ['v8_enable_webassembly==1', {
5571cb0ef41Sopenharmony_ci            'sources': [
5581cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_webassembly.*?sources \\+= ")',
5591cb0ef41Sopenharmony_ci            ],
5601cb0ef41Sopenharmony_ci          }],
5611cb0ef41Sopenharmony_ci          ['v8_enable_i18n_support==1', {
5621cb0ef41Sopenharmony_ci            'sources': [
5631cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_i18n_support.*?sources \\+= ")',
5641cb0ef41Sopenharmony_ci            ],
5651cb0ef41Sopenharmony_ci          }],
5661cb0ef41Sopenharmony_ci          ['v8_control_flow_integrity==0', {
5671cb0ef41Sopenharmony_ci            'sources': [
5681cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?!v8_control_flow_integrity.*?sources \\+= ")',
5691cb0ef41Sopenharmony_ci            ],
5701cb0ef41Sopenharmony_ci          }],
5711cb0ef41Sopenharmony_ci          ['v8_enable_heap_snapshot_verify==1', {
5721cb0ef41Sopenharmony_ci            'sources': [
5731cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_enable_heap_snapshot_verify.*?sources \\+= ")',
5741cb0ef41Sopenharmony_ci            ],
5751cb0ef41Sopenharmony_ci          }],
5761cb0ef41Sopenharmony_ci          ['v8_target_arch=="ia32"', {
5771cb0ef41Sopenharmony_ci            'sources': [
5781cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x86\\".*?sources \\+= ")',
5791cb0ef41Sopenharmony_ci            ],
5801cb0ef41Sopenharmony_ci          }],
5811cb0ef41Sopenharmony_ci          ['v8_target_arch=="x64"', {
5821cb0ef41Sopenharmony_ci            'sources': [
5831cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x64\\".*?sources \\+= ")',
5841cb0ef41Sopenharmony_ci            ],
5851cb0ef41Sopenharmony_ci            'conditions': [
5861cb0ef41Sopenharmony_ci              ['OS=="win"', {
5871cb0ef41Sopenharmony_ci                'sources': [
5881cb0ef41Sopenharmony_ci                  '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x64\\".*?is_win.*?sources \\+= ")',
5891cb0ef41Sopenharmony_ci                ],
5901cb0ef41Sopenharmony_ci              }],
5911cb0ef41Sopenharmony_ci              ['v8_enable_webassembly==1', {
5921cb0ef41Sopenharmony_ci                'conditions': [
5931cb0ef41Sopenharmony_ci                  ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', {
5941cb0ef41Sopenharmony_ci                    'sources': [
5951cb0ef41Sopenharmony_ci                      '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
5961cb0ef41Sopenharmony_ci                    ],
5971cb0ef41Sopenharmony_ci                  }],
5981cb0ef41Sopenharmony_ci                  ['OS=="win"', {
5991cb0ef41Sopenharmony_ci                    'sources': [
6001cb0ef41Sopenharmony_ci                      '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_win.*?sources \\+= ")',
6011cb0ef41Sopenharmony_ci                    ],
6021cb0ef41Sopenharmony_ci                  }],
6031cb0ef41Sopenharmony_ci                ],
6041cb0ef41Sopenharmony_ci              }],
6051cb0ef41Sopenharmony_ci            ],
6061cb0ef41Sopenharmony_ci          }],
6071cb0ef41Sopenharmony_ci          ['v8_target_arch=="arm"', {
6081cb0ef41Sopenharmony_ci            'sources': [
6091cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"arm\\".*?sources \\+= ")',
6101cb0ef41Sopenharmony_ci            ],
6111cb0ef41Sopenharmony_ci          }],
6121cb0ef41Sopenharmony_ci          ['v8_target_arch=="arm64"', {
6131cb0ef41Sopenharmony_ci            'sources': [
6141cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"arm64\\".*?sources \\+= ")',
6151cb0ef41Sopenharmony_ci            ],
6161cb0ef41Sopenharmony_ci            'conditions': [
6171cb0ef41Sopenharmony_ci              ['v8_control_flow_integrity==1', {
6181cb0ef41Sopenharmony_ci                'sources': [
6191cb0ef41Sopenharmony_ci                  '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"arm64\\".*?v8_control_flow_integrity.*?sources \\+= ")',
6201cb0ef41Sopenharmony_ci                ],
6211cb0ef41Sopenharmony_ci              }],
6221cb0ef41Sopenharmony_ci              ['v8_enable_webassembly==1', {
6231cb0ef41Sopenharmony_ci                'conditions': [
6241cb0ef41Sopenharmony_ci                  ['OS=="mac" or (_toolset=="host" and host_arch=="x64" and OS=="linux")', {
6251cb0ef41Sopenharmony_ci                    'sources': [
6261cb0ef41Sopenharmony_ci                      '<(V8_ROOT)/src/trap-handler/handler-inside-posix.h',
6271cb0ef41Sopenharmony_ci                    ],
6281cb0ef41Sopenharmony_ci                  }],
6291cb0ef41Sopenharmony_ci                  # TODO(targos): Replace False with OS=="win" if handler-outside-simulator.cc becomes compatible with MSVC.
6301cb0ef41Sopenharmony_ci                  ['_toolset=="host" and host_arch=="x64" and (OS=="linux" or OS=="mac" or False)', {
6311cb0ef41Sopenharmony_ci                    'sources': [
6321cb0ef41Sopenharmony_ci                      '<(V8_ROOT)/src/trap-handler/trap-handler-simulator.h',
6331cb0ef41Sopenharmony_ci                    ],
6341cb0ef41Sopenharmony_ci                  }],
6351cb0ef41Sopenharmony_ci                ],
6361cb0ef41Sopenharmony_ci              }],
6371cb0ef41Sopenharmony_ci              ['OS=="win"', {
6381cb0ef41Sopenharmony_ci                'sources': [
6391cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/diagnostics/unwinding-info-win64.h',
6401cb0ef41Sopenharmony_ci                ],
6411cb0ef41Sopenharmony_ci              }],
6421cb0ef41Sopenharmony_ci            ],
6431cb0ef41Sopenharmony_ci          }],
6441cb0ef41Sopenharmony_ci          ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
6451cb0ef41Sopenharmony_ci            'sources': [
6461cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"mips\\".*?sources \\+= ")',
6471cb0ef41Sopenharmony_ci            ],
6481cb0ef41Sopenharmony_ci          }],
6491cb0ef41Sopenharmony_ci          ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
6501cb0ef41Sopenharmony_ci            'sources': [
6511cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"mips64\\".*?sources \\+= ")',
6521cb0ef41Sopenharmony_ci            ],
6531cb0ef41Sopenharmony_ci          }],
6541cb0ef41Sopenharmony_ci          ['v8_target_arch=="ppc"', {
6551cb0ef41Sopenharmony_ci            'sources': [
6561cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"ppc\\".*?sources \\+= ")',
6571cb0ef41Sopenharmony_ci            ],
6581cb0ef41Sopenharmony_ci          }],
6591cb0ef41Sopenharmony_ci          ['v8_target_arch=="ppc64"', {
6601cb0ef41Sopenharmony_ci            'sources': [
6611cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"ppc64\\".*?sources \\+= ")',
6621cb0ef41Sopenharmony_ci            ],
6631cb0ef41Sopenharmony_ci          }],
6641cb0ef41Sopenharmony_ci          ['v8_target_arch=="s390x"', {
6651cb0ef41Sopenharmony_ci            'sources': [
6661cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"s390\\".*?sources \\+= ")',
6671cb0ef41Sopenharmony_ci            ],
6681cb0ef41Sopenharmony_ci          }],
6691cb0ef41Sopenharmony_ci          ['v8_target_arch=="riscv64"', {
6701cb0ef41Sopenharmony_ci            'sources': [
6711cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"riscv64\\".*?sources \\+= ")',
6721cb0ef41Sopenharmony_ci            ],
6731cb0ef41Sopenharmony_ci          }],
6741cb0ef41Sopenharmony_ci          ['v8_target_arch=="loong64"', {
6751cb0ef41Sopenharmony_ci            'sources': [
6761cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_header_set.\\"v8_internal_headers\\".*?v8_current_cpu == \\"loong64\\".*?sources \\+= ")',
6771cb0ef41Sopenharmony_ci            ],
6781cb0ef41Sopenharmony_ci          }],
6791cb0ef41Sopenharmony_ci        ],
6801cb0ef41Sopenharmony_ci      },
6811cb0ef41Sopenharmony_ci    },  # v8_internal_headers
6821cb0ef41Sopenharmony_ci    {
6831cb0ef41Sopenharmony_ci      'target_name': 'v8_compiler_opt',
6841cb0ef41Sopenharmony_ci      'type': 'static_library',
6851cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
6861cb0ef41Sopenharmony_ci      'dependencies': [
6871cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
6881cb0ef41Sopenharmony_ci        'run_torque',
6891cb0ef41Sopenharmony_ci        'v8_maybe_icu',
6901cb0ef41Sopenharmony_ci        'v8_base_without_compiler',
6911cb0ef41Sopenharmony_ci        'v8_internal_headers',
6921cb0ef41Sopenharmony_ci        'v8_libbase',
6931cb0ef41Sopenharmony_ci        'v8_shared_internal_headers',
6941cb0ef41Sopenharmony_ci      ],
6951cb0ef41Sopenharmony_ci      'sources': ['<@(v8_compiler_sources)'],
6961cb0ef41Sopenharmony_ci      'conditions': [
6971cb0ef41Sopenharmony_ci        ['OS=="win"', {
6981cb0ef41Sopenharmony_ci          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
6991cb0ef41Sopenharmony_ci          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
7001cb0ef41Sopenharmony_ci          'sources': [
7011cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_header)',
7021cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_source)',
7031cb0ef41Sopenharmony_ci          ],
7041cb0ef41Sopenharmony_ci        }],
7051cb0ef41Sopenharmony_ci      ],
7061cb0ef41Sopenharmony_ci    },  # v8_compiler_opt
7071cb0ef41Sopenharmony_ci    {
7081cb0ef41Sopenharmony_ci      'target_name': 'v8_compiler',
7091cb0ef41Sopenharmony_ci      'type': 'static_library',
7101cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
7111cb0ef41Sopenharmony_ci      'dependencies': [
7121cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
7131cb0ef41Sopenharmony_ci        'run_torque',
7141cb0ef41Sopenharmony_ci        'v8_internal_headers',
7151cb0ef41Sopenharmony_ci        'v8_maybe_icu',
7161cb0ef41Sopenharmony_ci        'v8_base_without_compiler',
7171cb0ef41Sopenharmony_ci        'v8_libbase',
7181cb0ef41Sopenharmony_ci        'v8_shared_internal_headers',
7191cb0ef41Sopenharmony_ci      ],
7201cb0ef41Sopenharmony_ci      'sources': ['<@(v8_compiler_sources)'],
7211cb0ef41Sopenharmony_ci      'conditions': [
7221cb0ef41Sopenharmony_ci        ['OS=="win"', {
7231cb0ef41Sopenharmony_ci          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
7241cb0ef41Sopenharmony_ci          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
7251cb0ef41Sopenharmony_ci          'sources': [
7261cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_header)',
7271cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_source)',
7281cb0ef41Sopenharmony_ci          ],
7291cb0ef41Sopenharmony_ci        }],
7301cb0ef41Sopenharmony_ci      ],
7311cb0ef41Sopenharmony_ci    },  # v8_compiler
7321cb0ef41Sopenharmony_ci    {
7331cb0ef41Sopenharmony_ci      'target_name': 'v8_compiler_for_mksnapshot',
7341cb0ef41Sopenharmony_ci      'type': 'none',
7351cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
7361cb0ef41Sopenharmony_ci      'hard_dependency': 1,
7371cb0ef41Sopenharmony_ci      'dependencies': [
7381cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
7391cb0ef41Sopenharmony_ci        'run_torque',
7401cb0ef41Sopenharmony_ci        'v8_maybe_icu',
7411cb0ef41Sopenharmony_ci      ],
7421cb0ef41Sopenharmony_ci      'conditions': [
7431cb0ef41Sopenharmony_ci        ['is_component_build and not v8_optimized_debug and v8_enable_fast_mksnapshot', {
7441cb0ef41Sopenharmony_ci          'dependencies': [
7451cb0ef41Sopenharmony_ci            'v8_compiler_opt',
7461cb0ef41Sopenharmony_ci          ],
7471cb0ef41Sopenharmony_ci          'export_dependent_settings': [
7481cb0ef41Sopenharmony_ci            'v8_compiler_opt',
7491cb0ef41Sopenharmony_ci          ],
7501cb0ef41Sopenharmony_ci        }, {
7511cb0ef41Sopenharmony_ci           'dependencies': [
7521cb0ef41Sopenharmony_ci             'v8_compiler',
7531cb0ef41Sopenharmony_ci           ],
7541cb0ef41Sopenharmony_ci           'export_dependent_settings': [
7551cb0ef41Sopenharmony_ci             'v8_compiler',
7561cb0ef41Sopenharmony_ci           ],
7571cb0ef41Sopenharmony_ci         }],
7581cb0ef41Sopenharmony_ci      ],
7591cb0ef41Sopenharmony_ci    },  # v8_compiler_for_mksnapshot
7601cb0ef41Sopenharmony_ci    {
7611cb0ef41Sopenharmony_ci      'target_name': 'v8_base_without_compiler',
7621cb0ef41Sopenharmony_ci      'type': 'static_library',
7631cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
7641cb0ef41Sopenharmony_ci      'dependencies': [
7651cb0ef41Sopenharmony_ci        'torque_generated_definitions',
7661cb0ef41Sopenharmony_ci        'v8_bigint',
7671cb0ef41Sopenharmony_ci        'v8_headers',
7681cb0ef41Sopenharmony_ci        'v8_heap_base',
7691cb0ef41Sopenharmony_ci        'v8_libbase',
7701cb0ef41Sopenharmony_ci        'v8_shared_internal_headers',
7711cb0ef41Sopenharmony_ci        'v8_version',
7721cb0ef41Sopenharmony_ci        'cppgc_base',
7731cb0ef41Sopenharmony_ci        'generate_bytecode_builtins_list',
7741cb0ef41Sopenharmony_ci        'run_torque',
7751cb0ef41Sopenharmony_ci        'v8_internal_headers',
7761cb0ef41Sopenharmony_ci        'v8_maybe_icu',
7771cb0ef41Sopenharmony_ci        'v8_zlib',
7781cb0ef41Sopenharmony_ci      ],
7791cb0ef41Sopenharmony_ci      'includes': ['inspector.gypi'],
7801cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
7811cb0ef41Sopenharmony_ci        'include_dirs': [
7821cb0ef41Sopenharmony_ci          '<(generate_bytecode_output_root)',
7831cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)',
7841cb0ef41Sopenharmony_ci        ],
7851cb0ef41Sopenharmony_ci      },
7861cb0ef41Sopenharmony_ci      'sources': [
7871cb0ef41Sopenharmony_ci        '<(generate_bytecode_builtins_list_output)',
7881cb0ef41Sopenharmony_ci
7891cb0ef41Sopenharmony_ci        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?sources = ")',
7901cb0ef41Sopenharmony_ci
7911cb0ef41Sopenharmony_ci        '<@(inspector_all_sources)',
7921cb0ef41Sopenharmony_ci      ],
7931cb0ef41Sopenharmony_ci      'conditions': [
7941cb0ef41Sopenharmony_ci        ['v8_enable_third_party_heap==1', {
7951cb0ef41Sopenharmony_ci          # TODO(targos): add values from v8_third_party_heap_files to sources
7961cb0ef41Sopenharmony_ci        }, {
7971cb0ef41Sopenharmony_ci          'sources': [
7981cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/heap/third-party/heap-api-stub.cc',
7991cb0ef41Sopenharmony_ci          ],
8001cb0ef41Sopenharmony_ci        }],
8011cb0ef41Sopenharmony_ci        ['v8_enable_maglev==1', {
8021cb0ef41Sopenharmony_ci          'sources': [
8031cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_enable_maglev.*?sources \\+= ")',
8041cb0ef41Sopenharmony_ci          ],
8051cb0ef41Sopenharmony_ci        }],
8061cb0ef41Sopenharmony_ci        ['v8_enable_webassembly==1', {
8071cb0ef41Sopenharmony_ci          'sources': [
8081cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_enable_webassembly.*?sources \\+= ")',
8091cb0ef41Sopenharmony_ci          ],
8101cb0ef41Sopenharmony_ci        }],
8111cb0ef41Sopenharmony_ci        ['v8_enable_heap_snapshot_verify==1', {
8121cb0ef41Sopenharmony_ci          'sources': [
8131cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_enable_heap_snapshot_verify.*?sources \\+= ")',
8141cb0ef41Sopenharmony_ci          ],
8151cb0ef41Sopenharmony_ci        }],
8161cb0ef41Sopenharmony_ci        ['v8_target_arch=="ia32"', {
8171cb0ef41Sopenharmony_ci          'sources': [
8181cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x86.*?sources \\+= ")',
8191cb0ef41Sopenharmony_ci          ],
8201cb0ef41Sopenharmony_ci        }],
8211cb0ef41Sopenharmony_ci        ['v8_target_arch=="x64"', {
8221cb0ef41Sopenharmony_ci          'sources': [
8231cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x64\\".*?sources \\+= ")',
8241cb0ef41Sopenharmony_ci          ],
8251cb0ef41Sopenharmony_ci          'conditions': [
8261cb0ef41Sopenharmony_ci            ['OS=="win"', {
8271cb0ef41Sopenharmony_ci              'sources': [
8281cb0ef41Sopenharmony_ci                '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x64\\".*?is_win.*?sources \\+= ")',
8291cb0ef41Sopenharmony_ci              ],
8301cb0ef41Sopenharmony_ci            }],
8311cb0ef41Sopenharmony_ci            ['v8_enable_webassembly==1', {
8321cb0ef41Sopenharmony_ci              'conditions': [
8331cb0ef41Sopenharmony_ci                ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', {
8341cb0ef41Sopenharmony_ci                  'sources': [
8351cb0ef41Sopenharmony_ci                    '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_linux.*?sources \\+= ")',
8361cb0ef41Sopenharmony_ci                  ],
8371cb0ef41Sopenharmony_ci                }],
8381cb0ef41Sopenharmony_ci                ['OS=="win"', {
8391cb0ef41Sopenharmony_ci                  'sources': [
8401cb0ef41Sopenharmony_ci                    '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"x64\\".*?v8_enable_webassembly.*?is_win.*?sources \\+= ")',
8411cb0ef41Sopenharmony_ci                  ],
8421cb0ef41Sopenharmony_ci                }],
8431cb0ef41Sopenharmony_ci              ],
8441cb0ef41Sopenharmony_ci            }],
8451cb0ef41Sopenharmony_ci          ],
8461cb0ef41Sopenharmony_ci        }],
8471cb0ef41Sopenharmony_ci        ['v8_target_arch=="arm"', {
8481cb0ef41Sopenharmony_ci          'sources': [
8491cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"arm\\".*?sources \\+= ")',
8501cb0ef41Sopenharmony_ci          ],
8511cb0ef41Sopenharmony_ci        }],
8521cb0ef41Sopenharmony_ci        ['v8_target_arch=="arm64"', {
8531cb0ef41Sopenharmony_ci          'sources': [
8541cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"arm64\\".*?sources \\+= ")',
8551cb0ef41Sopenharmony_ci          ],
8561cb0ef41Sopenharmony_ci          'conditions': [
8571cb0ef41Sopenharmony_ci            ['v8_enable_webassembly==1', {
8581cb0ef41Sopenharmony_ci              'conditions': [
8591cb0ef41Sopenharmony_ci                ['OS=="mac" or OS=="ios" or '
8601cb0ef41Sopenharmony_ci                 '(_toolset=="host" and host_arch=="x64" and (host_os=="linux" or host_os=="mac"))', {
8611cb0ef41Sopenharmony_ci                  'sources': [
8621cb0ef41Sopenharmony_ci                    '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc',
8631cb0ef41Sopenharmony_ci                    '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc',
8641cb0ef41Sopenharmony_ci                  ],
8651cb0ef41Sopenharmony_ci                }],
8661cb0ef41Sopenharmony_ci                # TODO(targos): Replace False with OS=="win" if handler-outside-simulator.cc becomes compatible with MSVC.
8671cb0ef41Sopenharmony_ci                ['_toolset=="host" and host_arch=="x64" and False', {
8681cb0ef41Sopenharmony_ci                  'sources': [
8691cb0ef41Sopenharmony_ci                    '<(V8_ROOT)/src/trap-handler/handler-inside-win.cc',
8701cb0ef41Sopenharmony_ci                    '<(V8_ROOT)/src/trap-handler/handler-outside-win.cc',
8711cb0ef41Sopenharmony_ci                  ],
8721cb0ef41Sopenharmony_ci                }],
8731cb0ef41Sopenharmony_ci                # TODO(targos): Replace False with OS=="win" if handler-outside-simulator.cc becomes compatible with MSVC.
8741cb0ef41Sopenharmony_ci                ['_toolset=="host" and host_arch=="x64" and '
8751cb0ef41Sopenharmony_ci                 '(host_os=="linux" or host_os=="mac" or False)', {
8761cb0ef41Sopenharmony_ci                  'sources': [
8771cb0ef41Sopenharmony_ci                    '<(V8_ROOT)/src/trap-handler/handler-outside-simulator.cc',
8781cb0ef41Sopenharmony_ci                  ],
8791cb0ef41Sopenharmony_ci                }],
8801cb0ef41Sopenharmony_ci              ],
8811cb0ef41Sopenharmony_ci            }],
8821cb0ef41Sopenharmony_ci            ['OS=="win"', {
8831cb0ef41Sopenharmony_ci              'sources': [
8841cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/diagnostics/unwinding-info-win64.cc',
8851cb0ef41Sopenharmony_ci              ],
8861cb0ef41Sopenharmony_ci            }],
8871cb0ef41Sopenharmony_ci          ],
8881cb0ef41Sopenharmony_ci        }],
8891cb0ef41Sopenharmony_ci        ['v8_target_arch=="mips" or v8_target_arch=="mipsel"', {
8901cb0ef41Sopenharmony_ci          'sources': [
8911cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"mips\\".*?sources \\+= ")',
8921cb0ef41Sopenharmony_ci          ],
8931cb0ef41Sopenharmony_ci        }],
8941cb0ef41Sopenharmony_ci        ['v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
8951cb0ef41Sopenharmony_ci          'sources': [
8961cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"mips64\\".*?sources \\+= ")',
8971cb0ef41Sopenharmony_ci          ],
8981cb0ef41Sopenharmony_ci        }],
8991cb0ef41Sopenharmony_ci        ['v8_target_arch=="ppc"', {
9001cb0ef41Sopenharmony_ci          'sources': [
9011cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"ppc\\".*?sources \\+= ")',
9021cb0ef41Sopenharmony_ci          ],
9031cb0ef41Sopenharmony_ci        }],
9041cb0ef41Sopenharmony_ci        ['v8_target_arch=="ppc64"', {
9051cb0ef41Sopenharmony_ci          'sources': [
9061cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"ppc64\\".*?sources \\+= ")',
9071cb0ef41Sopenharmony_ci          ],
9081cb0ef41Sopenharmony_ci        }],
9091cb0ef41Sopenharmony_ci        ['v8_target_arch=="s390x"', {
9101cb0ef41Sopenharmony_ci          'sources': [
9111cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"s390\\".*?sources \\+= ")',
9121cb0ef41Sopenharmony_ci          ],
9131cb0ef41Sopenharmony_ci        }],
9141cb0ef41Sopenharmony_ci        ['v8_target_arch=="riscv64"', {
9151cb0ef41Sopenharmony_ci          'sources': [
9161cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"riscv64\\".*?sources \\+= ")',
9171cb0ef41Sopenharmony_ci          ],
9181cb0ef41Sopenharmony_ci        }],        
9191cb0ef41Sopenharmony_ci        ['v8_target_arch=="loong64"', {
9201cb0ef41Sopenharmony_ci          'sources': [
9211cb0ef41Sopenharmony_ci            '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_current_cpu == \\"loong64\\".*?sources \\+= ")',
9221cb0ef41Sopenharmony_ci          ],
9231cb0ef41Sopenharmony_ci        }],        
9241cb0ef41Sopenharmony_ci        ['OS=="win"', {
9251cb0ef41Sopenharmony_ci          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
9261cb0ef41Sopenharmony_ci          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
9271cb0ef41Sopenharmony_ci          'sources': [
9281cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_header)',
9291cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_source)',
9301cb0ef41Sopenharmony_ci          ],
9311cb0ef41Sopenharmony_ci          # This will prevent V8's .cc files conflicting with the inspector's
9321cb0ef41Sopenharmony_ci          # .cpp files in the same shard.
9331cb0ef41Sopenharmony_ci          'msvs_settings': {
9341cb0ef41Sopenharmony_ci            'VCCLCompilerTool': {
9351cb0ef41Sopenharmony_ci              'ObjectFile': '$(IntDir)%(Extension)\\',
9361cb0ef41Sopenharmony_ci            },
9371cb0ef41Sopenharmony_ci          },
9381cb0ef41Sopenharmony_ci          'conditions': [
9391cb0ef41Sopenharmony_ci            ['v8_enable_system_instrumentation==1', {
9401cb0ef41Sopenharmony_ci              'sources': [
9411cb0ef41Sopenharmony_ci                '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?is_win.*?v8_enable_system_instrumentation.*?sources \\+= ")',
9421cb0ef41Sopenharmony_ci              ],
9431cb0ef41Sopenharmony_ci            }],
9441cb0ef41Sopenharmony_ci          ],
9451cb0ef41Sopenharmony_ci        }],
9461cb0ef41Sopenharmony_ci        ['component=="shared_library"', {
9471cb0ef41Sopenharmony_ci          'defines': [
9481cb0ef41Sopenharmony_ci            'BUILDING_V8_SHARED',
9491cb0ef41Sopenharmony_ci          ],
9501cb0ef41Sopenharmony_ci        }],
9511cb0ef41Sopenharmony_ci        ['v8_enable_i18n_support==1', {
9521cb0ef41Sopenharmony_ci          'dependencies': [
9531cb0ef41Sopenharmony_ci            'run_gen-regexp-special-case',
9541cb0ef41Sopenharmony_ci          ],
9551cb0ef41Sopenharmony_ci          'sources': [
9561cb0ef41Sopenharmony_ci            '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
9571cb0ef41Sopenharmony_ci          ],
9581cb0ef41Sopenharmony_ci          'conditions': [
9591cb0ef41Sopenharmony_ci            ['icu_use_data_file_flag', {
9601cb0ef41Sopenharmony_ci              'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE'],
9611cb0ef41Sopenharmony_ci            }, {
9621cb0ef41Sopenharmony_ci               'conditions': [
9631cb0ef41Sopenharmony_ci                 ['OS=="win"', {
9641cb0ef41Sopenharmony_ci                   'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_SHARED'],
9651cb0ef41Sopenharmony_ci                 }, {
9661cb0ef41Sopenharmony_ci                    'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC'],
9671cb0ef41Sopenharmony_ci                  }],
9681cb0ef41Sopenharmony_ci               ],
9691cb0ef41Sopenharmony_ci             }],
9701cb0ef41Sopenharmony_ci            ['OS=="win"', {
9711cb0ef41Sopenharmony_ci              'dependencies': [
9721cb0ef41Sopenharmony_ci                '<(icu_gyp_path):icudata#target',
9731cb0ef41Sopenharmony_ci              ],
9741cb0ef41Sopenharmony_ci            }],
9751cb0ef41Sopenharmony_ci          ],
9761cb0ef41Sopenharmony_ci        }, {  # v8_enable_i18n_support==0
9771cb0ef41Sopenharmony_ci           'sources!': [
9781cb0ef41Sopenharmony_ci             '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_enable_i18n_support.*?sources -= ")',
9791cb0ef41Sopenharmony_ci           ],
9801cb0ef41Sopenharmony_ci         }],
9811cb0ef41Sopenharmony_ci        ['v8_postmortem_support', {
9821cb0ef41Sopenharmony_ci          'dependencies': ['postmortem-metadata#target'],
9831cb0ef41Sopenharmony_ci        }],
9841cb0ef41Sopenharmony_ci        ['v8_enable_third_party_heap', {
9851cb0ef41Sopenharmony_ci          # TODO(targos): add values from v8_third_party_heap_libs to link_settings.libraries
9861cb0ef41Sopenharmony_ci        }],
9871cb0ef41Sopenharmony_ci        # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
9881cb0ef41Sopenharmony_ci        # to implement atomic memory access
9891cb0ef41Sopenharmony_ci        #['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm", "riscv64", "loong64"]', {
9901cb0ef41Sopenharmony_ci        #  'link_settings': {
9911cb0ef41Sopenharmony_ci        #    'libraries': ['-latomic', ],
9921cb0ef41Sopenharmony_ci        #  },
9931cb0ef41Sopenharmony_ci        #}],
9941cb0ef41Sopenharmony_ci      ],
9951cb0ef41Sopenharmony_ci    },  # v8_base_without_compiler
9961cb0ef41Sopenharmony_ci    {
9971cb0ef41Sopenharmony_ci      'target_name': 'v8_base',
9981cb0ef41Sopenharmony_ci      'type': 'none',
9991cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
10001cb0ef41Sopenharmony_ci      'dependencies': [
10011cb0ef41Sopenharmony_ci        'v8_base_without_compiler',
10021cb0ef41Sopenharmony_ci        'v8_compiler',
10031cb0ef41Sopenharmony_ci      ],
10041cb0ef41Sopenharmony_ci    },  # v8_base
10051cb0ef41Sopenharmony_ci    {
10061cb0ef41Sopenharmony_ci      'target_name': 'torque_base',
10071cb0ef41Sopenharmony_ci      'type': 'static_library',
10081cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
10091cb0ef41Sopenharmony_ci      'sources': [
10101cb0ef41Sopenharmony_ci        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"torque_base.*?sources = ")',
10111cb0ef41Sopenharmony_ci      ],
10121cb0ef41Sopenharmony_ci      'dependencies': [
10131cb0ef41Sopenharmony_ci        'v8_shared_internal_headers',
10141cb0ef41Sopenharmony_ci        'v8_libbase',
10151cb0ef41Sopenharmony_ci      ],
10161cb0ef41Sopenharmony_ci      'defines!': [
10171cb0ef41Sopenharmony_ci        '_HAS_EXCEPTIONS=0',
10181cb0ef41Sopenharmony_ci        'BUILDING_V8_SHARED=1',
10191cb0ef41Sopenharmony_ci      ],
10201cb0ef41Sopenharmony_ci      'cflags_cc!': ['-fno-exceptions'],
10211cb0ef41Sopenharmony_ci      'cflags_cc': ['-fexceptions'],
10221cb0ef41Sopenharmony_ci      'xcode_settings': {
10231cb0ef41Sopenharmony_ci        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',  # -fexceptions
10241cb0ef41Sopenharmony_ci      },
10251cb0ef41Sopenharmony_ci      'msvs_settings': {
10261cb0ef41Sopenharmony_ci        'VCCLCompilerTool': {
10271cb0ef41Sopenharmony_ci          'RuntimeTypeInfo': 'true',
10281cb0ef41Sopenharmony_ci          'ExceptionHandling': 1,
10291cb0ef41Sopenharmony_ci        },
10301cb0ef41Sopenharmony_ci      },
10311cb0ef41Sopenharmony_ci    },  # torque_base
10321cb0ef41Sopenharmony_ci    {
10331cb0ef41Sopenharmony_ci      'target_name': 'torque_ls_base',
10341cb0ef41Sopenharmony_ci      'type': 'static_library',
10351cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
10361cb0ef41Sopenharmony_ci      'sources': [
10371cb0ef41Sopenharmony_ci        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"torque_ls_base.*?sources = ")',
10381cb0ef41Sopenharmony_ci      ],
10391cb0ef41Sopenharmony_ci      'dependencies': [
10401cb0ef41Sopenharmony_ci        'torque_base',
10411cb0ef41Sopenharmony_ci      ],
10421cb0ef41Sopenharmony_ci      'defines!': [
10431cb0ef41Sopenharmony_ci        '_HAS_EXCEPTIONS=0',
10441cb0ef41Sopenharmony_ci        'BUILDING_V8_SHARED=1',
10451cb0ef41Sopenharmony_ci      ],
10461cb0ef41Sopenharmony_ci      'cflags_cc!': ['-fno-exceptions'],
10471cb0ef41Sopenharmony_ci      'cflags_cc': ['-fexceptions'],
10481cb0ef41Sopenharmony_ci      'xcode_settings': {
10491cb0ef41Sopenharmony_ci        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',  # -fexceptions
10501cb0ef41Sopenharmony_ci      },
10511cb0ef41Sopenharmony_ci      'msvs_settings': {
10521cb0ef41Sopenharmony_ci        'VCCLCompilerTool': {
10531cb0ef41Sopenharmony_ci          'RuntimeTypeInfo': 'true',
10541cb0ef41Sopenharmony_ci          'ExceptionHandling': 1,
10551cb0ef41Sopenharmony_ci        },
10561cb0ef41Sopenharmony_ci      },
10571cb0ef41Sopenharmony_ci    },  # torque_ls_base
10581cb0ef41Sopenharmony_ci    {
10591cb0ef41Sopenharmony_ci      'target_name': 'v8_libbase',
10601cb0ef41Sopenharmony_ci      'type': 'static_library',
10611cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
10621cb0ef41Sopenharmony_ci      'sources': [
10631cb0ef41Sopenharmony_ci        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_libbase.*?sources = ")',
10641cb0ef41Sopenharmony_ci      ],
10651cb0ef41Sopenharmony_ci
10661cb0ef41Sopenharmony_ci      'dependencies': [
10671cb0ef41Sopenharmony_ci        'v8_headers',
10681cb0ef41Sopenharmony_ci      ],
10691cb0ef41Sopenharmony_ci
10701cb0ef41Sopenharmony_ci      'conditions': [
10711cb0ef41Sopenharmony_ci        ['is_component_build', {
10721cb0ef41Sopenharmony_ci          'defines': ["BUILDING_V8_BASE_SHARED"],
10731cb0ef41Sopenharmony_ci        }],
10741cb0ef41Sopenharmony_ci        ['is_posix or is_fuchsia', {
10751cb0ef41Sopenharmony_ci          'sources': [
10761cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
10771cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.h',
10781cb0ef41Sopenharmony_ci          ],
10791cb0ef41Sopenharmony_ci          'conditions': [
10801cb0ef41Sopenharmony_ci            ['OS != "aix" and OS != "os400" and OS != "solaris"', {
10811cb0ef41Sopenharmony_ci              'sources': [
10821cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
10831cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
10841cb0ef41Sopenharmony_ci              ],
10851cb0ef41Sopenharmony_ci            }],
10861cb0ef41Sopenharmony_ci          ],
10871cb0ef41Sopenharmony_ci        }],
10881cb0ef41Sopenharmony_ci        ['OS=="linux"', {
10891cb0ef41Sopenharmony_ci          'sources': [
10901cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
10911cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-linux.cc',
10921cb0ef41Sopenharmony_ci          ],
10931cb0ef41Sopenharmony_ci          'link_settings': {
10941cb0ef41Sopenharmony_ci            'libraries': [
10951cb0ef41Sopenharmony_ci              '-ldl',
10961cb0ef41Sopenharmony_ci              '-lrt'
10971cb0ef41Sopenharmony_ci            ],
10981cb0ef41Sopenharmony_ci          },
10991cb0ef41Sopenharmony_ci        }],
11001cb0ef41Sopenharmony_ci        ['OS in "aix os400"', {
11011cb0ef41Sopenharmony_ci          'variables': {
11021cb0ef41Sopenharmony_ci            # Used to differentiate `AIX` and `OS400`(IBM i).
11031cb0ef41Sopenharmony_ci            'aix_variant_name': '<!(uname -s)',
11041cb0ef41Sopenharmony_ci          },
11051cb0ef41Sopenharmony_ci          'sources': [
11061cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
11071cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-aix.cc',
11081cb0ef41Sopenharmony_ci          ],
11091cb0ef41Sopenharmony_ci          'conditions': [
11101cb0ef41Sopenharmony_ci            [ '"<(aix_variant_name)"=="AIX"', { # It is `AIX`
11111cb0ef41Sopenharmony_ci              'link_settings': {
11121cb0ef41Sopenharmony_ci                'libraries': [
11131cb0ef41Sopenharmony_ci                  '-ldl',
11141cb0ef41Sopenharmony_ci                  '-lrt'
11151cb0ef41Sopenharmony_ci                ],
11161cb0ef41Sopenharmony_ci              },
11171cb0ef41Sopenharmony_ci            }],
11181cb0ef41Sopenharmony_ci          ],
11191cb0ef41Sopenharmony_ci        }],
11201cb0ef41Sopenharmony_ci        ['is_android', {
11211cb0ef41Sopenharmony_ci          'sources': [
11221cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
11231cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.h',
11241cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
11251cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
11261cb0ef41Sopenharmony_ci          ],
11271cb0ef41Sopenharmony_ci          'link_settings': {
11281cb0ef41Sopenharmony_ci            'target_conditions': [
11291cb0ef41Sopenharmony_ci              ['_toolset=="host" and host_os=="linux"', {
11301cb0ef41Sopenharmony_ci                'libraries': [
11311cb0ef41Sopenharmony_ci                  '-ldl',
11321cb0ef41Sopenharmony_ci                  '-lrt'
11331cb0ef41Sopenharmony_ci                ],
11341cb0ef41Sopenharmony_ci              }],
11351cb0ef41Sopenharmony_ci            ],
11361cb0ef41Sopenharmony_ci          },
11371cb0ef41Sopenharmony_ci          'target_conditions': [
11381cb0ef41Sopenharmony_ci            ['_toolset=="host"', {
11391cb0ef41Sopenharmony_ci              'sources': [
11401cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
11411cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/platform/platform-linux.cc',
11421cb0ef41Sopenharmony_ci              ],
11431cb0ef41Sopenharmony_ci            }, {
11441cb0ef41Sopenharmony_ci              'sources': [
11451cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/debug/stack_trace_android.cc',
11461cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/platform/platform-linux.cc',
11471cb0ef41Sopenharmony_ci              ],
11481cb0ef41Sopenharmony_ci            }],
11491cb0ef41Sopenharmony_ci          ],
11501cb0ef41Sopenharmony_ci        }],
11511cb0ef41Sopenharmony_ci        ['is_fuchsia', {
11521cb0ef41Sopenharmony_ci          'sources': [
11531cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_fuchsia.cc',
11541cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-fuchsia.cc',
11551cb0ef41Sopenharmony_ci          ]
11561cb0ef41Sopenharmony_ci        }],
11571cb0ef41Sopenharmony_ci        ['OS == "mac" or (_toolset=="host" and host_os=="mac")', {
11581cb0ef41Sopenharmony_ci          'sources': [
11591cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
11601cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-darwin.cc',
11611cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-macos.cc',
11621cb0ef41Sopenharmony_ci          ]
11631cb0ef41Sopenharmony_ci        }],
11641cb0ef41Sopenharmony_ci        ['OS == "ios"', {
11651cb0ef41Sopenharmony_ci          'sources': [
11661cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
11671cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-darwin.cc',
11681cb0ef41Sopenharmony_ci          ]
11691cb0ef41Sopenharmony_ci        }],
11701cb0ef41Sopenharmony_ci        ['is_win', {
11711cb0ef41Sopenharmony_ci          'sources': [
11721cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_win.cc',
11731cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-win32.cc',
11741cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/win32-headers.h',
11751cb0ef41Sopenharmony_ci          ],
11761cb0ef41Sopenharmony_ci          'defines': ['_CRT_RAND_S'], # for rand_s()
11771cb0ef41Sopenharmony_ci          'direct_dependent_settings': {
11781cb0ef41Sopenharmony_ci            'msvs_settings': {
11791cb0ef41Sopenharmony_ci              'VCLinkerTool': {
11801cb0ef41Sopenharmony_ci                'AdditionalDependencies': [
11811cb0ef41Sopenharmony_ci                  'dbghelp.lib',
11821cb0ef41Sopenharmony_ci                  'winmm.lib',
11831cb0ef41Sopenharmony_ci                  'ws2_32.lib'
11841cb0ef41Sopenharmony_ci                ]
11851cb0ef41Sopenharmony_ci              }
11861cb0ef41Sopenharmony_ci            },
11871cb0ef41Sopenharmony_ci            'conditions': [
11881cb0ef41Sopenharmony_ci              ['v8_enable_system_instrumentation==1', {
11891cb0ef41Sopenharmony_ci                'msvs_settings': {
11901cb0ef41Sopenharmony_ci                  'VCLinkerTool': {
11911cb0ef41Sopenharmony_ci                    'AdditionalDependencies': [
11921cb0ef41Sopenharmony_ci                      'advapi32.lib',
11931cb0ef41Sopenharmony_ci                    ],
11941cb0ef41Sopenharmony_ci                  },
11951cb0ef41Sopenharmony_ci                },
11961cb0ef41Sopenharmony_ci              }],
11971cb0ef41Sopenharmony_ci            ],
11981cb0ef41Sopenharmony_ci          },
11991cb0ef41Sopenharmony_ci        }],
12001cb0ef41Sopenharmony_ci        ['target_arch == "mips" or OS == "mips64"', {
12011cb0ef41Sopenharmony_ci          # here just for 'BUILD.gn' sync
12021cb0ef41Sopenharmony_ci          # 'data': [
12031cb0ef41Sopenharmony_ci          #   '<(V8_ROOT)/tools/mips_toolchain/sysroot/usr/lib/',
12041cb0ef41Sopenharmony_ci          #   '<(V8_ROOT)/tools/mips_toolchain/sysroot/usr/lib/',
12051cb0ef41Sopenharmony_ci          # ],
12061cb0ef41Sopenharmony_ci        }],
12071cb0ef41Sopenharmony_ci        # end of conditions from 'BUILD.gn'
12081cb0ef41Sopenharmony_ci
12091cb0ef41Sopenharmony_ci        # Node.js validated
12101cb0ef41Sopenharmony_ci        ['OS=="solaris"', {
12111cb0ef41Sopenharmony_ci          'link_settings': {
12121cb0ef41Sopenharmony_ci            'libraries': [
12131cb0ef41Sopenharmony_ci              '-lnsl',
12141cb0ef41Sopenharmony_ci              '-lrt',
12151cb0ef41Sopenharmony_ci            ]
12161cb0ef41Sopenharmony_ci          },
12171cb0ef41Sopenharmony_ci          'sources': [
12181cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
12191cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-solaris.cc',
12201cb0ef41Sopenharmony_ci          ],
12211cb0ef41Sopenharmony_ci        }],
12221cb0ef41Sopenharmony_ci
12231cb0ef41Sopenharmony_ci        # YMMV with the following conditions
12241cb0ef41Sopenharmony_ci        ['OS=="qnx"', {
12251cb0ef41Sopenharmony_ci          'link_settings': {
12261cb0ef41Sopenharmony_ci            'target_conditions': [
12271cb0ef41Sopenharmony_ci              ['_toolset=="host" and host_os=="linux"', {
12281cb0ef41Sopenharmony_ci                'libraries': [
12291cb0ef41Sopenharmony_ci                  '-lrt'
12301cb0ef41Sopenharmony_ci                ],
12311cb0ef41Sopenharmony_ci              }],
12321cb0ef41Sopenharmony_ci              ['_toolset=="target"', {
12331cb0ef41Sopenharmony_ci                'libraries': [
12341cb0ef41Sopenharmony_ci                  '-lbacktrace'
12351cb0ef41Sopenharmony_ci                ],
12361cb0ef41Sopenharmony_ci              }],
12371cb0ef41Sopenharmony_ci            ],
12381cb0ef41Sopenharmony_ci          },
12391cb0ef41Sopenharmony_ci          'sources': [
12401cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
12411cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.h',
12421cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
12431cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
12441cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
12451cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/qnx-math.h'
12461cb0ef41Sopenharmony_ci          ],
12471cb0ef41Sopenharmony_ci          'target_conditions': [
12481cb0ef41Sopenharmony_ci            ['_toolset=="host" and host_os=="linux"', {
12491cb0ef41Sopenharmony_ci              'sources': [
12501cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/platform/platform-linux.cc'
12511cb0ef41Sopenharmony_ci              ],
12521cb0ef41Sopenharmony_ci            }],
12531cb0ef41Sopenharmony_ci            ['_toolset=="host" and host_os=="mac"', {
12541cb0ef41Sopenharmony_ci              'sources': [
12551cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/platform/platform-macos.cc'
12561cb0ef41Sopenharmony_ci              ],
12571cb0ef41Sopenharmony_ci            }],
12581cb0ef41Sopenharmony_ci            ['_toolset=="target"', {
12591cb0ef41Sopenharmony_ci              'sources': [
12601cb0ef41Sopenharmony_ci                '<(V8_ROOT)/src/base/platform/platform-qnx.cc'
12611cb0ef41Sopenharmony_ci              ],
12621cb0ef41Sopenharmony_ci            }],
12631cb0ef41Sopenharmony_ci          ],
12641cb0ef41Sopenharmony_ci        },
12651cb0ef41Sopenharmony_ci         ],
12661cb0ef41Sopenharmony_ci        ['OS=="freebsd"', {
12671cb0ef41Sopenharmony_ci          'link_settings': {
12681cb0ef41Sopenharmony_ci            'libraries': [
12691cb0ef41Sopenharmony_ci              '-L/usr/local/lib -lexecinfo',
12701cb0ef41Sopenharmony_ci            ]
12711cb0ef41Sopenharmony_ci          },
12721cb0ef41Sopenharmony_ci          'sources': [
12731cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
12741cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-freebsd.cc',
12751cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.h',
12761cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
12771cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
12781cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
12791cb0ef41Sopenharmony_ci          ],
12801cb0ef41Sopenharmony_ci        }
12811cb0ef41Sopenharmony_ci         ],
12821cb0ef41Sopenharmony_ci        ['OS=="openbsd"', {
12831cb0ef41Sopenharmony_ci          'link_settings': {
12841cb0ef41Sopenharmony_ci            'libraries': [
12851cb0ef41Sopenharmony_ci              '-L/usr/local/lib -lexecinfo',
12861cb0ef41Sopenharmony_ci            ]
12871cb0ef41Sopenharmony_ci          },
12881cb0ef41Sopenharmony_ci          'sources': [
12891cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
12901cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-openbsd.cc',
12911cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.h',
12921cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
12931cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
12941cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
12951cb0ef41Sopenharmony_ci          ],
12961cb0ef41Sopenharmony_ci        }
12971cb0ef41Sopenharmony_ci         ],
12981cb0ef41Sopenharmony_ci        ['OS=="netbsd"', {
12991cb0ef41Sopenharmony_ci          'link_settings': {
13001cb0ef41Sopenharmony_ci            'libraries': [
13011cb0ef41Sopenharmony_ci              '-L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lexecinfo',
13021cb0ef41Sopenharmony_ci            ]
13031cb0ef41Sopenharmony_ci          },
13041cb0ef41Sopenharmony_ci          'sources': [
13051cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
13061cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-openbsd.cc',
13071cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.h',
13081cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix.cc',
13091cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.h',
13101cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
13111cb0ef41Sopenharmony_ci          ],
13121cb0ef41Sopenharmony_ci        }
13131cb0ef41Sopenharmony_ci         ],
13141cb0ef41Sopenharmony_ci      ],
13151cb0ef41Sopenharmony_ci    },  # v8_libbase
13161cb0ef41Sopenharmony_ci    {
13171cb0ef41Sopenharmony_ci      'target_name': 'v8_libplatform',
13181cb0ef41Sopenharmony_ci      'type': 'static_library',
13191cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
13201cb0ef41Sopenharmony_ci      'dependencies': [
13211cb0ef41Sopenharmony_ci        'v8_libbase',
13221cb0ef41Sopenharmony_ci      ],
13231cb0ef41Sopenharmony_ci      'sources': [
13241cb0ef41Sopenharmony_ci        '<(V8_ROOT)/base/trace_event/common/trace_event_common.h',
13251cb0ef41Sopenharmony_ci        '<(V8_ROOT)/include/libplatform/libplatform-export.h',
13261cb0ef41Sopenharmony_ci        '<(V8_ROOT)/include/libplatform/libplatform.h',
13271cb0ef41Sopenharmony_ci        '<(V8_ROOT)/include/libplatform/v8-tracing.h',
13281cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-foreground-task-runner.cc',
13291cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-foreground-task-runner.h',
13301cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-job.cc',
13311cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-job.h',
13321cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-platform.cc',
13331cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-platform.h',
13341cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-worker-threads-task-runner.cc',
13351cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/default-worker-threads-task-runner.h',
13361cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/delayed-task-queue.cc',
13371cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/delayed-task-queue.h',
13381cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/task-queue.cc',
13391cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/task-queue.h',
13401cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/tracing/trace-buffer.cc',
13411cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/tracing/trace-buffer.h',
13421cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/tracing/trace-config.cc',
13431cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/tracing/trace-object.cc',
13441cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/tracing/trace-writer.cc',
13451cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/tracing/trace-writer.h',
13461cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/tracing/tracing-controller.cc',
13471cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/worker-thread.cc',
13481cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libplatform/worker-thread.h',
13491cb0ef41Sopenharmony_ci      ],
13501cb0ef41Sopenharmony_ci      'conditions': [
13511cb0ef41Sopenharmony_ci        ['component=="shared_library"', {
13521cb0ef41Sopenharmony_ci          'direct_dependent_settings': {
13531cb0ef41Sopenharmony_ci            'defines': ['USING_V8_PLATFORM_SHARED'],
13541cb0ef41Sopenharmony_ci          },
13551cb0ef41Sopenharmony_ci          'defines': ['BUILDING_V8_PLATFORM_SHARED'],
13561cb0ef41Sopenharmony_ci        }],
13571cb0ef41Sopenharmony_ci        ['v8_use_perfetto==1', {
13581cb0ef41Sopenharmony_ci          'sources!': [
13591cb0ef41Sopenharmony_ci            '<(V8_ROOT)/base/trace_event/common/trace_event_common.h',
13601cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/trace-buffer.cc',
13611cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/trace-buffer.h',
13621cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/trace-object.cc',
13631cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/trace-writer.cc',
13641cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/trace-writer.h',
13651cb0ef41Sopenharmony_ci          ],
13661cb0ef41Sopenharmony_ci          'sources': [
13671cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/trace-event-listener.cc',
13681cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/trace-event-listener.h',
13691cb0ef41Sopenharmony_ci          ],
13701cb0ef41Sopenharmony_ci          'dependencies': [
13711cb0ef41Sopenharmony_ci            '<(V8_ROOT)/third_party/perfetto:libperfetto',
13721cb0ef41Sopenharmony_ci            '<(V8_ROOT)/third_party/perfetto/protos/perfetto/trace:lite',
13731cb0ef41Sopenharmony_ci          ],
13741cb0ef41Sopenharmony_ci        }],
13751cb0ef41Sopenharmony_ci        ['v8_enable_system_instrumentation==1 and is_win', {
13761cb0ef41Sopenharmony_ci          'sources': [
13771cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/recorder.h',
13781cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/recorder-win.cc',
13791cb0ef41Sopenharmony_ci          ],
13801cb0ef41Sopenharmony_ci        }],
13811cb0ef41Sopenharmony_ci        ['v8_enable_system_instrumentation==1 and OS=="mac"', {
13821cb0ef41Sopenharmony_ci          'sources': [
13831cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/recorder.h',
13841cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/libplatform/tracing/recorder-mac.cc',
13851cb0ef41Sopenharmony_ci          ],
13861cb0ef41Sopenharmony_ci        }],
13871cb0ef41Sopenharmony_ci      ],
13881cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
13891cb0ef41Sopenharmony_ci        'include_dirs': [
13901cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include',
13911cb0ef41Sopenharmony_ci        ],
13921cb0ef41Sopenharmony_ci      },
13931cb0ef41Sopenharmony_ci    },  # v8_libplatform
13941cb0ef41Sopenharmony_ci    {
13951cb0ef41Sopenharmony_ci      'target_name': 'v8_libsampler',
13961cb0ef41Sopenharmony_ci      'type': 'static_library',
13971cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
13981cb0ef41Sopenharmony_ci      'dependencies': [
13991cb0ef41Sopenharmony_ci        'v8_libbase',
14001cb0ef41Sopenharmony_ci      ],
14011cb0ef41Sopenharmony_ci      'sources': [
14021cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libsampler/sampler.cc',
14031cb0ef41Sopenharmony_ci        '<(V8_ROOT)/src/libsampler/sampler.h'
14041cb0ef41Sopenharmony_ci      ],
14051cb0ef41Sopenharmony_ci    },  # v8_libsampler
14061cb0ef41Sopenharmony_ci    {
14071cb0ef41Sopenharmony_ci      'target_name': 'bytecode_builtins_list_generator',
14081cb0ef41Sopenharmony_ci      'type': 'executable',
14091cb0ef41Sopenharmony_ci      'conditions': [
14101cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
14111cb0ef41Sopenharmony_ci          'toolsets': ['host'],
14121cb0ef41Sopenharmony_ci        }],
14131cb0ef41Sopenharmony_ci        # Avoid excessive LTO
14141cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
14151cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
14161cb0ef41Sopenharmony_ci        }],
14171cb0ef41Sopenharmony_ci      ],
14181cb0ef41Sopenharmony_ci      'defines!': [
14191cb0ef41Sopenharmony_ci        'BUILDING_V8_SHARED=1',
14201cb0ef41Sopenharmony_ci      ],
14211cb0ef41Sopenharmony_ci      'dependencies': [
14221cb0ef41Sopenharmony_ci        "v8_libbase",
14231cb0ef41Sopenharmony_ci        # "build/win:default_exe_manifest",
14241cb0ef41Sopenharmony_ci      ],
14251cb0ef41Sopenharmony_ci      'sources': [
14261cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/builtins/generate-bytecodes-builtins-list.cc",
14271cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/interpreter/bytecode-operands.cc",
14281cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/interpreter/bytecode-operands.h",
14291cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/interpreter/bytecode-traits.h",
14301cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/interpreter/bytecodes.cc",
14311cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/interpreter/bytecodes.h",
14321cb0ef41Sopenharmony_ci      ],
14331cb0ef41Sopenharmony_ci    },  # bytecode_builtins_list_generator
14341cb0ef41Sopenharmony_ci    {
14351cb0ef41Sopenharmony_ci      'target_name': 'mksnapshot',
14361cb0ef41Sopenharmony_ci      'type': 'executable',
14371cb0ef41Sopenharmony_ci      'dependencies': [
14381cb0ef41Sopenharmony_ci        'v8_base_without_compiler',
14391cb0ef41Sopenharmony_ci        'v8_compiler_for_mksnapshot',
14401cb0ef41Sopenharmony_ci        'v8_init',
14411cb0ef41Sopenharmony_ci        'v8_libbase',
14421cb0ef41Sopenharmony_ci        'v8_libplatform',
14431cb0ef41Sopenharmony_ci        'v8_maybe_icu',
14441cb0ef41Sopenharmony_ci        # "build/win:default_exe_manifest",
14451cb0ef41Sopenharmony_ci      ],
14461cb0ef41Sopenharmony_ci      'sources': [
14471cb0ef41Sopenharmony_ci        '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"mksnapshot.*?sources = ")',
14481cb0ef41Sopenharmony_ci      ],
14491cb0ef41Sopenharmony_ci      'conditions': [
14501cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
14511cb0ef41Sopenharmony_ci          'toolsets': ['host'],
14521cb0ef41Sopenharmony_ci        }],
14531cb0ef41Sopenharmony_ci        ['OS=="win"', {
14541cb0ef41Sopenharmony_ci          'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
14551cb0ef41Sopenharmony_ci          'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc',
14561cb0ef41Sopenharmony_ci          'sources': [
14571cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_header)',
14581cb0ef41Sopenharmony_ci            '<(_msvs_precompiled_source)',
14591cb0ef41Sopenharmony_ci          ],
14601cb0ef41Sopenharmony_ci        }],
14611cb0ef41Sopenharmony_ci        # Avoid excessive LTO
14621cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
14631cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
14641cb0ef41Sopenharmony_ci        }],
14651cb0ef41Sopenharmony_ci        ['v8_control_flow_integrity==1', {
14661cb0ef41Sopenharmony_ci          'sources': [
14671cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/deoptimizer/deoptimizer-cfi-empty.cc',
14681cb0ef41Sopenharmony_ci          ],
14691cb0ef41Sopenharmony_ci        }],
14701cb0ef41Sopenharmony_ci      ],
14711cb0ef41Sopenharmony_ci    },  # mksnapshot
14721cb0ef41Sopenharmony_ci    {
14731cb0ef41Sopenharmony_ci      'target_name': 'torque',
14741cb0ef41Sopenharmony_ci      'type': 'executable',
14751cb0ef41Sopenharmony_ci      'dependencies': [
14761cb0ef41Sopenharmony_ci        'torque_base',
14771cb0ef41Sopenharmony_ci        # "build/win:default_exe_manifest",
14781cb0ef41Sopenharmony_ci      ],
14791cb0ef41Sopenharmony_ci      'conditions': [
14801cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
14811cb0ef41Sopenharmony_ci          'toolsets': ['host'],
14821cb0ef41Sopenharmony_ci        }],
14831cb0ef41Sopenharmony_ci        # Avoid excessive LTO
14841cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
14851cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
14861cb0ef41Sopenharmony_ci        }],
14871cb0ef41Sopenharmony_ci      ],
14881cb0ef41Sopenharmony_ci      'defines!': [
14891cb0ef41Sopenharmony_ci        '_HAS_EXCEPTIONS=0',
14901cb0ef41Sopenharmony_ci        'BUILDING_V8_SHARED=1',
14911cb0ef41Sopenharmony_ci      ],
14921cb0ef41Sopenharmony_ci      'cflags_cc!': ['-fno-exceptions'],
14931cb0ef41Sopenharmony_ci      'cflags_cc': ['-fexceptions'],
14941cb0ef41Sopenharmony_ci      'xcode_settings': {
14951cb0ef41Sopenharmony_ci        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',  # -fexceptions
14961cb0ef41Sopenharmony_ci      },
14971cb0ef41Sopenharmony_ci      'msvs_settings': {
14981cb0ef41Sopenharmony_ci        'VCCLCompilerTool': {
14991cb0ef41Sopenharmony_ci          'RuntimeTypeInfo': 'true',
15001cb0ef41Sopenharmony_ci          'ExceptionHandling': 1,
15011cb0ef41Sopenharmony_ci        },
15021cb0ef41Sopenharmony_ci        'VCLinkerTool': {
15031cb0ef41Sopenharmony_ci          'AdditionalDependencies': [
15041cb0ef41Sopenharmony_ci            'dbghelp.lib',
15051cb0ef41Sopenharmony_ci            'winmm.lib',
15061cb0ef41Sopenharmony_ci            'ws2_32.lib'
15071cb0ef41Sopenharmony_ci          ]
15081cb0ef41Sopenharmony_ci        }
15091cb0ef41Sopenharmony_ci      },
15101cb0ef41Sopenharmony_ci      'sources': [
15111cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/torque/torque.cc",
15121cb0ef41Sopenharmony_ci      ],
15131cb0ef41Sopenharmony_ci    },  # torque
15141cb0ef41Sopenharmony_ci    {
15151cb0ef41Sopenharmony_ci      'target_name': 'torque-language-server',
15161cb0ef41Sopenharmony_ci      'type': 'executable',
15171cb0ef41Sopenharmony_ci      'conditions': [
15181cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
15191cb0ef41Sopenharmony_ci          'toolsets': ['host'],
15201cb0ef41Sopenharmony_ci        }],
15211cb0ef41Sopenharmony_ci        # Avoid excessive LTO
15221cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
15231cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
15241cb0ef41Sopenharmony_ci        }],
15251cb0ef41Sopenharmony_ci      ],
15261cb0ef41Sopenharmony_ci      'dependencies': [
15271cb0ef41Sopenharmony_ci        'torque_base',
15281cb0ef41Sopenharmony_ci        'torque_ls_base',
15291cb0ef41Sopenharmony_ci        # "build/win:default_exe_manifest",
15301cb0ef41Sopenharmony_ci      ],
15311cb0ef41Sopenharmony_ci      'defines!': [
15321cb0ef41Sopenharmony_ci        '_HAS_EXCEPTIONS=0',
15331cb0ef41Sopenharmony_ci        'BUILDING_V8_SHARED=1',
15341cb0ef41Sopenharmony_ci      ],
15351cb0ef41Sopenharmony_ci      'msvs_settings': {
15361cb0ef41Sopenharmony_ci        'VCCLCompilerTool': {
15371cb0ef41Sopenharmony_ci          'RuntimeTypeInfo': 'true',
15381cb0ef41Sopenharmony_ci          'ExceptionHandling': 1,
15391cb0ef41Sopenharmony_ci        },
15401cb0ef41Sopenharmony_ci      },
15411cb0ef41Sopenharmony_ci      'sources': [
15421cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/torque/ls/torque-language-server.cc",
15431cb0ef41Sopenharmony_ci      ],
15441cb0ef41Sopenharmony_ci    },  # torque-language-server
15451cb0ef41Sopenharmony_ci    {
15461cb0ef41Sopenharmony_ci      'target_name': 'gen-regexp-special-case',
15471cb0ef41Sopenharmony_ci      'type': 'executable',
15481cb0ef41Sopenharmony_ci      'dependencies': [
15491cb0ef41Sopenharmony_ci        'v8_libbase',
15501cb0ef41Sopenharmony_ci        # "build/win:default_exe_manifest",
15511cb0ef41Sopenharmony_ci        'v8_maybe_icu',
15521cb0ef41Sopenharmony_ci      ],
15531cb0ef41Sopenharmony_ci      'conditions': [
15541cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
15551cb0ef41Sopenharmony_ci          'toolsets': ['host'],
15561cb0ef41Sopenharmony_ci        }],
15571cb0ef41Sopenharmony_ci        # Avoid excessive LTO
15581cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
15591cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
15601cb0ef41Sopenharmony_ci        }],
15611cb0ef41Sopenharmony_ci      ],
15621cb0ef41Sopenharmony_ci      'sources': [
15631cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/regexp/gen-regexp-special-case.cc",
15641cb0ef41Sopenharmony_ci        "<(V8_ROOT)/src/regexp/special-case.h",
15651cb0ef41Sopenharmony_ci      ],
15661cb0ef41Sopenharmony_ci    },  # gen-regexp-special-case
15671cb0ef41Sopenharmony_ci    {
15681cb0ef41Sopenharmony_ci      'target_name': 'run_gen-regexp-special-case',
15691cb0ef41Sopenharmony_ci      'type': 'none',
15701cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
15711cb0ef41Sopenharmony_ci      'conditions': [
15721cb0ef41Sopenharmony_ci        ['want_separate_host_toolset', {
15731cb0ef41Sopenharmony_ci          'dependencies': ['gen-regexp-special-case#host'],
15741cb0ef41Sopenharmony_ci        }, {
15751cb0ef41Sopenharmony_ci          'dependencies': ['gen-regexp-special-case#target'],
15761cb0ef41Sopenharmony_ci        }],
15771cb0ef41Sopenharmony_ci        # Avoid excessive LTO
15781cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
15791cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
15801cb0ef41Sopenharmony_ci        }],
15811cb0ef41Sopenharmony_ci      ],
15821cb0ef41Sopenharmony_ci      'actions': [
15831cb0ef41Sopenharmony_ci        {
15841cb0ef41Sopenharmony_ci          'action_name': 'run_gen-regexp-special-case_action',
15851cb0ef41Sopenharmony_ci          'inputs': [
15861cb0ef41Sopenharmony_ci            '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)',
15871cb0ef41Sopenharmony_ci          ],
15881cb0ef41Sopenharmony_ci          'outputs': [
15891cb0ef41Sopenharmony_ci            '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
15901cb0ef41Sopenharmony_ci          ],
15911cb0ef41Sopenharmony_ci          'action': [
15921cb0ef41Sopenharmony_ci            '<(python)',
15931cb0ef41Sopenharmony_ci            '<(V8_ROOT)/tools/run.py',
15941cb0ef41Sopenharmony_ci            '<@(_inputs)',
15951cb0ef41Sopenharmony_ci            '<@(_outputs)',
15961cb0ef41Sopenharmony_ci          ],
15971cb0ef41Sopenharmony_ci        },
15981cb0ef41Sopenharmony_ci      ],
15991cb0ef41Sopenharmony_ci    },  # run_gen-regexp-special-case
16001cb0ef41Sopenharmony_ci    {
16011cb0ef41Sopenharmony_ci      'target_name': 'v8_heap_base_headers',
16021cb0ef41Sopenharmony_ci      'type': 'none',
16031cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
16041cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
16051cb0ef41Sopenharmony_ci        'sources': [
16061cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_source_set.\\"v8_heap_base_headers.*?sources = ")',
16071cb0ef41Sopenharmony_ci        ],
16081cb0ef41Sopenharmony_ci      },
16091cb0ef41Sopenharmony_ci    },  # v8_heap_base_headers
16101cb0ef41Sopenharmony_ci    {
16111cb0ef41Sopenharmony_ci      'target_name': 'cppgc_base',
16121cb0ef41Sopenharmony_ci      'type': 'none',
16131cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
16141cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
16151cb0ef41Sopenharmony_ci        'sources': [
16161cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_source_set.\\"cppgc_base.*?sources = ")',
16171cb0ef41Sopenharmony_ci        ],
16181cb0ef41Sopenharmony_ci      },
16191cb0ef41Sopenharmony_ci    },  # cppgc_base
16201cb0ef41Sopenharmony_ci    {
16211cb0ef41Sopenharmony_ci      'target_name': 'v8_bigint',
16221cb0ef41Sopenharmony_ci      'type': 'none',
16231cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
16241cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
16251cb0ef41Sopenharmony_ci        'sources': [
16261cb0ef41Sopenharmony_ci          '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_source_set.\\"v8_bigint.*?sources = ")',
16271cb0ef41Sopenharmony_ci        ],
16281cb0ef41Sopenharmony_ci        'conditions': [
16291cb0ef41Sopenharmony_ci          ['v8_advanced_bigint_algorithms==1', {
16301cb0ef41Sopenharmony_ci            'sources': [
16311cb0ef41Sopenharmony_ci              '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "v8_source_set.\\"v8_bigint.*?v8_advanced_bigint_algorithms.*?sources \\+= ")',
16321cb0ef41Sopenharmony_ci            ],
16331cb0ef41Sopenharmony_ci          }],
16341cb0ef41Sopenharmony_ci        ],
16351cb0ef41Sopenharmony_ci      },
16361cb0ef41Sopenharmony_ci    },  # v8_bigint
16371cb0ef41Sopenharmony_ci    {
16381cb0ef41Sopenharmony_ci      'target_name': 'v8_heap_base',
16391cb0ef41Sopenharmony_ci      'type': 'none',
16401cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
16411cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
16421cb0ef41Sopenharmony_ci        'sources': [
16431cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/heap/base/active-system-pages.cc',
16441cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/heap/base/stack.cc',
16451cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/heap/base/worklist.cc',
16461cb0ef41Sopenharmony_ci        ],
16471cb0ef41Sopenharmony_ci        'conditions': [
16481cb0ef41Sopenharmony_ci          ['enable_lto=="true"', {
16491cb0ef41Sopenharmony_ci            'cflags_cc': [ '-fno-lto' ],
16501cb0ef41Sopenharmony_ci          }],
16511cb0ef41Sopenharmony_ci          ['clang or OS!="win"', {
16521cb0ef41Sopenharmony_ci            'conditions': [
16531cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "x64" or _toolset == "target" and target_arch=="x64"', {
16541cb0ef41Sopenharmony_ci                'sources': [
16551cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/x64/push_registers_asm.cc',
16561cb0ef41Sopenharmony_ci                ],
16571cb0ef41Sopenharmony_ci              }],
16581cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "ia32" or _toolset == "target" and target_arch=="ia32"', {
16591cb0ef41Sopenharmony_ci                'sources': [
16601cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/ia32/push_registers_asm.cc',
16611cb0ef41Sopenharmony_ci                ],
16621cb0ef41Sopenharmony_ci              }],
16631cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "arm" or _toolset == "target" and target_arch=="arm"', {
16641cb0ef41Sopenharmony_ci                'sources': [
16651cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/arm/push_registers_asm.cc',
16661cb0ef41Sopenharmony_ci                ],
16671cb0ef41Sopenharmony_ci              }],
16681cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "arm64" or _toolset == "target" and target_arch=="arm64"', {
16691cb0ef41Sopenharmony_ci                'sources': [
16701cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/arm64/push_registers_asm.cc',
16711cb0ef41Sopenharmony_ci                ],
16721cb0ef41Sopenharmony_ci              }],
16731cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "ppc64" or _toolset == "target" and target_arch=="ppc64"', {
16741cb0ef41Sopenharmony_ci                'sources': [
16751cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/ppc/push_registers_asm.cc',
16761cb0ef41Sopenharmony_ci                ],
16771cb0ef41Sopenharmony_ci              }],
16781cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "s390x" or _toolset == "target" and target_arch=="s390x"', {
16791cb0ef41Sopenharmony_ci                'sources': [
16801cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/s390/push_registers_asm.cc',
16811cb0ef41Sopenharmony_ci                ],
16821cb0ef41Sopenharmony_ci              }],
16831cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "mips" or _toolset == "target" and target_arch=="mips" or _toolset == "host" and host_arch == "mipsel" or _toolset == "target" and target_arch=="mipsel"', {
16841cb0ef41Sopenharmony_ci                'sources': [
16851cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/mips/push_registers_asm.cc',
16861cb0ef41Sopenharmony_ci                ],
16871cb0ef41Sopenharmony_ci              }],
16881cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "mips64" or _toolset == "target" and target_arch=="mips64" or _toolset == "host" and host_arch == "mips64el" or _toolset == "target" and target_arch=="mips64el"', {
16891cb0ef41Sopenharmony_ci                'sources': [
16901cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/mips64/push_registers_asm.cc',
16911cb0ef41Sopenharmony_ci                ],
16921cb0ef41Sopenharmony_ci              }],
16931cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "riscv64" or _toolset == "target" and target_arch=="riscv64"', {
16941cb0ef41Sopenharmony_ci                'sources': [
16951cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/riscv64/push_registers_asm.cc',
16961cb0ef41Sopenharmony_ci                ],
16971cb0ef41Sopenharmony_ci              }],
16981cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "loong64" or _toolset == "target" and target_arch=="loong64"', {
16991cb0ef41Sopenharmony_ci                'sources': [
17001cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/loong64/push_registers_asm.cc',
17011cb0ef41Sopenharmony_ci                ],
17021cb0ef41Sopenharmony_ci              }],
17031cb0ef41Sopenharmony_ci            ]
17041cb0ef41Sopenharmony_ci          }],
17051cb0ef41Sopenharmony_ci          ['OS=="win"', {
17061cb0ef41Sopenharmony_ci            'conditions': [
17071cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "x64" or _toolset == "target" and target_arch=="x64"', {
17081cb0ef41Sopenharmony_ci                'sources': [
17091cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/x64/push_registers_masm.S',
17101cb0ef41Sopenharmony_ci                ],
17111cb0ef41Sopenharmony_ci              }],
17121cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "ia32" or _toolset == "target" and target_arch=="ia32"', {
17131cb0ef41Sopenharmony_ci                'sources': [
17141cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/ia32/push_registers_masm.S',
17151cb0ef41Sopenharmony_ci                ],
17161cb0ef41Sopenharmony_ci              }],
17171cb0ef41Sopenharmony_ci              ['_toolset == "host" and host_arch == "arm64" or _toolset == "target" and target_arch=="arm64"', {
17181cb0ef41Sopenharmony_ci                'sources': [
17191cb0ef41Sopenharmony_ci                  '<(V8_ROOT)/src/heap/base/asm/arm64/push_registers_masm.S',
17201cb0ef41Sopenharmony_ci                ],
17211cb0ef41Sopenharmony_ci              }],
17221cb0ef41Sopenharmony_ci            ],
17231cb0ef41Sopenharmony_ci          }],
17241cb0ef41Sopenharmony_ci        ],
17251cb0ef41Sopenharmony_ci      },
17261cb0ef41Sopenharmony_ci    },  # v8_heap_base
17271cb0ef41Sopenharmony_ci
17281cb0ef41Sopenharmony_ci    ###############################################################################
17291cb0ef41Sopenharmony_ci    # Public targets
17301cb0ef41Sopenharmony_ci    #
17311cb0ef41Sopenharmony_ci
17321cb0ef41Sopenharmony_ci    {
17331cb0ef41Sopenharmony_ci      'target_name': 'v8',
17341cb0ef41Sopenharmony_ci      'hard_dependency': 1,
17351cb0ef41Sopenharmony_ci      'toolsets': ['target'],
17361cb0ef41Sopenharmony_ci      'dependencies': [
17371cb0ef41Sopenharmony_ci        'v8_snapshot',
17381cb0ef41Sopenharmony_ci      ],
17391cb0ef41Sopenharmony_ci      'conditions': [
17401cb0ef41Sopenharmony_ci        ['component=="shared_library"', {
17411cb0ef41Sopenharmony_ci          'type': '<(component)',
17421cb0ef41Sopenharmony_ci          'sources': [
17431cb0ef41Sopenharmony_ci            # Note: on non-Windows we still build this file so that gyp
17441cb0ef41Sopenharmony_ci            # has some sources to link into the component.
17451cb0ef41Sopenharmony_ci            '<(V8_ROOT)/src/utils/v8dll-main.cc',
17461cb0ef41Sopenharmony_ci          ],
17471cb0ef41Sopenharmony_ci          'defines': [
17481cb0ef41Sopenharmony_ci            'BUILDING_V8_SHARED',
17491cb0ef41Sopenharmony_ci          ],
17501cb0ef41Sopenharmony_ci          'direct_dependent_settings': {
17511cb0ef41Sopenharmony_ci            'defines': [
17521cb0ef41Sopenharmony_ci              'USING_V8_SHARED',
17531cb0ef41Sopenharmony_ci            ],
17541cb0ef41Sopenharmony_ci          },
17551cb0ef41Sopenharmony_ci          'conditions': [
17561cb0ef41Sopenharmony_ci            ['OS=="mac"', {
17571cb0ef41Sopenharmony_ci              'xcode_settings': {
17581cb0ef41Sopenharmony_ci                'OTHER_LDFLAGS': ['-dynamiclib', '-all_load']
17591cb0ef41Sopenharmony_ci              },
17601cb0ef41Sopenharmony_ci            }],
17611cb0ef41Sopenharmony_ci            ['soname_version!=""', {
17621cb0ef41Sopenharmony_ci              'product_extension': 'so.<(soname_version)',
17631cb0ef41Sopenharmony_ci            }],
17641cb0ef41Sopenharmony_ci          ],
17651cb0ef41Sopenharmony_ci        },
17661cb0ef41Sopenharmony_ci         {
17671cb0ef41Sopenharmony_ci           'type': 'static_library',
17681cb0ef41Sopenharmony_ci         }],
17691cb0ef41Sopenharmony_ci      ],
17701cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
17711cb0ef41Sopenharmony_ci        'include_dirs': [
17721cb0ef41Sopenharmony_ci          '<(V8_ROOT)/include',
17731cb0ef41Sopenharmony_ci        ],
17741cb0ef41Sopenharmony_ci      },
17751cb0ef41Sopenharmony_ci      'actions': [
17761cb0ef41Sopenharmony_ci        {
17771cb0ef41Sopenharmony_ci          'action_name': 'v8_dump_build_config',
17781cb0ef41Sopenharmony_ci          'inputs': [
17791cb0ef41Sopenharmony_ci            '<(V8_ROOT)/tools/testrunner/utils/dump_build_config_gyp.py',
17801cb0ef41Sopenharmony_ci          ],
17811cb0ef41Sopenharmony_ci          'outputs': [
17821cb0ef41Sopenharmony_ci            '<(PRODUCT_DIR)/v8_build_config.json',
17831cb0ef41Sopenharmony_ci          ],
17841cb0ef41Sopenharmony_ci          'variables': {
17851cb0ef41Sopenharmony_ci            'v8_dump_build_config_args': [
17861cb0ef41Sopenharmony_ci              '<(PRODUCT_DIR)/v8_build_config.json',
17871cb0ef41Sopenharmony_ci              'current_cpu=<(v8_current_cpu)',
17881cb0ef41Sopenharmony_ci              'dcheck_always_on=<(dcheck_always_on)',
17891cb0ef41Sopenharmony_ci              'is_android=<(is_android)',
17901cb0ef41Sopenharmony_ci              'is_asan=<(asan)',
17911cb0ef41Sopenharmony_ci              'is_cfi=<(cfi_vptr)',
17921cb0ef41Sopenharmony_ci              'is_clang=<(clang)',
17931cb0ef41Sopenharmony_ci              'is_component_build=<(component)',
17941cb0ef41Sopenharmony_ci              'is_debug=<(CONFIGURATION_NAME)',
17951cb0ef41Sopenharmony_ci              # Not available in gyp.
17961cb0ef41Sopenharmony_ci              'is_full_debug=0',
17971cb0ef41Sopenharmony_ci              # Not available in gyp.
17981cb0ef41Sopenharmony_ci              'is_gcov_coverage=0',
17991cb0ef41Sopenharmony_ci              'is_msan=<(msan)',
18001cb0ef41Sopenharmony_ci              'is_tsan=<(tsan)',
18011cb0ef41Sopenharmony_ci              # Not available in gyp.
18021cb0ef41Sopenharmony_ci              'is_ubsan_vptr=0',
18031cb0ef41Sopenharmony_ci              'target_cpu=<(target_arch)',
18041cb0ef41Sopenharmony_ci              'v8_current_cpu=<(v8_current_cpu)',
18051cb0ef41Sopenharmony_ci              'v8_enable_atomic_object_field_writes=<(v8_enable_atomic_object_field_writes)',
18061cb0ef41Sopenharmony_ci              'v8_enable_concurrent_marking=<(v8_enable_concurrent_marking)',
18071cb0ef41Sopenharmony_ci              'v8_enable_i18n_support=<(v8_enable_i18n_support)',
18081cb0ef41Sopenharmony_ci              'v8_enable_verify_predictable=<(v8_enable_verify_predictable)',
18091cb0ef41Sopenharmony_ci              'v8_enable_verify_csa=<(v8_enable_verify_csa)',
18101cb0ef41Sopenharmony_ci              'v8_enable_lite_mode=<(v8_enable_lite_mode)',
18111cb0ef41Sopenharmony_ci              'v8_enable_pointer_compression=<(v8_enable_pointer_compression)',
18121cb0ef41Sopenharmony_ci              'v8_enable_shared_ro_heap=<(v8_enable_shared_ro_heap)',
18131cb0ef41Sopenharmony_ci              'v8_enable_webassembly=<(v8_enable_webassembly)',
18141cb0ef41Sopenharmony_ci              # Not available in gyp.
18151cb0ef41Sopenharmony_ci              'v8_control_flow_integrity=0',
18161cb0ef41Sopenharmony_ci              'v8_target_cpu=<(v8_target_arch)',
18171cb0ef41Sopenharmony_ci            ]
18181cb0ef41Sopenharmony_ci          },
18191cb0ef41Sopenharmony_ci          'conditions': [
18201cb0ef41Sopenharmony_ci            ['v8_target_arch=="mips" or v8_target_arch=="mipsel" \
18211cb0ef41Sopenharmony_ci              or v8_target_arch=="mips64" or v8_target_arch=="mips64el"', {
18221cb0ef41Sopenharmony_ci              'v8_dump_build_config_args': [
18231cb0ef41Sopenharmony_ci                'mips_arch_variant=<(mips_arch_variant)',
18241cb0ef41Sopenharmony_ci                'mips_use_msa=<(mips_use_msa)',
18251cb0ef41Sopenharmony_ci              ],
18261cb0ef41Sopenharmony_ci            }],
18271cb0ef41Sopenharmony_ci          ],
18281cb0ef41Sopenharmony_ci          'action': [
18291cb0ef41Sopenharmony_ci            '<(python)', '<(V8_ROOT)/tools/testrunner/utils/dump_build_config_gyp.py',
18301cb0ef41Sopenharmony_ci            '<@(v8_dump_build_config_args)',
18311cb0ef41Sopenharmony_ci          ],
18321cb0ef41Sopenharmony_ci        },
18331cb0ef41Sopenharmony_ci      ],
18341cb0ef41Sopenharmony_ci    },  # v8
18351cb0ef41Sopenharmony_ci    # missing a bunch of fuzzer targets
18361cb0ef41Sopenharmony_ci
18371cb0ef41Sopenharmony_ci    ###############################################################################
18381cb0ef41Sopenharmony_ci    # Protobuf targets, used only when building outside of chromium.
18391cb0ef41Sopenharmony_ci    #
18401cb0ef41Sopenharmony_ci
18411cb0ef41Sopenharmony_ci    {
18421cb0ef41Sopenharmony_ci      'target_name': 'postmortem-metadata',
18431cb0ef41Sopenharmony_ci      'type': 'none',
18441cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
18451cb0ef41Sopenharmony_ci      'dependencies': ['run_torque'],
18461cb0ef41Sopenharmony_ci      'variables': {
18471cb0ef41Sopenharmony_ci        'heapobject_files': [
18481cb0ef41Sopenharmony_ci          '<(SHARED_INTERMEDIATE_DIR)/torque-generated/instance-types.h',
18491cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/allocation-site.h',
18501cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/allocation-site-inl.h',
18511cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/cell.h',
18521cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/cell-inl.h',
18531cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/code.h',
18541cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/code-inl.h',
18551cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/data-handler.h',
18561cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/data-handler-inl.h',
18571cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/descriptor-array.h',
18581cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/descriptor-array-inl.h',
18591cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/feedback-cell.h',
18601cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/feedback-cell-inl.h',
18611cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/fixed-array.h',
18621cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/fixed-array-inl.h',
18631cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/heap-number.h',
18641cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/heap-number-inl.h',
18651cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/heap-object.h',
18661cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/heap-object-inl.h',
18671cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/instance-type.h',
18681cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-array-buffer.h',
18691cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-array-buffer-inl.h',
18701cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-array.h',
18711cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-array-inl.h',
18721cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-function-inl.h',
18731cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-function.cc',
18741cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-function.h',
18751cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-objects.cc',
18761cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-objects.h',
18771cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-objects-inl.h',
18781cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-promise.h',
18791cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-promise-inl.h',
18801cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-regexp.cc',
18811cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-regexp.h',
18821cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-regexp-inl.h',
18831cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-regexp-string-iterator.h',
18841cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/js-regexp-string-iterator-inl.h',
18851cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/map.cc',
18861cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/map.h',
18871cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/map-inl.h',
18881cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/name.h',
18891cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/name-inl.h',
18901cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/objects.h',
18911cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/objects-inl.h',
18921cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/oddball.h',
18931cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/oddball-inl.h',
18941cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/primitive-heap-object.h',
18951cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/primitive-heap-object-inl.h',
18961cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/scope-info.h',
18971cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/scope-info-inl.h',
18981cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/script.h',
18991cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/script-inl.h',
19001cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/shared-function-info.cc',
19011cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/shared-function-info.h',
19021cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/shared-function-info-inl.h',
19031cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/string.cc',
19041cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/string-comparator.cc',
19051cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/string-comparator.h',
19061cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/string.h',
19071cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/string-inl.h',
19081cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/struct.h',
19091cb0ef41Sopenharmony_ci          '<(V8_ROOT)/src/objects/struct-inl.h',
19101cb0ef41Sopenharmony_ci        ],
19111cb0ef41Sopenharmony_ci      },
19121cb0ef41Sopenharmony_ci      'actions': [
19131cb0ef41Sopenharmony_ci        {
19141cb0ef41Sopenharmony_ci          'action_name': 'gen-postmortem-metadata',
19151cb0ef41Sopenharmony_ci          'inputs': [
19161cb0ef41Sopenharmony_ci            '<(V8_ROOT)/tools/gen-postmortem-metadata.py',
19171cb0ef41Sopenharmony_ci            '<@(heapobject_files)',
19181cb0ef41Sopenharmony_ci          ],
19191cb0ef41Sopenharmony_ci          'outputs': [
19201cb0ef41Sopenharmony_ci            '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
19211cb0ef41Sopenharmony_ci          ],
19221cb0ef41Sopenharmony_ci          'action': [
19231cb0ef41Sopenharmony_ci            '<(python)',
19241cb0ef41Sopenharmony_ci            '<(V8_ROOT)/tools/gen-postmortem-metadata.py',
19251cb0ef41Sopenharmony_ci            '<@(_outputs)',
19261cb0ef41Sopenharmony_ci            '<@(heapobject_files)'
19271cb0ef41Sopenharmony_ci          ],
19281cb0ef41Sopenharmony_ci        },
19291cb0ef41Sopenharmony_ci      ],
19301cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
19311cb0ef41Sopenharmony_ci        'sources': ['<(SHARED_INTERMEDIATE_DIR)/debug-support.cc', ],
19321cb0ef41Sopenharmony_ci      },
19331cb0ef41Sopenharmony_ci    },  # postmortem-metadata
19341cb0ef41Sopenharmony_ci
19351cb0ef41Sopenharmony_ci    {
19361cb0ef41Sopenharmony_ci      'target_name': 'v8_zlib',
19371cb0ef41Sopenharmony_ci      'type': 'static_library',
19381cb0ef41Sopenharmony_ci      'toolsets': ['host', 'target'],
19391cb0ef41Sopenharmony_ci      'conditions': [
19401cb0ef41Sopenharmony_ci        ['OS=="win"', {
19411cb0ef41Sopenharmony_ci          'conditions': [
19421cb0ef41Sopenharmony_ci            ['"<(target_arch)"=="arm64" and _toolset=="target"', {
19431cb0ef41Sopenharmony_ci              'defines': ['CPU_NO_SIMD']
19441cb0ef41Sopenharmony_ci            }, {
19451cb0ef41Sopenharmony_ci              'defines': ['X86_WINDOWS']
19461cb0ef41Sopenharmony_ci            }]
19471cb0ef41Sopenharmony_ci          ]
19481cb0ef41Sopenharmony_ci        }],
19491cb0ef41Sopenharmony_ci      ],
19501cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
19511cb0ef41Sopenharmony_ci        'include_dirs': [
19521cb0ef41Sopenharmony_ci          '<(V8_ROOT)/third_party/zlib',
19531cb0ef41Sopenharmony_ci          '<(V8_ROOT)/third_party/zlib/google',
19541cb0ef41Sopenharmony_ci        ],
19551cb0ef41Sopenharmony_ci      },
19561cb0ef41Sopenharmony_ci      'defines': [ 'ZLIB_IMPLEMENTATION' ],
19571cb0ef41Sopenharmony_ci      'include_dirs': [
19581cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib',
19591cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/google',
19601cb0ef41Sopenharmony_ci      ],
19611cb0ef41Sopenharmony_ci      'sources': [
19621cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/adler32.c',
19631cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/chromeconf.h',
19641cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/compress.c',
19651cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/contrib/optimizations/insert_string.h',
19661cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/contrib/optimizations/insert_string.h',
19671cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/cpu_features.c',
19681cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/cpu_features.h',
19691cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/crc32.c',
19701cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/crc32.h',
19711cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/deflate.c',
19721cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/deflate.h',
19731cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/gzclose.c',
19741cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/gzguts.h',
19751cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/gzlib.c',
19761cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/gzread.c',
19771cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/gzwrite.c',
19781cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/infback.c',
19791cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/inffast.c',
19801cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/inffast.h',
19811cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/inffixed.h',
19821cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/inflate.c',
19831cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/inflate.h',
19841cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/inftrees.c',
19851cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/inftrees.h',
19861cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/trees.c',
19871cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/trees.h',
19881cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/uncompr.c',
19891cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/zconf.h',
19901cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/zlib.h',
19911cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/zutil.c',
19921cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/zutil.h',
19931cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/google/compression_utils_portable.cc',
19941cb0ef41Sopenharmony_ci        '<(V8_ROOT)/third_party/zlib/google/compression_utils_portable.h',
19951cb0ef41Sopenharmony_ci      ],
19961cb0ef41Sopenharmony_ci    },  # v8_zlib
19971cb0ef41Sopenharmony_ci  ],
19981cb0ef41Sopenharmony_ci}
1999