11cb0ef41Sopenharmony_ci{
21cb0ef41Sopenharmony_ci  'variables': {
31cb0ef41Sopenharmony_ci    'v8_use_siphash%': 0,
41cb0ef41Sopenharmony_ci    'v8_trace_maps%': 0,
51cb0ef41Sopenharmony_ci    'v8_enable_pointer_compression%': 0,
61cb0ef41Sopenharmony_ci    'v8_enable_31bit_smis_on_64bit_arch%': 0,
71cb0ef41Sopenharmony_ci    'node_use_dtrace%': 'false',
81cb0ef41Sopenharmony_ci    'node_use_etw%': 'false',
91cb0ef41Sopenharmony_ci    'node_no_browser_globals%': 'false',
101cb0ef41Sopenharmony_ci    'node_snapshot_main%': '',
111cb0ef41Sopenharmony_ci    'node_use_node_snapshot%': 'false',
121cb0ef41Sopenharmony_ci    'node_use_v8_platform%': 'true',
131cb0ef41Sopenharmony_ci    'node_use_bundled_v8%': 'true',
141cb0ef41Sopenharmony_ci    'node_shared%': 'false',
151cb0ef41Sopenharmony_ci    'force_dynamic_crt%': 0,
161cb0ef41Sopenharmony_ci    'ossfuzz' : 'false',
171cb0ef41Sopenharmony_ci    'node_module_version%': '',
181cb0ef41Sopenharmony_ci    'node_shared_brotli%': 'false',
191cb0ef41Sopenharmony_ci    'node_shared_zlib%': 'false',
201cb0ef41Sopenharmony_ci    'node_shared_http_parser%': 'false',
211cb0ef41Sopenharmony_ci    'node_shared_cares%': 'false',
221cb0ef41Sopenharmony_ci    'node_shared_libuv%': 'false',
231cb0ef41Sopenharmony_ci    'node_shared_nghttp2%': 'false',
241cb0ef41Sopenharmony_ci    'node_use_openssl%': 'true',
251cb0ef41Sopenharmony_ci    'node_shared_openssl%': 'false',
261cb0ef41Sopenharmony_ci    'node_v8_options%': '',
271cb0ef41Sopenharmony_ci    'node_enable_v8_vtunejit%': 'false',
281cb0ef41Sopenharmony_ci    'node_core_target_name%': 'node',
291cb0ef41Sopenharmony_ci    'node_lib_target_name%': 'libjsvm',
301cb0ef41Sopenharmony_ci    'node_intermediate_lib_type%': 'static_library',
311cb0ef41Sopenharmony_ci    'node_builtin_modules_path%': '',
321cb0ef41Sopenharmony_ci    'TARGET_DIR': '$(TARGET_GEN_DIR)',
331cb0ef41Sopenharmony_ci    'NDK_SYS_ROOT': '<(TARGET_DIR)/../../../../..',
341cb0ef41Sopenharmony_ci    'linked_module_files': [
351cb0ef41Sopenharmony_ci    ],
361cb0ef41Sopenharmony_ci    # We list the deps/ files out instead of globbing them in js2c.py since we
371cb0ef41Sopenharmony_ci    # only include a subset of all the files under these directories.
381cb0ef41Sopenharmony_ci    # The lengths of their file names combined should not exceed the
391cb0ef41Sopenharmony_ci    # Windows command length limit or there would be an error.
401cb0ef41Sopenharmony_ci    # See https://docs.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation
411cb0ef41Sopenharmony_ci    'library_files': [
421cb0ef41Sopenharmony_ci      '<@(node_library_files)',
431cb0ef41Sopenharmony_ci      '<@(linked_module_files)',
441cb0ef41Sopenharmony_ci    ],
451cb0ef41Sopenharmony_ci    'deps_files': [
461cb0ef41Sopenharmony_ci      'deps/v8/tools/splaytree.mjs',
471cb0ef41Sopenharmony_ci      'deps/v8/tools/codemap.mjs',
481cb0ef41Sopenharmony_ci      'deps/v8/tools/consarray.mjs',
491cb0ef41Sopenharmony_ci      'deps/v8/tools/csvparser.mjs',
501cb0ef41Sopenharmony_ci      'deps/v8/tools/profile.mjs',
511cb0ef41Sopenharmony_ci      'deps/v8/tools/profile_view.mjs',
521cb0ef41Sopenharmony_ci      'deps/v8/tools/logreader.mjs',
531cb0ef41Sopenharmony_ci      'deps/v8/tools/arguments.mjs',
541cb0ef41Sopenharmony_ci      'deps/v8/tools/tickprocessor.mjs',
551cb0ef41Sopenharmony_ci      'deps/v8/tools/sourcemap.mjs',
561cb0ef41Sopenharmony_ci      'deps/v8/tools/tickprocessor-driver.mjs',
571cb0ef41Sopenharmony_ci      'deps/acorn/acorn/dist/acorn.js',
581cb0ef41Sopenharmony_ci      'deps/acorn/acorn-walk/dist/walk.js',
591cb0ef41Sopenharmony_ci      'deps/minimatch/index.js',
601cb0ef41Sopenharmony_ci      '<@(node_builtin_shareable_builtins)',
611cb0ef41Sopenharmony_ci    ],
621cb0ef41Sopenharmony_ci    'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
631cb0ef41Sopenharmony_ci    'conditions': [
641cb0ef41Sopenharmony_ci      ['GENERATOR == "ninja"', {
651cb0ef41Sopenharmony_ci        'node_text_start_object_path': 'src/large_pages/node_text_start.node_text_start.o'
661cb0ef41Sopenharmony_ci      }, {
671cb0ef41Sopenharmony_ci        'node_text_start_object_path': 'node_text_start/src/large_pages/node_text_start.o'
681cb0ef41Sopenharmony_ci      }],
691cb0ef41Sopenharmony_ci      [ 'node_shared=="true"', {
701cb0ef41Sopenharmony_ci        'node_target_type%': 'shared_library',
711cb0ef41Sopenharmony_ci        'conditions': [
721cb0ef41Sopenharmony_ci          ['OS in "aix os400"', {
731cb0ef41Sopenharmony_ci            # For AIX, always generate static library first,
741cb0ef41Sopenharmony_ci            # It needs an extra step to generate exp and
751cb0ef41Sopenharmony_ci            # then use both static lib and exp to create
761cb0ef41Sopenharmony_ci            # shared lib.
771cb0ef41Sopenharmony_ci            'node_intermediate_lib_type': 'static_library',
781cb0ef41Sopenharmony_ci          }, {
791cb0ef41Sopenharmony_ci            'node_intermediate_lib_type': 'shared_library',
801cb0ef41Sopenharmony_ci          }],
811cb0ef41Sopenharmony_ci        ],
821cb0ef41Sopenharmony_ci      }, {
831cb0ef41Sopenharmony_ci        'node_target_type%': 'executable',
841cb0ef41Sopenharmony_ci      }],
851cb0ef41Sopenharmony_ci      [ 'OS=="win" and '
861cb0ef41Sopenharmony_ci        'node_use_openssl=="true" and '
871cb0ef41Sopenharmony_ci        'node_shared_openssl=="false"', {
881cb0ef41Sopenharmony_ci        'use_openssl_def%': 1,
891cb0ef41Sopenharmony_ci      }, {
901cb0ef41Sopenharmony_ci        'use_openssl_def%': 0,
911cb0ef41Sopenharmony_ci      }],
921cb0ef41Sopenharmony_ci    ],
931cb0ef41Sopenharmony_ci  },
941cb0ef41Sopenharmony_ci
951cb0ef41Sopenharmony_ci  'target_defaults': {
961cb0ef41Sopenharmony_ci    # Putting these explicitly here so not to depend on `common.gypi`.
971cb0ef41Sopenharmony_ci    # `common.gypi` need to be more general because it is used to build userland native addons.
981cb0ef41Sopenharmony_ci    # Refs: https://github.com/nodejs/node-gyp/issues/1118
991cb0ef41Sopenharmony_ci    'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
1001cb0ef41Sopenharmony_ci    'xcode_settings': {
1011cb0ef41Sopenharmony_ci      'WARNING_CFLAGS': [
1021cb0ef41Sopenharmony_ci        '-Wall',
1031cb0ef41Sopenharmony_ci        '-Wendif-labels',
1041cb0ef41Sopenharmony_ci        '-W',
1051cb0ef41Sopenharmony_ci        '-Wno-unused-parameter',
1061cb0ef41Sopenharmony_ci        '-Werror=undefined-inline',
1071cb0ef41Sopenharmony_ci        '-Werror=extra-semi',
1081cb0ef41Sopenharmony_ci      ],
1091cb0ef41Sopenharmony_ci    },
1101cb0ef41Sopenharmony_ci
1111cb0ef41Sopenharmony_ci    # Relevant only for x86.
1121cb0ef41Sopenharmony_ci    # Refs: https://github.com/nodejs/node/pull/25852
1131cb0ef41Sopenharmony_ci    # Refs: https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers
1141cb0ef41Sopenharmony_ci    'msvs_settings': {
1151cb0ef41Sopenharmony_ci      'VCLinkerTool': {
1161cb0ef41Sopenharmony_ci        'ImageHasSafeExceptionHandlers': 'false',
1171cb0ef41Sopenharmony_ci      },
1181cb0ef41Sopenharmony_ci    },
1191cb0ef41Sopenharmony_ci
1201cb0ef41Sopenharmony_ci    'conditions': [
1211cb0ef41Sopenharmony_ci      ['OS in "aix os400"', {
1221cb0ef41Sopenharmony_ci        'ldflags': [
1231cb0ef41Sopenharmony_ci          '-Wl,-bnoerrmsg',
1241cb0ef41Sopenharmony_ci        ],
1251cb0ef41Sopenharmony_ci      }],
1261cb0ef41Sopenharmony_ci      #['OS == "linux" and llvm_version != "0.0"', {
1271cb0ef41Sopenharmony_ci      #  'libraries': ['-latomic'],
1281cb0ef41Sopenharmony_ci      #}],
1291cb0ef41Sopenharmony_ci    ],
1301cb0ef41Sopenharmony_ci  },
1311cb0ef41Sopenharmony_ci
1321cb0ef41Sopenharmony_ci  'targets': [
1331cb0ef41Sopenharmony_ci    {
1341cb0ef41Sopenharmony_ci      'target_name': 'node_text_start',
1351cb0ef41Sopenharmony_ci      'type': 'none',
1361cb0ef41Sopenharmony_ci      'conditions': [
1371cb0ef41Sopenharmony_ci        [ 'OS in "linux freebsd solaris" and '
1381cb0ef41Sopenharmony_ci          'target_arch=="x64"', {
1391cb0ef41Sopenharmony_ci          'type': 'static_library',
1401cb0ef41Sopenharmony_ci          'sources': [
1411cb0ef41Sopenharmony_ci            'src/large_pages/node_text_start.S'
1421cb0ef41Sopenharmony_ci          ]
1431cb0ef41Sopenharmony_ci        }],
1441cb0ef41Sopenharmony_ci      ]
1451cb0ef41Sopenharmony_ci    },
1461cb0ef41Sopenharmony_ci    {
1471cb0ef41Sopenharmony_ci      'target_name': '<(node_core_target_name)',
1481cb0ef41Sopenharmony_ci      'type': 'executable',
1491cb0ef41Sopenharmony_ci
1501cb0ef41Sopenharmony_ci      'defines': [
1511cb0ef41Sopenharmony_ci        'NODE_ARCH="<(target_arch)"',
1521cb0ef41Sopenharmony_ci        'NODE_PLATFORM="<(OS)"',
1531cb0ef41Sopenharmony_ci        'NODE_WANT_INTERNALS=1',
1541cb0ef41Sopenharmony_ci      ],
1551cb0ef41Sopenharmony_ci
1561cb0ef41Sopenharmony_ci      'includes': [
1571cb0ef41Sopenharmony_ci        'node.gypi'
1581cb0ef41Sopenharmony_ci      ],
1591cb0ef41Sopenharmony_ci
1601cb0ef41Sopenharmony_ci      'include_dirs': [
1611cb0ef41Sopenharmony_ci        'src',
1621cb0ef41Sopenharmony_ci        'deps/v8/include',
1631cb0ef41Sopenharmony_ci        'deps/postject'
1641cb0ef41Sopenharmony_ci      ],
1651cb0ef41Sopenharmony_ci
1661cb0ef41Sopenharmony_ci      'sources': [
1671cb0ef41Sopenharmony_ci        'src/node_main.cc'
1681cb0ef41Sopenharmony_ci      ],
1691cb0ef41Sopenharmony_ci
1701cb0ef41Sopenharmony_ci      'dependencies': [
1711cb0ef41Sopenharmony_ci        'deps/histogram/histogram.gyp:histogram',
1721cb0ef41Sopenharmony_ci        'deps/uvwasi/uvwasi.gyp:uvwasi',
1731cb0ef41Sopenharmony_ci      ],
1741cb0ef41Sopenharmony_ci
1751cb0ef41Sopenharmony_ci      'msvs_settings': {
1761cb0ef41Sopenharmony_ci        'VCLinkerTool': {
1771cb0ef41Sopenharmony_ci          'GenerateMapFile': 'true', # /MAP
1781cb0ef41Sopenharmony_ci          'MapExports': 'true', # /MAPINFO:EXPORTS
1791cb0ef41Sopenharmony_ci          'RandomizedBaseAddress': 2, # enable ASLR
1801cb0ef41Sopenharmony_ci          'DataExecutionPrevention': 2, # enable DEP
1811cb0ef41Sopenharmony_ci          'AllowIsolation': 'true',
1821cb0ef41Sopenharmony_ci          # By default, the MSVC linker only reserves 1 MiB of stack memory for
1831cb0ef41Sopenharmony_ci          # each thread, whereas other platforms typically allow much larger
1841cb0ef41Sopenharmony_ci          # stack memory sections. We raise the limit to make it more consistent
1851cb0ef41Sopenharmony_ci          # across platforms and to support the few use cases that require large
1861cb0ef41Sopenharmony_ci          # amounts of stack memory, without having to modify the node binary.
1871cb0ef41Sopenharmony_ci          'StackReserveSize': 0x800000,
1881cb0ef41Sopenharmony_ci        },
1891cb0ef41Sopenharmony_ci      },
1901cb0ef41Sopenharmony_ci
1911cb0ef41Sopenharmony_ci      # - "C4244: conversion from 'type1' to 'type2', possible loss of data"
1921cb0ef41Sopenharmony_ci      #   Ususaly safe. Disable for `dep`, enable for `src`
1931cb0ef41Sopenharmony_ci      'msvs_disabled_warnings!': [4244],
1941cb0ef41Sopenharmony_ci
1951cb0ef41Sopenharmony_ci      'conditions': [
1961cb0ef41Sopenharmony_ci        [ 'error_on_warn=="true"', {
1971cb0ef41Sopenharmony_ci          'cflags': ['-Werror'],
1981cb0ef41Sopenharmony_ci          'xcode_settings': {
1991cb0ef41Sopenharmony_ci            'WARNING_CFLAGS': [ '-Werror' ],
2001cb0ef41Sopenharmony_ci          },
2011cb0ef41Sopenharmony_ci        }],
2021cb0ef41Sopenharmony_ci        [ 'node_intermediate_lib_type=="static_library" and '
2031cb0ef41Sopenharmony_ci            'node_shared=="true" and OS in "aix os400"', {
2041cb0ef41Sopenharmony_ci          # For AIX, shared lib is linked by static lib and .exp. In the
2051cb0ef41Sopenharmony_ci          # case here, the executable needs to link to shared lib.
2061cb0ef41Sopenharmony_ci          # Therefore, use 'node_aix_shared' target to generate the
2071cb0ef41Sopenharmony_ci          # shared lib and then executable.
2081cb0ef41Sopenharmony_ci          'dependencies': [ 'node_aix_shared' ],
2091cb0ef41Sopenharmony_ci        }, {
2101cb0ef41Sopenharmony_ci          'dependencies': [ '<(node_lib_target_name)' ],
2111cb0ef41Sopenharmony_ci          'conditions': [
2121cb0ef41Sopenharmony_ci            ['OS=="win" and node_shared=="true"', {
2131cb0ef41Sopenharmony_ci              'dependencies': ['generate_node_def'],
2141cb0ef41Sopenharmony_ci              'msvs_settings': {
2151cb0ef41Sopenharmony_ci                'VCLinkerTool': {
2161cb0ef41Sopenharmony_ci                  'ModuleDefinitionFile': '<(PRODUCT_DIR)/<(node_core_target_name).def',
2171cb0ef41Sopenharmony_ci                },
2181cb0ef41Sopenharmony_ci              },
2191cb0ef41Sopenharmony_ci            }],
2201cb0ef41Sopenharmony_ci          ],
2211cb0ef41Sopenharmony_ci        }],
2221cb0ef41Sopenharmony_ci        [ 'node_intermediate_lib_type=="static_library" and node_shared=="false"', {
2231cb0ef41Sopenharmony_ci          'xcode_settings': {
2241cb0ef41Sopenharmony_ci            'OTHER_LDFLAGS': [
2251cb0ef41Sopenharmony_ci              '-Wl,-force_load,<(PRODUCT_DIR)/<(STATIC_LIB_PREFIX)<(node_core_target_name)<(STATIC_LIB_SUFFIX)',
2261cb0ef41Sopenharmony_ci              '-Wl,-force_load,<(PRODUCT_DIR)/<(STATIC_LIB_PREFIX)v8_base_without_compiler<(STATIC_LIB_SUFFIX)',
2271cb0ef41Sopenharmony_ci            ],
2281cb0ef41Sopenharmony_ci          },
2291cb0ef41Sopenharmony_ci          'msvs_settings': {
2301cb0ef41Sopenharmony_ci            'VCLinkerTool': {
2311cb0ef41Sopenharmony_ci              'AdditionalOptions': [
2321cb0ef41Sopenharmony_ci                '/WHOLEARCHIVE:<(node_lib_target_name)<(STATIC_LIB_SUFFIX)',
2331cb0ef41Sopenharmony_ci                '/WHOLEARCHIVE:<(STATIC_LIB_PREFIX)v8_base_without_compiler<(STATIC_LIB_SUFFIX)',
2341cb0ef41Sopenharmony_ci              ],
2351cb0ef41Sopenharmony_ci            },
2361cb0ef41Sopenharmony_ci          },
2371cb0ef41Sopenharmony_ci          'conditions': [
2381cb0ef41Sopenharmony_ci            ['OS != "aix" and OS != "os400" and OS != "mac" and OS != "ios"', {
2391cb0ef41Sopenharmony_ci              'ldflags': [
2401cb0ef41Sopenharmony_ci                '-Wl,--whole-archive',
2411cb0ef41Sopenharmony_ci                '<(obj_dir)/<(STATIC_LIB_PREFIX)<(node_core_target_name)<(STATIC_LIB_SUFFIX)',
2421cb0ef41Sopenharmony_ci                '<(obj_dir)/tools/v8_gypfiles/<(STATIC_LIB_PREFIX)v8_base_without_compiler<(STATIC_LIB_SUFFIX)',
2431cb0ef41Sopenharmony_ci                '-Wl,--no-whole-archive',
2441cb0ef41Sopenharmony_ci              ],
2451cb0ef41Sopenharmony_ci            }],
2461cb0ef41Sopenharmony_ci            [ 'OS=="win"', {
2471cb0ef41Sopenharmony_ci              'sources': [ 'src/res/node.rc' ],
2481cb0ef41Sopenharmony_ci              'conditions': [
2491cb0ef41Sopenharmony_ci                [ 'node_use_etw=="true"', {
2501cb0ef41Sopenharmony_ci                  'sources': [
2511cb0ef41Sopenharmony_ci                    'tools/msvs/genfiles/node_etw_provider.rc'
2521cb0ef41Sopenharmony_ci                  ],
2531cb0ef41Sopenharmony_ci                }],
2541cb0ef41Sopenharmony_ci              ],
2551cb0ef41Sopenharmony_ci            }],
2561cb0ef41Sopenharmony_ci          ],
2571cb0ef41Sopenharmony_ci        }],
2581cb0ef41Sopenharmony_ci        [ 'node_shared=="true"', {
2591cb0ef41Sopenharmony_ci          'xcode_settings': {
2601cb0ef41Sopenharmony_ci            'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', '-Wl,-rpath,@loader_path/../lib'],
2611cb0ef41Sopenharmony_ci          },
2621cb0ef41Sopenharmony_ci          'conditions': [
2631cb0ef41Sopenharmony_ci            ['OS=="linux"', {
2641cb0ef41Sopenharmony_ci               'ldflags': [
2651cb0ef41Sopenharmony_ci                 '-Wl,-rpath,\\$$ORIGIN/../lib'
2661cb0ef41Sopenharmony_ci               ],
2671cb0ef41Sopenharmony_ci            }],
2681cb0ef41Sopenharmony_ci          ],
2691cb0ef41Sopenharmony_ci        }],
2701cb0ef41Sopenharmony_ci        [ 'enable_lto=="true"', {
2711cb0ef41Sopenharmony_ci          'xcode_settings': {
2721cb0ef41Sopenharmony_ci            'OTHER_LDFLAGS': [
2731cb0ef41Sopenharmony_ci              # man ld -export_dynamic:
2741cb0ef41Sopenharmony_ci              # Preserves all global symbols in main executables during LTO.
2751cb0ef41Sopenharmony_ci              # Without this option, Link Time Optimization is allowed to
2761cb0ef41Sopenharmony_ci              # inline and remove global functions. This option is used when
2771cb0ef41Sopenharmony_ci              # a main executable may load a plug-in which requires certain
2781cb0ef41Sopenharmony_ci              # symbols from the main executable.
2791cb0ef41Sopenharmony_ci              '-Wl,-export_dynamic',
2801cb0ef41Sopenharmony_ci            ],
2811cb0ef41Sopenharmony_ci          },
2821cb0ef41Sopenharmony_ci        }],
2831cb0ef41Sopenharmony_ci        ['OS=="win"', {
2841cb0ef41Sopenharmony_ci          'libraries': [
2851cb0ef41Sopenharmony_ci            'Dbghelp.lib',
2861cb0ef41Sopenharmony_ci            'winmm.lib',
2871cb0ef41Sopenharmony_ci            'Ws2_32.lib',
2881cb0ef41Sopenharmony_ci          ],
2891cb0ef41Sopenharmony_ci        }],
2901cb0ef41Sopenharmony_ci        ['node_with_ltcg=="true"', {
2911cb0ef41Sopenharmony_ci          'msvs_settings': {
2921cb0ef41Sopenharmony_ci            'VCCLCompilerTool': {
2931cb0ef41Sopenharmony_ci              'WholeProgramOptimization': 'true'   # /GL, whole program optimization, needed for LTCG
2941cb0ef41Sopenharmony_ci            },
2951cb0ef41Sopenharmony_ci            'VCLibrarianTool': {
2961cb0ef41Sopenharmony_ci              'AdditionalOptions': [
2971cb0ef41Sopenharmony_ci                '/LTCG:INCREMENTAL',               # link time code generation
2981cb0ef41Sopenharmony_ci              ],
2991cb0ef41Sopenharmony_ci            },
3001cb0ef41Sopenharmony_ci            'VCLinkerTool': {
3011cb0ef41Sopenharmony_ci              'OptimizeReferences': 2,             # /OPT:REF
3021cb0ef41Sopenharmony_ci              'EnableCOMDATFolding': 2,            # /OPT:ICF
3031cb0ef41Sopenharmony_ci              'LinkIncremental': 1,                # disable incremental linking
3041cb0ef41Sopenharmony_ci              'AdditionalOptions': [
3051cb0ef41Sopenharmony_ci                '/LTCG:INCREMENTAL',               # incremental link-time code generation
3061cb0ef41Sopenharmony_ci              ],
3071cb0ef41Sopenharmony_ci            }
3081cb0ef41Sopenharmony_ci          }
3091cb0ef41Sopenharmony_ci        }, {
3101cb0ef41Sopenharmony_ci          'msvs_settings': {
3111cb0ef41Sopenharmony_ci            'VCCLCompilerTool': {
3121cb0ef41Sopenharmony_ci              'WholeProgramOptimization': 'false'
3131cb0ef41Sopenharmony_ci            },
3141cb0ef41Sopenharmony_ci            'VCLinkerTool': {
3151cb0ef41Sopenharmony_ci              'LinkIncremental': 2                 # enable incremental linking
3161cb0ef41Sopenharmony_ci            },
3171cb0ef41Sopenharmony_ci          },
3181cb0ef41Sopenharmony_ci         }],
3191cb0ef41Sopenharmony_ci         ['node_use_node_snapshot=="true"', {
3201cb0ef41Sopenharmony_ci          'dependencies': [
3211cb0ef41Sopenharmony_ci            'node_mksnapshot',
3221cb0ef41Sopenharmony_ci          ],
3231cb0ef41Sopenharmony_ci          'conditions': [
3241cb0ef41Sopenharmony_ci            ['node_snapshot_main!=""', {
3251cb0ef41Sopenharmony_ci              'actions': [
3261cb0ef41Sopenharmony_ci                {
3271cb0ef41Sopenharmony_ci                  'action_name': 'node_mksnapshot',
3281cb0ef41Sopenharmony_ci                  'process_outputs_as_sources': 1,
3291cb0ef41Sopenharmony_ci                  'inputs': [
3301cb0ef41Sopenharmony_ci                    '<(node_mksnapshot_exec)',
3311cb0ef41Sopenharmony_ci                    '<(node_snapshot_main)',
3321cb0ef41Sopenharmony_ci                  ],
3331cb0ef41Sopenharmony_ci                  'outputs': [
3341cb0ef41Sopenharmony_ci                    '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
3351cb0ef41Sopenharmony_ci                  ],
3361cb0ef41Sopenharmony_ci                  'action': [
3371cb0ef41Sopenharmony_ci                    '<(node_mksnapshot_exec)',
3381cb0ef41Sopenharmony_ci                    '--build-snapshot',
3391cb0ef41Sopenharmony_ci                    '<(node_snapshot_main)',
3401cb0ef41Sopenharmony_ci                    '<@(_outputs)',
3411cb0ef41Sopenharmony_ci                  ],
3421cb0ef41Sopenharmony_ci                },
3431cb0ef41Sopenharmony_ci              ],
3441cb0ef41Sopenharmony_ci            }, {
3451cb0ef41Sopenharmony_ci              'actions': [
3461cb0ef41Sopenharmony_ci                {
3471cb0ef41Sopenharmony_ci                  'action_name': 'node_mksnapshot',
3481cb0ef41Sopenharmony_ci                  'process_outputs_as_sources': 1,
3491cb0ef41Sopenharmony_ci                  'inputs': [
3501cb0ef41Sopenharmony_ci                    '<(node_mksnapshot_exec)',
3511cb0ef41Sopenharmony_ci                  ],
3521cb0ef41Sopenharmony_ci                  'outputs': [
3531cb0ef41Sopenharmony_ci                    '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
3541cb0ef41Sopenharmony_ci                  ],
3551cb0ef41Sopenharmony_ci                  'action': [
3561cb0ef41Sopenharmony_ci                    '<@(_inputs)',
3571cb0ef41Sopenharmony_ci                    '<@(_outputs)',
3581cb0ef41Sopenharmony_ci                  ],
3591cb0ef41Sopenharmony_ci                },
3601cb0ef41Sopenharmony_ci              ],
3611cb0ef41Sopenharmony_ci            }],
3621cb0ef41Sopenharmony_ci          ],
3631cb0ef41Sopenharmony_ci          }, {
3641cb0ef41Sopenharmony_ci          'sources': [
3651cb0ef41Sopenharmony_ci            'src/node_snapshot_stub.cc'
3661cb0ef41Sopenharmony_ci          ],
3671cb0ef41Sopenharmony_ci        }],
3681cb0ef41Sopenharmony_ci        [ 'OS in "linux freebsd" and '
3691cb0ef41Sopenharmony_ci          'target_arch=="x64"', {
3701cb0ef41Sopenharmony_ci          'dependencies': [ 'node_text_start' ],
3711cb0ef41Sopenharmony_ci          'ldflags+': [
3721cb0ef41Sopenharmony_ci            '<(obj_dir)/<(node_text_start_object_path)'
3731cb0ef41Sopenharmony_ci          ]
3741cb0ef41Sopenharmony_ci        }],
3751cb0ef41Sopenharmony_ci
3761cb0ef41Sopenharmony_ci        ['node_fipsinstall=="true"', {
3771cb0ef41Sopenharmony_ci          'variables': {
3781cb0ef41Sopenharmony_ci            'openssl-cli': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)openssl-cli<(EXECUTABLE_SUFFIX)',
3791cb0ef41Sopenharmony_ci            'provider_name': 'libopenssl-fipsmodule',
3801cb0ef41Sopenharmony_ci            'opensslconfig': './deps/openssl/nodejs-openssl.cnf',
3811cb0ef41Sopenharmony_ci            'conditions': [
3821cb0ef41Sopenharmony_ci              ['GENERATOR == "ninja"', {
3831cb0ef41Sopenharmony_ci	        'fipsmodule_internal': '<(PRODUCT_DIR)/lib/<(provider_name).so',
3841cb0ef41Sopenharmony_ci                'fipsmodule': '<(PRODUCT_DIR)/obj/lib/openssl-modules/fips.so',
3851cb0ef41Sopenharmony_ci                'fipsconfig': '<(PRODUCT_DIR)/obj/lib/fipsmodule.cnf',
3861cb0ef41Sopenharmony_ci                'opensslconfig_internal': '<(PRODUCT_DIR)/obj/lib/openssl.cnf',
3871cb0ef41Sopenharmony_ci             }, {
3881cb0ef41Sopenharmony_ci	        'fipsmodule_internal': '<(PRODUCT_DIR)/obj.target/deps/openssl/<(provider_name).so',
3891cb0ef41Sopenharmony_ci                'fipsmodule': '<(PRODUCT_DIR)/obj.target/deps/openssl/lib/openssl-modules/fips.so',
3901cb0ef41Sopenharmony_ci                'fipsconfig': '<(PRODUCT_DIR)/obj.target/deps/openssl/fipsmodule.cnf',
3911cb0ef41Sopenharmony_ci                'opensslconfig_internal': '<(PRODUCT_DIR)/obj.target/deps/openssl/openssl.cnf',
3921cb0ef41Sopenharmony_ci             }],
3931cb0ef41Sopenharmony_ci            ],
3941cb0ef41Sopenharmony_ci          },
3951cb0ef41Sopenharmony_ci          'actions': [
3961cb0ef41Sopenharmony_ci            {
3971cb0ef41Sopenharmony_ci              'action_name': 'fipsinstall',
3981cb0ef41Sopenharmony_ci              'process_outputs_as_sources': 1,
3991cb0ef41Sopenharmony_ci              'inputs': [
4001cb0ef41Sopenharmony_ci                '<(fipsmodule_internal)',
4011cb0ef41Sopenharmony_ci              ],
4021cb0ef41Sopenharmony_ci              'outputs': [
4031cb0ef41Sopenharmony_ci                '<(fipsconfig)',
4041cb0ef41Sopenharmony_ci              ],
4051cb0ef41Sopenharmony_ci              'action': [
4061cb0ef41Sopenharmony_ci                '<(openssl-cli)', 'fipsinstall',
4071cb0ef41Sopenharmony_ci                '-provider_name', '<(provider_name)',
4081cb0ef41Sopenharmony_ci                '-module', '<(fipsmodule_internal)',
4091cb0ef41Sopenharmony_ci                '-out', '<(fipsconfig)',
4101cb0ef41Sopenharmony_ci                #'-quiet',
4111cb0ef41Sopenharmony_ci              ],
4121cb0ef41Sopenharmony_ci            },
4131cb0ef41Sopenharmony_ci            {
4141cb0ef41Sopenharmony_ci              'action_name': 'copy_fips_module',
4151cb0ef41Sopenharmony_ci              'inputs': [
4161cb0ef41Sopenharmony_ci                '<(fipsmodule_internal)',
4171cb0ef41Sopenharmony_ci              ],
4181cb0ef41Sopenharmony_ci              'outputs': [
4191cb0ef41Sopenharmony_ci                '<(fipsmodule)',
4201cb0ef41Sopenharmony_ci              ],
4211cb0ef41Sopenharmony_ci              'action': [
4221cb0ef41Sopenharmony_ci                'python', 'tools/copyfile.py',
4231cb0ef41Sopenharmony_ci                '<(fipsmodule_internal)',
4241cb0ef41Sopenharmony_ci                '<(fipsmodule)',
4251cb0ef41Sopenharmony_ci              ],
4261cb0ef41Sopenharmony_ci            },
4271cb0ef41Sopenharmony_ci            {
4281cb0ef41Sopenharmony_ci              'action_name': 'copy_openssl_cnf_and_include_fips_cnf',
4291cb0ef41Sopenharmony_ci              'inputs': [ '<(opensslconfig)', ],
4301cb0ef41Sopenharmony_ci              'outputs': [ '<(opensslconfig_internal)', ],
4311cb0ef41Sopenharmony_ci              'action': [
4321cb0ef41Sopenharmony_ci                'python', 'tools/enable_fips_include.py',
4331cb0ef41Sopenharmony_ci                '<(opensslconfig)',
4341cb0ef41Sopenharmony_ci                '<(opensslconfig_internal)',
4351cb0ef41Sopenharmony_ci                '<(fipsconfig)',
4361cb0ef41Sopenharmony_ci              ],
4371cb0ef41Sopenharmony_ci            },
4381cb0ef41Sopenharmony_ci          ],
4391cb0ef41Sopenharmony_ci         }, {
4401cb0ef41Sopenharmony_ci           'variables': {
4411cb0ef41Sopenharmony_ci              'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf',
4421cb0ef41Sopenharmony_ci              'opensslconfig': './deps/openssl/nodejs-openssl.cnf',
4431cb0ef41Sopenharmony_ci           },
4441cb0ef41Sopenharmony_ci           'actions': [
4451cb0ef41Sopenharmony_ci             {
4461cb0ef41Sopenharmony_ci               'action_name': 'reset_openssl_cnf',
4471cb0ef41Sopenharmony_ci               'inputs': [ '<(opensslconfig)', ],
4481cb0ef41Sopenharmony_ci               'outputs': [ '<(opensslconfig_internal)', ],
4491cb0ef41Sopenharmony_ci               'action': [
4501cb0ef41Sopenharmony_ci                 '<(python)', 'tools/copyfile.py',
4511cb0ef41Sopenharmony_ci                 '<(opensslconfig)',
4521cb0ef41Sopenharmony_ci                 '<(opensslconfig_internal)',
4531cb0ef41Sopenharmony_ci               ],
4541cb0ef41Sopenharmony_ci             },
4551cb0ef41Sopenharmony_ci           ],
4561cb0ef41Sopenharmony_ci         }],
4571cb0ef41Sopenharmony_ci      ],
4581cb0ef41Sopenharmony_ci    }, # node_core_target_name
4591cb0ef41Sopenharmony_ci    {
4601cb0ef41Sopenharmony_ci      'target_name': '<(node_lib_target_name)',
4611cb0ef41Sopenharmony_ci      'type': '<(node_intermediate_lib_type)',
4621cb0ef41Sopenharmony_ci      'includes': [
4631cb0ef41Sopenharmony_ci        'node.gypi',
4641cb0ef41Sopenharmony_ci      ],
4651cb0ef41Sopenharmony_ci
4661cb0ef41Sopenharmony_ci      'include_dirs': [
4671cb0ef41Sopenharmony_ci        'src',
4681cb0ef41Sopenharmony_ci        'deps/postject',
4691cb0ef41Sopenharmony_ci        '../../base/startup/init/interfaces/innerkits/include/param',
4701cb0ef41Sopenharmony_ci        '../../base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include',
4711cb0ef41Sopenharmony_ci        '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
4721cb0ef41Sopenharmony_ci      ],
4731cb0ef41Sopenharmony_ci      'dependencies': [
4741cb0ef41Sopenharmony_ci        'deps/base64/base64.gyp:base64',
4751cb0ef41Sopenharmony_ci        'deps/googletest/googletest.gyp:gtest_prod',
4761cb0ef41Sopenharmony_ci        'deps/histogram/histogram.gyp:histogram',
4771cb0ef41Sopenharmony_ci        'deps/uvwasi/uvwasi.gyp:uvwasi',
4781cb0ef41Sopenharmony_ci        'deps/simdutf/simdutf.gyp:simdutf',
4791cb0ef41Sopenharmony_ci        'deps/ada/ada.gyp:ada',
4801cb0ef41Sopenharmony_ci      ],
4811cb0ef41Sopenharmony_ci
4821cb0ef41Sopenharmony_ci      'sources': [
4831cb0ef41Sopenharmony_ci        'src/api/async_resource.cc',
4841cb0ef41Sopenharmony_ci        'src/api/callback.cc',
4851cb0ef41Sopenharmony_ci        'src/api/embed_helpers.cc',
4861cb0ef41Sopenharmony_ci        'src/api/encoding.cc',
4871cb0ef41Sopenharmony_ci        'src/api/environment.cc',
4881cb0ef41Sopenharmony_ci        'src/api/exceptions.cc',
4891cb0ef41Sopenharmony_ci        'src/api/hooks.cc',
4901cb0ef41Sopenharmony_ci        'src/api/utils.cc',
4911cb0ef41Sopenharmony_ci        'src/async_wrap.cc',
4921cb0ef41Sopenharmony_ci        'src/base_object.cc',
4931cb0ef41Sopenharmony_ci        'src/cares_wrap.cc',
4941cb0ef41Sopenharmony_ci        'src/cleanup_queue.cc',
4951cb0ef41Sopenharmony_ci        'src/connect_wrap.cc',
4961cb0ef41Sopenharmony_ci        'src/connection_wrap.cc',
4971cb0ef41Sopenharmony_ci        'src/debug_utils.cc',
4981cb0ef41Sopenharmony_ci        'src/env.cc',
4991cb0ef41Sopenharmony_ci        'src/fs_event_wrap.cc',
5001cb0ef41Sopenharmony_ci        'src/handle_wrap.cc',
5011cb0ef41Sopenharmony_ci        'src/heap_utils.cc',
5021cb0ef41Sopenharmony_ci        'src/histogram.cc',
5031cb0ef41Sopenharmony_ci        'src/jsvm.h',
5041cb0ef41Sopenharmony_ci        'src/jsvm_types.h',
5051cb0ef41Sopenharmony_ci        'src/js_native_api_v8.cc',
5061cb0ef41Sopenharmony_ci        'src/js_native_api_v8.h',
5071cb0ef41Sopenharmony_ci        'src/js_native_api_v8_inspector.cc',
5081cb0ef41Sopenharmony_ci        'src/js_native_api_v8_inspector.h',
5091cb0ef41Sopenharmony_ci        'src/js_native_api_v8_internals.h',
5101cb0ef41Sopenharmony_ci        'src/js_stream.cc',
5111cb0ef41Sopenharmony_ci        'src/json_utils.cc',
5121cb0ef41Sopenharmony_ci        'src/js_udp_wrap.cc',
5131cb0ef41Sopenharmony_ci        'src/module_wrap.cc',
5141cb0ef41Sopenharmony_ci        'src/node.cc',
5151cb0ef41Sopenharmony_ci        'src/node_api.cc',
5161cb0ef41Sopenharmony_ci        'src/node_binding.cc',
5171cb0ef41Sopenharmony_ci        'src/node_blob.cc',
5181cb0ef41Sopenharmony_ci        'src/node_buffer.cc',
5191cb0ef41Sopenharmony_ci        'src/node_builtins.cc',
5201cb0ef41Sopenharmony_ci        'src/node_config.cc',
5211cb0ef41Sopenharmony_ci        'src/node_constants.cc',
5221cb0ef41Sopenharmony_ci        'src/node_contextify.cc',
5231cb0ef41Sopenharmony_ci        'src/node_credentials.cc',
5241cb0ef41Sopenharmony_ci        'src/node_dir.cc',
5251cb0ef41Sopenharmony_ci        'src/node_env_var.cc',
5261cb0ef41Sopenharmony_ci        'src/node_errors.cc',
5271cb0ef41Sopenharmony_ci        'src/node_external_reference.cc',
5281cb0ef41Sopenharmony_ci        'src/node_file.cc',
5291cb0ef41Sopenharmony_ci        'src/node_http_parser.cc',
5301cb0ef41Sopenharmony_ci        'src/node_http2.cc',
5311cb0ef41Sopenharmony_ci        'src/node_i18n.cc',
5321cb0ef41Sopenharmony_ci        'src/node_main_instance.cc',
5331cb0ef41Sopenharmony_ci        'src/node_messaging.cc',
5341cb0ef41Sopenharmony_ci        'src/node_metadata.cc',
5351cb0ef41Sopenharmony_ci        'src/node_options.cc',
5361cb0ef41Sopenharmony_ci        'src/node_os.cc',
5371cb0ef41Sopenharmony_ci        'src/node_perf.cc',
5381cb0ef41Sopenharmony_ci        'src/node_platform.cc',
5391cb0ef41Sopenharmony_ci        'src/node_postmortem_metadata.cc',
5401cb0ef41Sopenharmony_ci        'src/node_process_events.cc',
5411cb0ef41Sopenharmony_ci        'src/node_process_methods.cc',
5421cb0ef41Sopenharmony_ci        'src/node_process_object.cc',
5431cb0ef41Sopenharmony_ci        'src/node_realm.cc',
5441cb0ef41Sopenharmony_ci        'src/node_report.cc',
5451cb0ef41Sopenharmony_ci        'src/node_report_module.cc',
5461cb0ef41Sopenharmony_ci        'src/node_report_utils.cc',
5471cb0ef41Sopenharmony_ci        'src/node_sea.cc',
5481cb0ef41Sopenharmony_ci        'src/node_serdes.cc',
5491cb0ef41Sopenharmony_ci        'src/node_shadow_realm.cc',
5501cb0ef41Sopenharmony_ci        'src/node_snapshotable.cc',
5511cb0ef41Sopenharmony_ci        'src/node_sockaddr.cc',
5521cb0ef41Sopenharmony_ci        'src/node_stat_watcher.cc',
5531cb0ef41Sopenharmony_ci        'src/node_symbols.cc',
5541cb0ef41Sopenharmony_ci        'src/node_task_queue.cc',
5551cb0ef41Sopenharmony_ci        'src/node_trace_events.cc',
5561cb0ef41Sopenharmony_ci        'src/node_types.cc',
5571cb0ef41Sopenharmony_ci        'src/node_url.cc',
5581cb0ef41Sopenharmony_ci        'src/node_util.cc',
5591cb0ef41Sopenharmony_ci        'src/node_v8.cc',
5601cb0ef41Sopenharmony_ci        'src/node_wasi.cc',
5611cb0ef41Sopenharmony_ci        'src/node_wasm_web_api.cc',
5621cb0ef41Sopenharmony_ci        'src/node_watchdog.cc',
5631cb0ef41Sopenharmony_ci        'src/node_worker.cc',
5641cb0ef41Sopenharmony_ci        'src/node_zlib.cc',
5651cb0ef41Sopenharmony_ci        'src/pipe_wrap.cc',
5661cb0ef41Sopenharmony_ci        'src/process_wrap.cc',
5671cb0ef41Sopenharmony_ci        'src/signal_wrap.cc',
5681cb0ef41Sopenharmony_ci        'src/spawn_sync.cc',
5691cb0ef41Sopenharmony_ci        'src/stream_base.cc',
5701cb0ef41Sopenharmony_ci        'src/stream_pipe.cc',
5711cb0ef41Sopenharmony_ci        'src/stream_wrap.cc',
5721cb0ef41Sopenharmony_ci        'src/string_bytes.cc',
5731cb0ef41Sopenharmony_ci        'src/string_decoder.cc',
5741cb0ef41Sopenharmony_ci        'src/tcp_wrap.cc',
5751cb0ef41Sopenharmony_ci        'src/timers.cc',
5761cb0ef41Sopenharmony_ci        'src/timer_wrap.cc',
5771cb0ef41Sopenharmony_ci        'src/tracing/agent.cc',
5781cb0ef41Sopenharmony_ci        'src/tracing/node_trace_buffer.cc',
5791cb0ef41Sopenharmony_ci        'src/tracing/node_trace_writer.cc',
5801cb0ef41Sopenharmony_ci        'src/tracing/trace_event.cc',
5811cb0ef41Sopenharmony_ci        'src/tracing/traced_value.cc',
5821cb0ef41Sopenharmony_ci        'src/tty_wrap.cc',
5831cb0ef41Sopenharmony_ci        'src/udp_wrap.cc',
5841cb0ef41Sopenharmony_ci        'src/util.cc',
5851cb0ef41Sopenharmony_ci        'src/uv.cc',
5861cb0ef41Sopenharmony_ci        # headers to make for a more pleasant IDE experience
5871cb0ef41Sopenharmony_ci        'src/aliased_buffer.h',
5881cb0ef41Sopenharmony_ci        'src/aliased_buffer-inl.h',
5891cb0ef41Sopenharmony_ci        'src/aliased_struct.h',
5901cb0ef41Sopenharmony_ci        'src/aliased_struct-inl.h',
5911cb0ef41Sopenharmony_ci        'src/async_wrap.h',
5921cb0ef41Sopenharmony_ci        'src/async_wrap-inl.h',
5931cb0ef41Sopenharmony_ci        'src/base_object.h',
5941cb0ef41Sopenharmony_ci        'src/base_object-inl.h',
5951cb0ef41Sopenharmony_ci        'src/base_object_types.h',
5961cb0ef41Sopenharmony_ci        'src/base64.h',
5971cb0ef41Sopenharmony_ci        'src/base64-inl.h',
5981cb0ef41Sopenharmony_ci        'src/callback_queue.h',
5991cb0ef41Sopenharmony_ci        'src/callback_queue-inl.h',
6001cb0ef41Sopenharmony_ci        'src/cleanup_queue.h',
6011cb0ef41Sopenharmony_ci        'src/cleanup_queue-inl.h',
6021cb0ef41Sopenharmony_ci        'src/connect_wrap.h',
6031cb0ef41Sopenharmony_ci        'src/connection_wrap.h',
6041cb0ef41Sopenharmony_ci        'src/debug_utils.h',
6051cb0ef41Sopenharmony_ci        'src/debug_utils-inl.h',
6061cb0ef41Sopenharmony_ci        'src/env_properties.h',
6071cb0ef41Sopenharmony_ci        'src/env.h',
6081cb0ef41Sopenharmony_ci        'src/env-inl.h',
6091cb0ef41Sopenharmony_ci        'src/handle_wrap.h',
6101cb0ef41Sopenharmony_ci        'src/histogram.h',
6111cb0ef41Sopenharmony_ci        'src/histogram-inl.h',
6121cb0ef41Sopenharmony_ci        'src/js_stream.h',
6131cb0ef41Sopenharmony_ci        'src/json_utils.h',
6141cb0ef41Sopenharmony_ci        'src/large_pages/node_large_page.cc',
6151cb0ef41Sopenharmony_ci        'src/large_pages/node_large_page.h',
6161cb0ef41Sopenharmony_ci        'src/memory_tracker.h',
6171cb0ef41Sopenharmony_ci        'src/memory_tracker-inl.h',
6181cb0ef41Sopenharmony_ci        'src/module_wrap.h',
6191cb0ef41Sopenharmony_ci        'src/node.h',
6201cb0ef41Sopenharmony_ci        'src/jsvm_node_api.h',
6211cb0ef41Sopenharmony_ci        'src/jsvm_node_api_types.h',
6221cb0ef41Sopenharmony_ci        'src/node_binding.h',
6231cb0ef41Sopenharmony_ci        'src/node_blob.h',
6241cb0ef41Sopenharmony_ci        'src/node_buffer.h',
6251cb0ef41Sopenharmony_ci        'src/node_builtins.h',
6261cb0ef41Sopenharmony_ci        'src/node_constants.h',
6271cb0ef41Sopenharmony_ci        'src/node_context_data.h',
6281cb0ef41Sopenharmony_ci        'src/node_contextify.h',
6291cb0ef41Sopenharmony_ci        'src/node_dir.h',
6301cb0ef41Sopenharmony_ci        'src/node_errors.h',
6311cb0ef41Sopenharmony_ci        'src/node_external_reference.h',
6321cb0ef41Sopenharmony_ci        'src/node_file.h',
6331cb0ef41Sopenharmony_ci        'src/node_file-inl.h',
6341cb0ef41Sopenharmony_ci        'src/node_http_common.h',
6351cb0ef41Sopenharmony_ci        'src/node_http_common-inl.h',
6361cb0ef41Sopenharmony_ci        'src/node_http2.h',
6371cb0ef41Sopenharmony_ci        'src/node_http2_state.h',
6381cb0ef41Sopenharmony_ci        'src/node_i18n.h',
6391cb0ef41Sopenharmony_ci        'src/node_internals.h',
6401cb0ef41Sopenharmony_ci        'src/node_main_instance.h',
6411cb0ef41Sopenharmony_ci        'src/node_mem.h',
6421cb0ef41Sopenharmony_ci        'src/node_mem-inl.h',
6431cb0ef41Sopenharmony_ci        'src/node_messaging.h',
6441cb0ef41Sopenharmony_ci        'src/node_metadata.h',
6451cb0ef41Sopenharmony_ci        'src/node_mutex.h',
6461cb0ef41Sopenharmony_ci        'src/node_object_wrap.h',
6471cb0ef41Sopenharmony_ci        'src/node_options.h',
6481cb0ef41Sopenharmony_ci        'src/node_options-inl.h',
6491cb0ef41Sopenharmony_ci        'src/node_perf.h',
6501cb0ef41Sopenharmony_ci        'src/node_perf_common.h',
6511cb0ef41Sopenharmony_ci        'src/node_platform.h',
6521cb0ef41Sopenharmony_ci        'src/node_process.h',
6531cb0ef41Sopenharmony_ci        'src/node_process-inl.h',
6541cb0ef41Sopenharmony_ci        'src/node_realm.h',
6551cb0ef41Sopenharmony_ci        'src/node_realm-inl.h',
6561cb0ef41Sopenharmony_ci        'src/node_report.h',
6571cb0ef41Sopenharmony_ci        'src/node_revert.h',
6581cb0ef41Sopenharmony_ci        'src/node_root_certs.h',
6591cb0ef41Sopenharmony_ci        'src/node_sea.h',
6601cb0ef41Sopenharmony_ci        'src/node_shadow_realm.h',
6611cb0ef41Sopenharmony_ci        'src/node_snapshotable.h',
6621cb0ef41Sopenharmony_ci        'src/node_snapshot_builder.h',
6631cb0ef41Sopenharmony_ci        'src/node_sockaddr.h',
6641cb0ef41Sopenharmony_ci        'src/node_sockaddr-inl.h',
6651cb0ef41Sopenharmony_ci        'src/node_stat_watcher.h',
6661cb0ef41Sopenharmony_ci        'src/node_union_bytes.h',
6671cb0ef41Sopenharmony_ci        'src/node_url.h',
6681cb0ef41Sopenharmony_ci        'src/node_util.h',
6691cb0ef41Sopenharmony_ci        'src/node_version.h',
6701cb0ef41Sopenharmony_ci        'src/node_v8.h',
6711cb0ef41Sopenharmony_ci        'src/node_v8_platform-inl.h',
6721cb0ef41Sopenharmony_ci        'src/node_wasi.h',
6731cb0ef41Sopenharmony_ci        'src/node_watchdog.h',
6741cb0ef41Sopenharmony_ci        'src/node_worker.h',
6751cb0ef41Sopenharmony_ci        'src/pipe_wrap.h',
6761cb0ef41Sopenharmony_ci        'src/req_wrap.h',
6771cb0ef41Sopenharmony_ci        'src/req_wrap-inl.h',
6781cb0ef41Sopenharmony_ci        'src/spawn_sync.h',
6791cb0ef41Sopenharmony_ci        'src/stream_base.h',
6801cb0ef41Sopenharmony_ci        'src/stream_base-inl.h',
6811cb0ef41Sopenharmony_ci        'src/stream_pipe.h',
6821cb0ef41Sopenharmony_ci        'src/stream_wrap.h',
6831cb0ef41Sopenharmony_ci        'src/string_bytes.h',
6841cb0ef41Sopenharmony_ci        'src/string_decoder.h',
6851cb0ef41Sopenharmony_ci        'src/string_decoder-inl.h',
6861cb0ef41Sopenharmony_ci        'src/string_search.h',
6871cb0ef41Sopenharmony_ci        'src/tcp_wrap.h',
6881cb0ef41Sopenharmony_ci        'src/tracing/agent.h',
6891cb0ef41Sopenharmony_ci        'src/tracing/node_trace_buffer.h',
6901cb0ef41Sopenharmony_ci        'src/tracing/node_trace_writer.h',
6911cb0ef41Sopenharmony_ci        'src/tracing/trace_event.h',
6921cb0ef41Sopenharmony_ci        'src/tracing/trace_event_common.h',
6931cb0ef41Sopenharmony_ci        'src/tracing/traced_value.h',
6941cb0ef41Sopenharmony_ci        'src/timer_wrap.h',
6951cb0ef41Sopenharmony_ci        'src/timer_wrap-inl.h',
6961cb0ef41Sopenharmony_ci        'src/tty_wrap.h',
6971cb0ef41Sopenharmony_ci        'src/udp_wrap.h',
6981cb0ef41Sopenharmony_ci        'src/util.h',
6991cb0ef41Sopenharmony_ci        'src/util-inl.h',
7001cb0ef41Sopenharmony_ci        # Dependency headers
7011cb0ef41Sopenharmony_ci        'deps/v8/include/v8.h',
7021cb0ef41Sopenharmony_ci        'deps/postject/postject-api.h'
7031cb0ef41Sopenharmony_ci        # javascript files to make for an even more pleasant IDE experience
7041cb0ef41Sopenharmony_ci        '<@(library_files)',
7051cb0ef41Sopenharmony_ci        '<@(deps_files)',
7061cb0ef41Sopenharmony_ci        # node.gyp is added by default, common.gypi is added for change detection
7071cb0ef41Sopenharmony_ci        'common.gypi',
7081cb0ef41Sopenharmony_ci      ],
7091cb0ef41Sopenharmony_ci
7101cb0ef41Sopenharmony_ci      'variables': {
7111cb0ef41Sopenharmony_ci        'openssl_system_ca_path%': '',
7121cb0ef41Sopenharmony_ci        'openssl_default_cipher_list%': '',
7131cb0ef41Sopenharmony_ci      },
7141cb0ef41Sopenharmony_ci
7151cb0ef41Sopenharmony_ci      'cflags': ['-Werror=unused-result'],
7161cb0ef41Sopenharmony_ci
7171cb0ef41Sopenharmony_ci      'defines': [
7181cb0ef41Sopenharmony_ci        'NODE_ARCH="<(target_arch)"',
7191cb0ef41Sopenharmony_ci        'NODE_PLATFORM="<(OS)"',
7201cb0ef41Sopenharmony_ci        'NODE_WANT_INTERNALS=1',
7211cb0ef41Sopenharmony_ci        # Warn when using deprecated V8 APIs.
7221cb0ef41Sopenharmony_ci        'V8_DEPRECATION_WARNINGS=1',
7231cb0ef41Sopenharmony_ci        'NODE_OPENSSL_SYSTEM_CERT_PATH="<(openssl_system_ca_path)"',
7241cb0ef41Sopenharmony_ci        'TARGET_OHOS',
7251cb0ef41Sopenharmony_ci        'ENABLE_HISYSEVENT',
7261cb0ef41Sopenharmony_ci      ],
7271cb0ef41Sopenharmony_ci
7281cb0ef41Sopenharmony_ci      # - "C4244: conversion from 'type1' to 'type2', possible loss of data"
7291cb0ef41Sopenharmony_ci      #   Ususaly safe. Disable for `dep`, enable for `src`
7301cb0ef41Sopenharmony_ci      'msvs_disabled_warnings!': [4244],
7311cb0ef41Sopenharmony_ci
7321cb0ef41Sopenharmony_ci      'ldflags' : [
7331cb0ef41Sopenharmony_ci        '<(NDK_SYS_ROOT)/resourceschedule/resource_schedule_service/libressched_client.z.so',
7341cb0ef41Sopenharmony_ci        '<(NDK_SYS_ROOT)/startup/init/libbegetutil.z.so'
7351cb0ef41Sopenharmony_ci      ],
7361cb0ef41Sopenharmony_ci      'conditions': [
7371cb0ef41Sopenharmony_ci        [ 'openssl_default_cipher_list!=""', {
7381cb0ef41Sopenharmony_ci          'defines': [
7391cb0ef41Sopenharmony_ci            'NODE_OPENSSL_DEFAULT_CIPHER_LIST="<(openssl_default_cipher_list)"'
7401cb0ef41Sopenharmony_ci           ]
7411cb0ef41Sopenharmony_ci        }],
7421cb0ef41Sopenharmony_ci        [ 'error_on_warn=="true"', {
7431cb0ef41Sopenharmony_ci          'cflags': ['-Werror'],
7441cb0ef41Sopenharmony_ci          'xcode_settings': {
7451cb0ef41Sopenharmony_ci            'WARNING_CFLAGS': [ '-Werror' ],
7461cb0ef41Sopenharmony_ci          },
7471cb0ef41Sopenharmony_ci        }],
7481cb0ef41Sopenharmony_ci        [ 'node_builtin_modules_path!=""', {
7491cb0ef41Sopenharmony_ci          'defines': [ 'NODE_BUILTIN_MODULES_PATH="<(node_builtin_modules_path)"' ]
7501cb0ef41Sopenharmony_ci        }],
7511cb0ef41Sopenharmony_ci        [ 'node_shared=="true"', {
7521cb0ef41Sopenharmony_ci          'sources': [
7531cb0ef41Sopenharmony_ci            'src/node_snapshot_stub.cc',
7541cb0ef41Sopenharmony_ci          ]
7551cb0ef41Sopenharmony_ci        }],
7561cb0ef41Sopenharmony_ci        [ 'node_shared=="true" and node_module_version!="" and OS!="win"', {
7571cb0ef41Sopenharmony_ci          'product_extension': '<(shlib_suffix)',
7581cb0ef41Sopenharmony_ci          'xcode_settings': {
7591cb0ef41Sopenharmony_ci            'LD_DYLIB_INSTALL_NAME':
7601cb0ef41Sopenharmony_ci              '@rpath/lib<(node_core_target_name).<(shlib_suffix)'
7611cb0ef41Sopenharmony_ci          },
7621cb0ef41Sopenharmony_ci        }],
7631cb0ef41Sopenharmony_ci        [ 'node_use_node_code_cache=="true"', {
7641cb0ef41Sopenharmony_ci          'defines': [
7651cb0ef41Sopenharmony_ci            'NODE_USE_NODE_CODE_CACHE=1',
7661cb0ef41Sopenharmony_ci          ],
7671cb0ef41Sopenharmony_ci        }],
7681cb0ef41Sopenharmony_ci        ['node_shared=="true" and OS in "aix os400"', {
7691cb0ef41Sopenharmony_ci          'product_name': 'node_base',
7701cb0ef41Sopenharmony_ci        }],
7711cb0ef41Sopenharmony_ci        [ 'v8_enable_inspector==1', {
7721cb0ef41Sopenharmony_ci          'includes' : [ 'src/inspector/node_inspector.gypi' ],
7731cb0ef41Sopenharmony_ci        }, {
7741cb0ef41Sopenharmony_ci          'defines': [ 'HAVE_INSPECTOR=0' ]
7751cb0ef41Sopenharmony_ci        }],
7761cb0ef41Sopenharmony_ci        [ 'OS=="win"', {
7771cb0ef41Sopenharmony_ci          'conditions': [
7781cb0ef41Sopenharmony_ci            [ 'node_intermediate_lib_type!="static_library"', {
7791cb0ef41Sopenharmony_ci              'sources': [
7801cb0ef41Sopenharmony_ci                'src/res/node.rc',
7811cb0ef41Sopenharmony_ci              ],
7821cb0ef41Sopenharmony_ci            }],
7831cb0ef41Sopenharmony_ci          ],
7841cb0ef41Sopenharmony_ci          'libraries': [
7851cb0ef41Sopenharmony_ci            'Dbghelp',
7861cb0ef41Sopenharmony_ci            'Psapi',
7871cb0ef41Sopenharmony_ci            'Winmm',
7881cb0ef41Sopenharmony_ci            'Ws2_32',
7891cb0ef41Sopenharmony_ci          ],
7901cb0ef41Sopenharmony_ci        }],
7911cb0ef41Sopenharmony_ci        [ 'node_use_etw=="true"', {
7921cb0ef41Sopenharmony_ci          'defines': [ 'HAVE_ETW=1' ],
7931cb0ef41Sopenharmony_ci          'dependencies': [ 'node_etw' ],
7941cb0ef41Sopenharmony_ci          'include_dirs': [
7951cb0ef41Sopenharmony_ci            'src',
7961cb0ef41Sopenharmony_ci            'tools/msvs/genfiles',
7971cb0ef41Sopenharmony_ci            '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
7981cb0ef41Sopenharmony_ci          ],
7991cb0ef41Sopenharmony_ci          'sources': [
8001cb0ef41Sopenharmony_ci            'src/node_win32_etw_provider.h',
8011cb0ef41Sopenharmony_ci            'src/node_win32_etw_provider-inl.h',
8021cb0ef41Sopenharmony_ci            'src/node_win32_etw_provider.cc',
8031cb0ef41Sopenharmony_ci            'src/node_dtrace.h',
8041cb0ef41Sopenharmony_ci            'src/node_dtrace.cc',
8051cb0ef41Sopenharmony_ci            'tools/msvs/genfiles/node_etw_provider.h',
8061cb0ef41Sopenharmony_ci          ],
8071cb0ef41Sopenharmony_ci          'conditions': [
8081cb0ef41Sopenharmony_ci            ['node_intermediate_lib_type != "static_library"', {
8091cb0ef41Sopenharmony_ci              'sources': [
8101cb0ef41Sopenharmony_ci                'tools/msvs/genfiles/node_etw_provider.rc',
8111cb0ef41Sopenharmony_ci              ],
8121cb0ef41Sopenharmony_ci            }],
8131cb0ef41Sopenharmony_ci          ],
8141cb0ef41Sopenharmony_ci        }],
8151cb0ef41Sopenharmony_ci        [ 'node_use_dtrace=="true"', {
8161cb0ef41Sopenharmony_ci          'defines': [ 'HAVE_DTRACE=1' ],
8171cb0ef41Sopenharmony_ci          'dependencies': [
8181cb0ef41Sopenharmony_ci            'node_dtrace_header',
8191cb0ef41Sopenharmony_ci            'specialize_node_d',
8201cb0ef41Sopenharmony_ci          ],
8211cb0ef41Sopenharmony_ci          'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
8221cb0ef41Sopenharmony_ci          #
8231cb0ef41Sopenharmony_ci          # DTrace is supported on linux, solaris, mac, and bsd.  There are
8241cb0ef41Sopenharmony_ci          # three object files associated with DTrace support, but they're
8251cb0ef41Sopenharmony_ci          # not all used all the time:
8261cb0ef41Sopenharmony_ci          #
8271cb0ef41Sopenharmony_ci          #   node_dtrace.o           all configurations
8281cb0ef41Sopenharmony_ci          #   node_dtrace_ustack.o    not supported on mac and linux
8291cb0ef41Sopenharmony_ci          #   node_dtrace_provider.o  All except OS X.  "dtrace -G" is not
8301cb0ef41Sopenharmony_ci          #                           used on OS X.
8311cb0ef41Sopenharmony_ci          #
8321cb0ef41Sopenharmony_ci          # Note that node_dtrace_provider.cc and node_dtrace_ustack.cc do not
8331cb0ef41Sopenharmony_ci          # actually exist.  They're listed here to trick GYP into linking the
8341cb0ef41Sopenharmony_ci          # corresponding object files into the final "node" executable.  These
8351cb0ef41Sopenharmony_ci          # object files are generated by "dtrace -G" using custom actions
8361cb0ef41Sopenharmony_ci          # below, and the GYP-generated Makefiles will properly build them when
8371cb0ef41Sopenharmony_ci          # needed.
8381cb0ef41Sopenharmony_ci          #
8391cb0ef41Sopenharmony_ci          'sources': [
8401cb0ef41Sopenharmony_ci            'src/node_dtrace.h',
8411cb0ef41Sopenharmony_ci            'src/node_dtrace.cc',
8421cb0ef41Sopenharmony_ci          ],
8431cb0ef41Sopenharmony_ci          'conditions': [
8441cb0ef41Sopenharmony_ci            [ 'OS=="linux"', {
8451cb0ef41Sopenharmony_ci              'sources': [
8461cb0ef41Sopenharmony_ci                '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o'
8471cb0ef41Sopenharmony_ci              ],
8481cb0ef41Sopenharmony_ci            }],
8491cb0ef41Sopenharmony_ci            [ 'OS!="mac" and OS!="linux"', {
8501cb0ef41Sopenharmony_ci              'sources': [
8511cb0ef41Sopenharmony_ci                'src/node_dtrace_ustack.cc',
8521cb0ef41Sopenharmony_ci                'src/node_dtrace_provider.cc',
8531cb0ef41Sopenharmony_ci              ]
8541cb0ef41Sopenharmony_ci            }
8551cb0ef41Sopenharmony_ci          ] ]
8561cb0ef41Sopenharmony_ci        } ],
8571cb0ef41Sopenharmony_ci        [ 'node_use_openssl=="true"', {
8581cb0ef41Sopenharmony_ci          'sources': [
8591cb0ef41Sopenharmony_ci            'src/crypto/crypto_aes.cc',
8601cb0ef41Sopenharmony_ci            'src/crypto/crypto_bio.cc',
8611cb0ef41Sopenharmony_ci            'src/crypto/crypto_common.cc',
8621cb0ef41Sopenharmony_ci            'src/crypto/crypto_dsa.cc',
8631cb0ef41Sopenharmony_ci            'src/crypto/crypto_hkdf.cc',
8641cb0ef41Sopenharmony_ci            'src/crypto/crypto_pbkdf2.cc',
8651cb0ef41Sopenharmony_ci            'src/crypto/crypto_sig.cc',
8661cb0ef41Sopenharmony_ci            'src/crypto/crypto_timing.cc',
8671cb0ef41Sopenharmony_ci            'src/crypto/crypto_cipher.cc',
8681cb0ef41Sopenharmony_ci            'src/crypto/crypto_context.cc',
8691cb0ef41Sopenharmony_ci            'src/crypto/crypto_ec.cc',
8701cb0ef41Sopenharmony_ci            'src/crypto/crypto_hmac.cc',
8711cb0ef41Sopenharmony_ci            'src/crypto/crypto_random.cc',
8721cb0ef41Sopenharmony_ci            'src/crypto/crypto_rsa.cc',
8731cb0ef41Sopenharmony_ci            'src/crypto/crypto_spkac.cc',
8741cb0ef41Sopenharmony_ci            'src/crypto/crypto_util.cc',
8751cb0ef41Sopenharmony_ci            'src/crypto/crypto_clienthello.cc',
8761cb0ef41Sopenharmony_ci            'src/crypto/crypto_dh.cc',
8771cb0ef41Sopenharmony_ci            'src/crypto/crypto_hash.cc',
8781cb0ef41Sopenharmony_ci            'src/crypto/crypto_keys.cc',
8791cb0ef41Sopenharmony_ci            'src/crypto/crypto_keygen.cc',
8801cb0ef41Sopenharmony_ci            'src/crypto/crypto_scrypt.cc',
8811cb0ef41Sopenharmony_ci            'src/crypto/crypto_tls.cc',
8821cb0ef41Sopenharmony_ci            'src/crypto/crypto_aes.cc',
8831cb0ef41Sopenharmony_ci            'src/crypto/crypto_x509.cc',
8841cb0ef41Sopenharmony_ci            'src/crypto/crypto_bio.h',
8851cb0ef41Sopenharmony_ci            'src/crypto/crypto_clienthello-inl.h',
8861cb0ef41Sopenharmony_ci            'src/crypto/crypto_dh.h',
8871cb0ef41Sopenharmony_ci            'src/crypto/crypto_hmac.h',
8881cb0ef41Sopenharmony_ci            'src/crypto/crypto_rsa.h',
8891cb0ef41Sopenharmony_ci            'src/crypto/crypto_spkac.h',
8901cb0ef41Sopenharmony_ci            'src/crypto/crypto_util.h',
8911cb0ef41Sopenharmony_ci            'src/crypto/crypto_cipher.h',
8921cb0ef41Sopenharmony_ci            'src/crypto/crypto_common.h',
8931cb0ef41Sopenharmony_ci            'src/crypto/crypto_dsa.h',
8941cb0ef41Sopenharmony_ci            'src/crypto/crypto_hash.h',
8951cb0ef41Sopenharmony_ci            'src/crypto/crypto_keys.h',
8961cb0ef41Sopenharmony_ci            'src/crypto/crypto_keygen.h',
8971cb0ef41Sopenharmony_ci            'src/crypto/crypto_scrypt.h',
8981cb0ef41Sopenharmony_ci            'src/crypto/crypto_tls.h',
8991cb0ef41Sopenharmony_ci            'src/crypto/crypto_clienthello.h',
9001cb0ef41Sopenharmony_ci            'src/crypto/crypto_context.h',
9011cb0ef41Sopenharmony_ci            'src/crypto/crypto_ec.h',
9021cb0ef41Sopenharmony_ci            'src/crypto/crypto_hkdf.h',
9031cb0ef41Sopenharmony_ci            'src/crypto/crypto_pbkdf2.h',
9041cb0ef41Sopenharmony_ci            'src/crypto/crypto_sig.h',
9051cb0ef41Sopenharmony_ci            'src/crypto/crypto_random.h',
9061cb0ef41Sopenharmony_ci            'src/crypto/crypto_timing.h',
9071cb0ef41Sopenharmony_ci            'src/crypto/crypto_x509.h',
9081cb0ef41Sopenharmony_ci            'src/node_crypto.cc',
9091cb0ef41Sopenharmony_ci            'src/node_crypto.h'
9101cb0ef41Sopenharmony_ci          ],
9111cb0ef41Sopenharmony_ci        }],
9121cb0ef41Sopenharmony_ci        [ 'OS in "linux freebsd mac solaris" and '
9131cb0ef41Sopenharmony_ci          'target_arch=="x64" and '
9141cb0ef41Sopenharmony_ci          'node_target_type=="executable"', {
9151cb0ef41Sopenharmony_ci          'defines': [ 'NODE_ENABLE_LARGE_CODE_PAGES=1' ],
9161cb0ef41Sopenharmony_ci        }],
9171cb0ef41Sopenharmony_ci        [ 'use_openssl_def==1', {
9181cb0ef41Sopenharmony_ci          # TODO(bnoordhuis) Make all platforms export the same list of symbols.
9191cb0ef41Sopenharmony_ci          # Teach mkssldef.py to generate linker maps that UNIX linkers understand.
9201cb0ef41Sopenharmony_ci          'variables': {
9211cb0ef41Sopenharmony_ci            'mkssldef_flags': [
9221cb0ef41Sopenharmony_ci              # Categories to export.
9231cb0ef41Sopenharmony_ci              '-CAES,BF,BIO,DES,DH,DSA,EC,ECDH,ECDSA,ENGINE,EVP,HMAC,MD4,MD5,'
9241cb0ef41Sopenharmony_ci              'PSK,RC2,RC4,RSA,SHA,SHA0,SHA1,SHA256,SHA512,SOCK,STDIO,TLSEXT,'
9251cb0ef41Sopenharmony_ci              'UI,FP_API,TLS1_METHOD,TLS1_1_METHOD,TLS1_2_METHOD,SCRYPT,OCSP,'
9261cb0ef41Sopenharmony_ci              'NEXTPROTONEG,RMD160,CAST,DEPRECATEDIN_1_1_0,DEPRECATEDIN_1_2_0,'
9271cb0ef41Sopenharmony_ci              'DEPRECATEDIN_3_0',
9281cb0ef41Sopenharmony_ci              # Defines.
9291cb0ef41Sopenharmony_ci              '-DWIN32',
9301cb0ef41Sopenharmony_ci              # Symbols to filter from the export list.
9311cb0ef41Sopenharmony_ci              '-X^DSO',
9321cb0ef41Sopenharmony_ci              '-X^_',
9331cb0ef41Sopenharmony_ci              '-X^private_',
9341cb0ef41Sopenharmony_ci              # Base generated DEF on zlib.def
9351cb0ef41Sopenharmony_ci              '-Bdeps/zlib/win32/zlib.def'
9361cb0ef41Sopenharmony_ci            ],
9371cb0ef41Sopenharmony_ci          },
9381cb0ef41Sopenharmony_ci          'conditions': [
9391cb0ef41Sopenharmony_ci            ['openssl_is_fips!=""', {
9401cb0ef41Sopenharmony_ci              'variables': { 'mkssldef_flags': ['-DOPENSSL_FIPS'] },
9411cb0ef41Sopenharmony_ci            }],
9421cb0ef41Sopenharmony_ci          ],
9431cb0ef41Sopenharmony_ci          'actions': [
9441cb0ef41Sopenharmony_ci            {
9451cb0ef41Sopenharmony_ci              'action_name': 'mkssldef',
9461cb0ef41Sopenharmony_ci              'inputs': [
9471cb0ef41Sopenharmony_ci                'deps/openssl/openssl/util/libcrypto.num',
9481cb0ef41Sopenharmony_ci                'deps/openssl/openssl/util/libssl.num',
9491cb0ef41Sopenharmony_ci              ],
9501cb0ef41Sopenharmony_ci              'outputs': ['<(SHARED_INTERMEDIATE_DIR)/openssl.def'],
9511cb0ef41Sopenharmony_ci              'process_outputs_as_sources': 1,
9521cb0ef41Sopenharmony_ci              'action': [
9531cb0ef41Sopenharmony_ci                '<(python)',
9541cb0ef41Sopenharmony_ci                'tools/mkssldef.py',
9551cb0ef41Sopenharmony_ci                '<@(mkssldef_flags)',
9561cb0ef41Sopenharmony_ci                '-o',
9571cb0ef41Sopenharmony_ci                '<@(_outputs)',
9581cb0ef41Sopenharmony_ci                '<@(_inputs)',
9591cb0ef41Sopenharmony_ci              ],
9601cb0ef41Sopenharmony_ci            },
9611cb0ef41Sopenharmony_ci          ],
9621cb0ef41Sopenharmony_ci        }],
9631cb0ef41Sopenharmony_ci        [ 'debug_nghttp2==1', {
9641cb0ef41Sopenharmony_ci          'defines': [ 'NODE_DEBUG_NGHTTP2=1' ]
9651cb0ef41Sopenharmony_ci        }],
9661cb0ef41Sopenharmony_ci      ],
9671cb0ef41Sopenharmony_ci      'actions': [
9681cb0ef41Sopenharmony_ci        {
9691cb0ef41Sopenharmony_ci          'action_name': 'node_js2c',
9701cb0ef41Sopenharmony_ci          'process_outputs_as_sources': 1,
9711cb0ef41Sopenharmony_ci          'inputs': [
9721cb0ef41Sopenharmony_ci            # Put the code first so it's a dependency and can be used for invocation.
9731cb0ef41Sopenharmony_ci            'tools/js2c.py',
9741cb0ef41Sopenharmony_ci            '<@(library_files)',
9751cb0ef41Sopenharmony_ci            '<@(deps_files)',
9761cb0ef41Sopenharmony_ci            'config.gypi'
9771cb0ef41Sopenharmony_ci          ],
9781cb0ef41Sopenharmony_ci          'outputs': [
9791cb0ef41Sopenharmony_ci            '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc',
9801cb0ef41Sopenharmony_ci          ],
9811cb0ef41Sopenharmony_ci          'action': [
9821cb0ef41Sopenharmony_ci            '<(python)',
9831cb0ef41Sopenharmony_ci            'tools/js2c.py',
9841cb0ef41Sopenharmony_ci            '--directory',
9851cb0ef41Sopenharmony_ci            'lib',
9861cb0ef41Sopenharmony_ci            '--target',
9871cb0ef41Sopenharmony_ci            '<@(_outputs)',
9881cb0ef41Sopenharmony_ci            'config.gypi',
9891cb0ef41Sopenharmony_ci            '<@(deps_files)',
9901cb0ef41Sopenharmony_ci            '<@(linked_module_files)',
9911cb0ef41Sopenharmony_ci          ],
9921cb0ef41Sopenharmony_ci        },
9931cb0ef41Sopenharmony_ci      ],
9941cb0ef41Sopenharmony_ci    }, # node_lib_target_name
9951cb0ef41Sopenharmony_ci    {
9961cb0ef41Sopenharmony_ci       # generate ETW header and resource files
9971cb0ef41Sopenharmony_ci      'target_name': 'node_etw',
9981cb0ef41Sopenharmony_ci      'type': 'none',
9991cb0ef41Sopenharmony_ci      'conditions': [
10001cb0ef41Sopenharmony_ci        [ 'node_use_etw=="true"', {
10011cb0ef41Sopenharmony_ci          'actions': [
10021cb0ef41Sopenharmony_ci            {
10031cb0ef41Sopenharmony_ci              'action_name': 'node_etw',
10041cb0ef41Sopenharmony_ci              'inputs': [ 'src/res/node_etw_provider.man' ],
10051cb0ef41Sopenharmony_ci              'outputs': [
10061cb0ef41Sopenharmony_ci                'tools/msvs/genfiles/node_etw_provider.rc',
10071cb0ef41Sopenharmony_ci                'tools/msvs/genfiles/node_etw_provider.h',
10081cb0ef41Sopenharmony_ci                'tools/msvs/genfiles/node_etw_providerTEMP.BIN',
10091cb0ef41Sopenharmony_ci              ],
10101cb0ef41Sopenharmony_ci              'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ]
10111cb0ef41Sopenharmony_ci            }
10121cb0ef41Sopenharmony_ci          ]
10131cb0ef41Sopenharmony_ci        } ]
10141cb0ef41Sopenharmony_ci      ]
10151cb0ef41Sopenharmony_ci    }, # node_etw
10161cb0ef41Sopenharmony_ci    {
10171cb0ef41Sopenharmony_ci      'target_name': 'node_dtrace_header',
10181cb0ef41Sopenharmony_ci      'type': 'none',
10191cb0ef41Sopenharmony_ci      'conditions': [
10201cb0ef41Sopenharmony_ci        [ 'node_use_dtrace=="true" and OS!="linux"', {
10211cb0ef41Sopenharmony_ci          'actions': [
10221cb0ef41Sopenharmony_ci            {
10231cb0ef41Sopenharmony_ci              'action_name': 'node_dtrace_header',
10241cb0ef41Sopenharmony_ci              'inputs': [ 'src/node_provider.d' ],
10251cb0ef41Sopenharmony_ci              'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
10261cb0ef41Sopenharmony_ci              'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
10271cb0ef41Sopenharmony_ci                '-o', '<@(_outputs)' ]
10281cb0ef41Sopenharmony_ci            }
10291cb0ef41Sopenharmony_ci          ]
10301cb0ef41Sopenharmony_ci        } ],
10311cb0ef41Sopenharmony_ci        [ 'node_use_dtrace=="true" and OS=="linux"', {
10321cb0ef41Sopenharmony_ci          'actions': [
10331cb0ef41Sopenharmony_ci            {
10341cb0ef41Sopenharmony_ci              'action_name': 'node_dtrace_header',
10351cb0ef41Sopenharmony_ci              'inputs': [ 'src/node_provider.d' ],
10361cb0ef41Sopenharmony_ci              'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
10371cb0ef41Sopenharmony_ci              'action': [ 'dtrace', '-h', '-s', '<@(_inputs)',
10381cb0ef41Sopenharmony_ci                '-o', '<@(_outputs)' ]
10391cb0ef41Sopenharmony_ci            }
10401cb0ef41Sopenharmony_ci          ]
10411cb0ef41Sopenharmony_ci        } ],
10421cb0ef41Sopenharmony_ci      ]
10431cb0ef41Sopenharmony_ci    }, # node_dtrace_header
10441cb0ef41Sopenharmony_ci    {
10451cb0ef41Sopenharmony_ci      'target_name': 'node_dtrace_provider',
10461cb0ef41Sopenharmony_ci      'type': 'none',
10471cb0ef41Sopenharmony_ci      'conditions': [
10481cb0ef41Sopenharmony_ci        [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
10491cb0ef41Sopenharmony_ci          'actions': [
10501cb0ef41Sopenharmony_ci            {
10511cb0ef41Sopenharmony_ci              'action_name': 'node_dtrace_provider_o',
10521cb0ef41Sopenharmony_ci              'inputs': [
10531cb0ef41Sopenharmony_ci                '<(obj_dir)/<(node_lib_target_name)/src/node_dtrace.o',
10541cb0ef41Sopenharmony_ci              ],
10551cb0ef41Sopenharmony_ci              'outputs': [
10561cb0ef41Sopenharmony_ci                '<(obj_dir)/<(node_lib_target_name)/src/node_dtrace_provider.o'
10571cb0ef41Sopenharmony_ci              ],
10581cb0ef41Sopenharmony_ci              'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d',
10591cb0ef41Sopenharmony_ci                '<@(_inputs)', '-o', '<@(_outputs)' ]
10601cb0ef41Sopenharmony_ci            }
10611cb0ef41Sopenharmony_ci          ]
10621cb0ef41Sopenharmony_ci        }],
10631cb0ef41Sopenharmony_ci        [ 'node_use_dtrace=="true" and OS=="linux"', {
10641cb0ef41Sopenharmony_ci          'actions': [
10651cb0ef41Sopenharmony_ci            {
10661cb0ef41Sopenharmony_ci              'action_name': 'node_dtrace_provider_o',
10671cb0ef41Sopenharmony_ci              'inputs': [ 'src/node_provider.d' ],
10681cb0ef41Sopenharmony_ci              'outputs': [
10691cb0ef41Sopenharmony_ci                '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o'
10701cb0ef41Sopenharmony_ci              ],
10711cb0ef41Sopenharmony_ci              'action': [
10721cb0ef41Sopenharmony_ci                'dtrace', '-C', '-G', '-s', '<@(_inputs)', '-o', '<@(_outputs)'
10731cb0ef41Sopenharmony_ci              ],
10741cb0ef41Sopenharmony_ci            }
10751cb0ef41Sopenharmony_ci          ],
10761cb0ef41Sopenharmony_ci        }],
10771cb0ef41Sopenharmony_ci      ]
10781cb0ef41Sopenharmony_ci    }, # node_dtrace_provider
10791cb0ef41Sopenharmony_ci    {
10801cb0ef41Sopenharmony_ci      'target_name': 'node_dtrace_ustack',
10811cb0ef41Sopenharmony_ci      'type': 'none',
10821cb0ef41Sopenharmony_ci      'conditions': [
10831cb0ef41Sopenharmony_ci        [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
10841cb0ef41Sopenharmony_ci          'actions': [
10851cb0ef41Sopenharmony_ci            {
10861cb0ef41Sopenharmony_ci              'action_name': 'node_dtrace_ustack_constants',
10871cb0ef41Sopenharmony_ci              'inputs': [
10881cb0ef41Sopenharmony_ci                '<(obj_dir)/tools/v8_gypfiles/<(STATIC_LIB_PREFIX)v8_base_without_compiler<(STATIC_LIB_SUFFIX)'
10891cb0ef41Sopenharmony_ci              ],
10901cb0ef41Sopenharmony_ci              'outputs': [
10911cb0ef41Sopenharmony_ci                '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
10921cb0ef41Sopenharmony_ci              ],
10931cb0ef41Sopenharmony_ci              'action': [
10941cb0ef41Sopenharmony_ci                'tools/genv8constants.py',
10951cb0ef41Sopenharmony_ci                '<@(_outputs)',
10961cb0ef41Sopenharmony_ci                '<@(_inputs)'
10971cb0ef41Sopenharmony_ci              ]
10981cb0ef41Sopenharmony_ci            },
10991cb0ef41Sopenharmony_ci            {
11001cb0ef41Sopenharmony_ci              'action_name': 'node_dtrace_ustack',
11011cb0ef41Sopenharmony_ci              'inputs': [
11021cb0ef41Sopenharmony_ci                'src/v8ustack.d',
11031cb0ef41Sopenharmony_ci                '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
11041cb0ef41Sopenharmony_ci              ],
11051cb0ef41Sopenharmony_ci              'outputs': [
11061cb0ef41Sopenharmony_ci                '<(obj_dir)/<(node_lib_target_name)/src/node_dtrace_ustack.o'
11071cb0ef41Sopenharmony_ci              ],
11081cb0ef41Sopenharmony_ci              'conditions': [
11091cb0ef41Sopenharmony_ci                [ 'target_arch=="ia32" or target_arch=="arm"', {
11101cb0ef41Sopenharmony_ci                  'action': [
11111cb0ef41Sopenharmony_ci                    'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
11121cb0ef41Sopenharmony_ci                    '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
11131cb0ef41Sopenharmony_ci                  ]
11141cb0ef41Sopenharmony_ci                } ],
11151cb0ef41Sopenharmony_ci                [ 'target_arch=="x64"', {
11161cb0ef41Sopenharmony_ci                  'action': [
11171cb0ef41Sopenharmony_ci                    'dtrace', '-64', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
11181cb0ef41Sopenharmony_ci                    '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
11191cb0ef41Sopenharmony_ci                  ]
11201cb0ef41Sopenharmony_ci                } ],
11211cb0ef41Sopenharmony_ci              ]
11221cb0ef41Sopenharmony_ci            },
11231cb0ef41Sopenharmony_ci          ]
11241cb0ef41Sopenharmony_ci        } ],
11251cb0ef41Sopenharmony_ci      ]
11261cb0ef41Sopenharmony_ci    }, # node_dtrace_ustack
11271cb0ef41Sopenharmony_ci    {
11281cb0ef41Sopenharmony_ci      'target_name': 'specialize_node_d',
11291cb0ef41Sopenharmony_ci      'type': 'none',
11301cb0ef41Sopenharmony_ci      'conditions': [
11311cb0ef41Sopenharmony_ci        [ 'node_use_dtrace=="true"', {
11321cb0ef41Sopenharmony_ci          'actions': [
11331cb0ef41Sopenharmony_ci            {
11341cb0ef41Sopenharmony_ci              'action_name': 'specialize_node_d',
11351cb0ef41Sopenharmony_ci              'inputs': [
11361cb0ef41Sopenharmony_ci                'src/node.d'
11371cb0ef41Sopenharmony_ci              ],
11381cb0ef41Sopenharmony_ci              'outputs': [
11391cb0ef41Sopenharmony_ci                '<(PRODUCT_DIR)/node.d',
11401cb0ef41Sopenharmony_ci              ],
11411cb0ef41Sopenharmony_ci              'action': [
11421cb0ef41Sopenharmony_ci                'tools/specialize_node_d.py',
11431cb0ef41Sopenharmony_ci                '<@(_outputs)',
11441cb0ef41Sopenharmony_ci                '<@(_inputs)',
11451cb0ef41Sopenharmony_ci                '<@(OS)',
11461cb0ef41Sopenharmony_ci                '<@(target_arch)',
11471cb0ef41Sopenharmony_ci              ],
11481cb0ef41Sopenharmony_ci            },
11491cb0ef41Sopenharmony_ci          ],
11501cb0ef41Sopenharmony_ci        } ],
11511cb0ef41Sopenharmony_ci      ]
11521cb0ef41Sopenharmony_ci    }, # specialize_node_d
11531cb0ef41Sopenharmony_ci    { # fuzz_url
11541cb0ef41Sopenharmony_ci      'target_name': 'fuzz_url',
11551cb0ef41Sopenharmony_ci      'type': 'executable',
11561cb0ef41Sopenharmony_ci      'dependencies': [
11571cb0ef41Sopenharmony_ci        '<(node_lib_target_name)',
11581cb0ef41Sopenharmony_ci      ],
11591cb0ef41Sopenharmony_ci      'includes': [
11601cb0ef41Sopenharmony_ci        'node.gypi'
11611cb0ef41Sopenharmony_ci      ],
11621cb0ef41Sopenharmony_ci      'include_dirs': [
11631cb0ef41Sopenharmony_ci        'src',
11641cb0ef41Sopenharmony_ci      ],
11651cb0ef41Sopenharmony_ci      'defines': [
11661cb0ef41Sopenharmony_ci        'NODE_ARCH="<(target_arch)"',
11671cb0ef41Sopenharmony_ci        'NODE_PLATFORM="<(OS)"',
11681cb0ef41Sopenharmony_ci        'NODE_WANT_INTERNALS=1',
11691cb0ef41Sopenharmony_ci      ],
11701cb0ef41Sopenharmony_ci      'sources': [
11711cb0ef41Sopenharmony_ci        'src/node_snapshot_stub.cc',
11721cb0ef41Sopenharmony_ci        'test/fuzzers/fuzz_url.cc',
11731cb0ef41Sopenharmony_ci      ],
11741cb0ef41Sopenharmony_ci      'conditions': [
11751cb0ef41Sopenharmony_ci        ['OS=="linux"', {
11761cb0ef41Sopenharmony_ci          'ldflags': [ '-fsanitize=fuzzer' ]
11771cb0ef41Sopenharmony_ci        }],
11781cb0ef41Sopenharmony_ci        # Ensure that ossfuzz flag has been set and that we are on Linux
11791cb0ef41Sopenharmony_ci        [ 'OS!="linux" or ossfuzz!="true"', {
11801cb0ef41Sopenharmony_ci          'type': 'none',
11811cb0ef41Sopenharmony_ci        }],
11821cb0ef41Sopenharmony_ci      ],
11831cb0ef41Sopenharmony_ci    }, # fuzz_url
11841cb0ef41Sopenharmony_ci    { # fuzz_env
11851cb0ef41Sopenharmony_ci      'target_name': 'fuzz_env',
11861cb0ef41Sopenharmony_ci      'type': 'executable',
11871cb0ef41Sopenharmony_ci      'dependencies': [
11881cb0ef41Sopenharmony_ci        '<(node_lib_target_name)',
11891cb0ef41Sopenharmony_ci        'deps/histogram/histogram.gyp:histogram',
11901cb0ef41Sopenharmony_ci        'deps/uvwasi/uvwasi.gyp:uvwasi',
11911cb0ef41Sopenharmony_ci        'node_dtrace_header',
11921cb0ef41Sopenharmony_ci        'node_dtrace_ustack',
11931cb0ef41Sopenharmony_ci        'node_dtrace_provider',
11941cb0ef41Sopenharmony_ci      ],
11951cb0ef41Sopenharmony_ci      'includes': [
11961cb0ef41Sopenharmony_ci        'node.gypi'
11971cb0ef41Sopenharmony_ci      ],
11981cb0ef41Sopenharmony_ci      'include_dirs': [
11991cb0ef41Sopenharmony_ci        'src',
12001cb0ef41Sopenharmony_ci        'tools/msvs/genfiles',
12011cb0ef41Sopenharmony_ci        'deps/v8/include',
12021cb0ef41Sopenharmony_ci        'deps/cares/include',
12031cb0ef41Sopenharmony_ci        'deps/uv/include',
12041cb0ef41Sopenharmony_ci        'deps/uvwasi/include',
12051cb0ef41Sopenharmony_ci        'test/cctest',
12061cb0ef41Sopenharmony_ci      ],
12071cb0ef41Sopenharmony_ci      'defines': [
12081cb0ef41Sopenharmony_ci        'NODE_ARCH="<(target_arch)"',
12091cb0ef41Sopenharmony_ci        'NODE_PLATFORM="<(OS)"',
12101cb0ef41Sopenharmony_ci        'NODE_WANT_INTERNALS=1',
12111cb0ef41Sopenharmony_ci      ],
12121cb0ef41Sopenharmony_ci      'sources': [
12131cb0ef41Sopenharmony_ci        'src/node_snapshot_stub.cc',
12141cb0ef41Sopenharmony_ci        'test/fuzzers/fuzz_env.cc',
12151cb0ef41Sopenharmony_ci      ],
12161cb0ef41Sopenharmony_ci      'conditions': [
12171cb0ef41Sopenharmony_ci        ['OS=="linux"', {
12181cb0ef41Sopenharmony_ci          'ldflags': [ '-fsanitize=fuzzer' ]
12191cb0ef41Sopenharmony_ci        }],
12201cb0ef41Sopenharmony_ci        # Ensure that ossfuzz flag has been set and that we are on Linux
12211cb0ef41Sopenharmony_ci        [ 'OS!="linux" or ossfuzz!="true"', {
12221cb0ef41Sopenharmony_ci          'type': 'none',
12231cb0ef41Sopenharmony_ci        }],
12241cb0ef41Sopenharmony_ci        # Avoid excessive LTO
12251cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
12261cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
12271cb0ef41Sopenharmony_ci        }],
12281cb0ef41Sopenharmony_ci      ],
12291cb0ef41Sopenharmony_ci    }, # fuzz_env
12301cb0ef41Sopenharmony_ci    #{
12311cb0ef41Sopenharmony_ci    #  'target_name': 'cctest',
12321cb0ef41Sopenharmony_ci    #  'type': 'executable',
12331cb0ef41Sopenharmony_ci
12341cb0ef41Sopenharmony_ci    #  'dependencies': [
12351cb0ef41Sopenharmony_ci    #    '<(node_lib_target_name)',
12361cb0ef41Sopenharmony_ci    #    'deps/base64/base64.gyp:base64',
12371cb0ef41Sopenharmony_ci    #    'deps/googletest/googletest.gyp:gtest',
12381cb0ef41Sopenharmony_ci    #    'deps/googletest/googletest.gyp:gtest_main',
12391cb0ef41Sopenharmony_ci    #    'deps/histogram/histogram.gyp:histogram',
12401cb0ef41Sopenharmony_ci    #    'deps/uvwasi/uvwasi.gyp:uvwasi',
12411cb0ef41Sopenharmony_ci    #    'node_dtrace_header',
12421cb0ef41Sopenharmony_ci    #    'node_dtrace_ustack',
12431cb0ef41Sopenharmony_ci    #    'node_dtrace_provider',
12441cb0ef41Sopenharmony_ci    #    'deps/simdutf/simdutf.gyp:simdutf',
12451cb0ef41Sopenharmony_ci    #    'deps/ada/ada.gyp:ada',
12461cb0ef41Sopenharmony_ci    #  ],
12471cb0ef41Sopenharmony_ci
12481cb0ef41Sopenharmony_ci    #  'includes': [
12491cb0ef41Sopenharmony_ci    #    'node.gypi'
12501cb0ef41Sopenharmony_ci    #  ],
12511cb0ef41Sopenharmony_ci
12521cb0ef41Sopenharmony_ci    #  'include_dirs': [
12531cb0ef41Sopenharmony_ci    #    'src',
12541cb0ef41Sopenharmony_ci    #    'tools/msvs/genfiles',
12551cb0ef41Sopenharmony_ci    #    'deps/v8/include',
12561cb0ef41Sopenharmony_ci    #    'deps/cares/include',
12571cb0ef41Sopenharmony_ci    #    'deps/uv/include',
12581cb0ef41Sopenharmony_ci    #    'deps/uvwasi/include',
12591cb0ef41Sopenharmony_ci    #    'test/cctest',
12601cb0ef41Sopenharmony_ci    #  ],
12611cb0ef41Sopenharmony_ci
12621cb0ef41Sopenharmony_ci    #  'defines': [
12631cb0ef41Sopenharmony_ci    #    'NODE_ARCH="<(target_arch)"',
12641cb0ef41Sopenharmony_ci    #    'NODE_PLATFORM="<(OS)"',
12651cb0ef41Sopenharmony_ci    #    'NODE_WANT_INTERNALS=1',
12661cb0ef41Sopenharmony_ci    #  ],
12671cb0ef41Sopenharmony_ci
12681cb0ef41Sopenharmony_ci    #  'sources': [
12691cb0ef41Sopenharmony_ci    #    'src/node_snapshot_stub.cc',
12701cb0ef41Sopenharmony_ci    #    'test/cctest/node_test_fixture.cc',
12711cb0ef41Sopenharmony_ci    #    'test/cctest/node_test_fixture.h',
12721cb0ef41Sopenharmony_ci    #    'test/cctest/test_aliased_buffer.cc',
12731cb0ef41Sopenharmony_ci    #    'test/cctest/test_base64.cc',
12741cb0ef41Sopenharmony_ci    #    'test/cctest/test_base_object_ptr.cc',
12751cb0ef41Sopenharmony_ci    #    'test/cctest/test_node_postmortem_metadata.cc',
12761cb0ef41Sopenharmony_ci    #    'test/cctest/test_environment.cc',
12771cb0ef41Sopenharmony_ci    #    'test/cctest/test_linked_binding.cc',
12781cb0ef41Sopenharmony_ci    #    'test/cctest/test_node_api.cc',
12791cb0ef41Sopenharmony_ci    #    'test/cctest/test_per_process.cc',
12801cb0ef41Sopenharmony_ci    #    'test/cctest/test_platform.cc',
12811cb0ef41Sopenharmony_ci    #    'test/cctest/test_report.cc',
12821cb0ef41Sopenharmony_ci    #    'test/cctest/test_json_utils.cc',
12831cb0ef41Sopenharmony_ci    #    'test/cctest/test_sockaddr.cc',
12841cb0ef41Sopenharmony_ci    #    'test/cctest/test_traced_value.cc',
12851cb0ef41Sopenharmony_ci    #    'test/cctest/test_util.cc',
12861cb0ef41Sopenharmony_ci    #  ],
12871cb0ef41Sopenharmony_ci
12881cb0ef41Sopenharmony_ci    #  'conditions': [
12891cb0ef41Sopenharmony_ci    #    [ 'node_use_openssl=="true"', {
12901cb0ef41Sopenharmony_ci    #      'defines': [
12911cb0ef41Sopenharmony_ci    #        'HAVE_OPENSSL=1',
12921cb0ef41Sopenharmony_ci    #      ],
12931cb0ef41Sopenharmony_ci    #      'sources': [
12941cb0ef41Sopenharmony_ci    #        'test/cctest/test_crypto_clienthello.cc',
12951cb0ef41Sopenharmony_ci    #        'test/cctest/test_node_crypto.cc',
12961cb0ef41Sopenharmony_ci    #        'test/cctest/test_node_crypto_env.cc',
12971cb0ef41Sopenharmony_ci    #      ]
12981cb0ef41Sopenharmony_ci    #    }],
12991cb0ef41Sopenharmony_ci    #    ['v8_enable_inspector==1', {
13001cb0ef41Sopenharmony_ci    #      'sources': [
13011cb0ef41Sopenharmony_ci    #        'test/cctest/test_inspector_socket.cc',
13021cb0ef41Sopenharmony_ci    #        'test/cctest/test_inspector_socket_server.cc'
13031cb0ef41Sopenharmony_ci    #      ],
13041cb0ef41Sopenharmony_ci    #      'defines': [
13051cb0ef41Sopenharmony_ci    #        'HAVE_INSPECTOR=1',
13061cb0ef41Sopenharmony_ci    #      ],
13071cb0ef41Sopenharmony_ci    #    }, {
13081cb0ef41Sopenharmony_ci    #       'defines': [
13091cb0ef41Sopenharmony_ci    #         'HAVE_INSPECTOR=0',
13101cb0ef41Sopenharmony_ci    #       ]
13111cb0ef41Sopenharmony_ci    #    }],
13121cb0ef41Sopenharmony_ci    #    ['OS=="solaris"', {
13131cb0ef41Sopenharmony_ci    #      'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ]
13141cb0ef41Sopenharmony_ci    #    }],
13151cb0ef41Sopenharmony_ci        # Skip cctest while building shared lib node for Windows
13161cb0ef41Sopenharmony_ci    #    [ 'OS=="win" and node_shared=="true"', {
13171cb0ef41Sopenharmony_ci    #      'type': 'none',
13181cb0ef41Sopenharmony_ci    #    }],
13191cb0ef41Sopenharmony_ci    #    [ 'node_shared=="true"', {
13201cb0ef41Sopenharmony_ci    #      #'xcode_settings': {
13211cb0ef41Sopenharmony_ci    #        'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ],
13221cb0ef41Sopenharmony_ci    #      },
13231cb0ef41Sopenharmony_ci    #    }],
13241cb0ef41Sopenharmony_ci    #    ['OS=="win"', {
13251cb0ef41Sopenharmony_ci    #      'libraries': [
13261cb0ef41Sopenharmony_ci    #        'Dbghelp.lib',
13271cb0ef41Sopenharmony_ci    #        'winmm.lib',
13281cb0ef41Sopenharmony_ci    #        'Ws2_32.lib',
13291cb0ef41Sopenharmony_ci    #      ],
13301cb0ef41Sopenharmony_ci    #    }],
13311cb0ef41Sopenharmony_ci        # Avoid excessive LTO
13321cb0ef41Sopenharmony_ci    #    ['enable_lto=="true"', {
13331cb0ef41Sopenharmony_ci    #      'ldflags': [ '-fno-lto' ],
13341cb0ef41Sopenharmony_ci    #    }],
13351cb0ef41Sopenharmony_ci    #  ],
13361cb0ef41Sopenharmony_ci    #}, # cctest
13371cb0ef41Sopenharmony_ci
13381cb0ef41Sopenharmony_ci    #{
13391cb0ef41Sopenharmony_ci    #  'target_name': 'embedtest',
13401cb0ef41Sopenharmony_ci    #  'type': 'executable',
13411cb0ef41Sopenharmony_ci
13421cb0ef41Sopenharmony_ci    #  'dependencies': [
13431cb0ef41Sopenharmony_ci    #    '<(node_lib_target_name)',
13441cb0ef41Sopenharmony_ci    #    'deps/histogram/histogram.gyp:histogram',
13451cb0ef41Sopenharmony_ci    #    'deps/uvwasi/uvwasi.gyp:uvwasi',
13461cb0ef41Sopenharmony_ci    #    'node_dtrace_header',
13471cb0ef41Sopenharmony_ci    #    'node_dtrace_ustack',
13481cb0ef41Sopenharmony_ci    #    'node_dtrace_provider',
13491cb0ef41Sopenharmony_ci    #    'deps/ada/ada.gyp:ada',
13501cb0ef41Sopenharmony_ci    #  ],
13511cb0ef41Sopenharmony_ci
13521cb0ef41Sopenharmony_ci    #  'includes': [
13531cb0ef41Sopenharmony_ci    #    'node.gypi'
13541cb0ef41Sopenharmony_ci    #  ],
13551cb0ef41Sopenharmony_ci
13561cb0ef41Sopenharmony_ci    #  'include_dirs': [
13571cb0ef41Sopenharmony_ci    #    'src',
13581cb0ef41Sopenharmony_ci    #    'tools/msvs/genfiles',
13591cb0ef41Sopenharmony_ci    #    'deps/v8/include',
13601cb0ef41Sopenharmony_ci    #    'deps/cares/include',
13611cb0ef41Sopenharmony_ci    #    'deps/uv/include',
13621cb0ef41Sopenharmony_ci    #    'deps/uvwasi/include',
13631cb0ef41Sopenharmony_ci    #    'test/embedding',
13641cb0ef41Sopenharmony_ci    #  ],
13651cb0ef41Sopenharmony_ci
13661cb0ef41Sopenharmony_ci    #  'sources': [
13671cb0ef41Sopenharmony_ci    #    'src/node_snapshot_stub.cc',
13681cb0ef41Sopenharmony_ci    #    'test/embedding/embedtest.cc',
13691cb0ef41Sopenharmony_ci    #  ],
13701cb0ef41Sopenharmony_ci
13711cb0ef41Sopenharmony_ci    #  'conditions': [
13721cb0ef41Sopenharmony_ci    #    ['OS=="solaris"', {
13731cb0ef41Sopenharmony_ci    #      'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ]
13741cb0ef41Sopenharmony_ci    #    }],
13751cb0ef41Sopenharmony_ci        # Skip cctest while building shared lib node for Windows
13761cb0ef41Sopenharmony_ci    #    [ 'OS=="win" and node_shared=="true"', {
13771cb0ef41Sopenharmony_ci    #      'type': 'none',
13781cb0ef41Sopenharmony_ci    #    }],
13791cb0ef41Sopenharmony_ci    #    [ 'node_shared=="true"', {
13801cb0ef41Sopenharmony_ci    #      'xcode_settings': {
13811cb0ef41Sopenharmony_ci    #        'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ],
13821cb0ef41Sopenharmony_ci    #      },
13831cb0ef41Sopenharmony_ci    #    }],
13841cb0ef41Sopenharmony_ci    #    ['OS=="win"', {
13851cb0ef41Sopenharmony_ci    #      'libraries': [
13861cb0ef41Sopenharmony_ci    #        'Dbghelp.lib',
13871cb0ef41Sopenharmony_ci    #        'winmm.lib',
13881cb0ef41Sopenharmony_ci    #        'Ws2_32.lib',
13891cb0ef41Sopenharmony_ci    #      ],
13901cb0ef41Sopenharmony_ci    #    }],
13911cb0ef41Sopenharmony_ci        # Avoid excessive LTO
13921cb0ef41Sopenharmony_ci    #    ['enable_lto=="true"', {
13931cb0ef41Sopenharmony_ci    #      'ldflags': [ '-fno-lto' ],
13941cb0ef41Sopenharmony_ci    #    }],
13951cb0ef41Sopenharmony_ci    #  ],
13961cb0ef41Sopenharmony_ci    #}, # embedtest
13971cb0ef41Sopenharmony_ci
13981cb0ef41Sopenharmony_ci    {
13991cb0ef41Sopenharmony_ci      'target_name': 'overlapped-checker',
14001cb0ef41Sopenharmony_ci      'type': 'executable',
14011cb0ef41Sopenharmony_ci
14021cb0ef41Sopenharmony_ci      'conditions': [
14031cb0ef41Sopenharmony_ci        ['OS=="win"', {
14041cb0ef41Sopenharmony_ci          'sources': [
14051cb0ef41Sopenharmony_ci            'test/overlapped-checker/main_win.c'
14061cb0ef41Sopenharmony_ci          ],
14071cb0ef41Sopenharmony_ci        }],
14081cb0ef41Sopenharmony_ci        ['OS!="win"', {
14091cb0ef41Sopenharmony_ci          'sources': [
14101cb0ef41Sopenharmony_ci            'test/overlapped-checker/main_unix.c'
14111cb0ef41Sopenharmony_ci          ],
14121cb0ef41Sopenharmony_ci        }],
14131cb0ef41Sopenharmony_ci        # Avoid excessive LTO
14141cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
14151cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
14161cb0ef41Sopenharmony_ci        }],
14171cb0ef41Sopenharmony_ci      ]
14181cb0ef41Sopenharmony_ci    }, # overlapped-checker
14191cb0ef41Sopenharmony_ci    {
14201cb0ef41Sopenharmony_ci      'target_name': 'node_mksnapshot',
14211cb0ef41Sopenharmony_ci      'type': 'executable',
14221cb0ef41Sopenharmony_ci
14231cb0ef41Sopenharmony_ci      'dependencies': [
14241cb0ef41Sopenharmony_ci        '<(node_lib_target_name)',
14251cb0ef41Sopenharmony_ci        'deps/histogram/histogram.gyp:histogram',
14261cb0ef41Sopenharmony_ci        'deps/uvwasi/uvwasi.gyp:uvwasi',
14271cb0ef41Sopenharmony_ci        'deps/ada/ada.gyp:ada',
14281cb0ef41Sopenharmony_ci      ],
14291cb0ef41Sopenharmony_ci
14301cb0ef41Sopenharmony_ci      'includes': [
14311cb0ef41Sopenharmony_ci        'node.gypi'
14321cb0ef41Sopenharmony_ci      ],
14331cb0ef41Sopenharmony_ci
14341cb0ef41Sopenharmony_ci      'include_dirs': [
14351cb0ef41Sopenharmony_ci        'src',
14361cb0ef41Sopenharmony_ci        'tools/msvs/genfiles',
14371cb0ef41Sopenharmony_ci        'deps/v8/include',
14381cb0ef41Sopenharmony_ci        'deps/cares/include',
14391cb0ef41Sopenharmony_ci        'deps/uv/include',
14401cb0ef41Sopenharmony_ci        'deps/uvwasi/include',
14411cb0ef41Sopenharmony_ci        '../../base/startup/init/interfaces/innerkits/include/param',
14421cb0ef41Sopenharmony_ci      ],
14431cb0ef41Sopenharmony_ci
14441cb0ef41Sopenharmony_ci      'defines': [ 'NODE_WANT_INTERNALS=1' ],
14451cb0ef41Sopenharmony_ci   
14461cb0ef41Sopenharmony_ci      'ldflags' : [
14471cb0ef41Sopenharmony_ci        '<(NDK_SYS_ROOT)/resourceschedule/resource_schedule_service/libressched_client.z.so',
14481cb0ef41Sopenharmony_ci        '<(NDK_SYS_ROOT)/startup/init/libbegetutil.z.so',
14491cb0ef41Sopenharmony_ci        '<(NDK_SYS_ROOT)/hiviewdfx/hisysevent/libhisysevent.z.so'
14501cb0ef41Sopenharmony_ci      ],
14511cb0ef41Sopenharmony_ci
14521cb0ef41Sopenharmony_ci      'sources': [
14531cb0ef41Sopenharmony_ci        'src/node_snapshot_stub.cc',
14541cb0ef41Sopenharmony_ci        'tools/snapshot/node_mksnapshot.cc',
14551cb0ef41Sopenharmony_ci      ],
14561cb0ef41Sopenharmony_ci
14571cb0ef41Sopenharmony_ci      'conditions': [
14581cb0ef41Sopenharmony_ci        [ 'node_use_openssl=="true"', {
14591cb0ef41Sopenharmony_ci          'defines': [
14601cb0ef41Sopenharmony_ci            'HAVE_OPENSSL=1',
14611cb0ef41Sopenharmony_ci          ],
14621cb0ef41Sopenharmony_ci        }],
14631cb0ef41Sopenharmony_ci        [ 'node_use_node_code_cache=="true"', {
14641cb0ef41Sopenharmony_ci          'defines': [
14651cb0ef41Sopenharmony_ci            'NODE_USE_NODE_CODE_CACHE=1',
14661cb0ef41Sopenharmony_ci          ],
14671cb0ef41Sopenharmony_ci        }],
14681cb0ef41Sopenharmony_ci        ['v8_enable_inspector==1', {
14691cb0ef41Sopenharmony_ci          'defines': [
14701cb0ef41Sopenharmony_ci            'HAVE_INSPECTOR=1',
14711cb0ef41Sopenharmony_ci          ],
14721cb0ef41Sopenharmony_ci        }],
14731cb0ef41Sopenharmony_ci        ['OS=="win"', {
14741cb0ef41Sopenharmony_ci          'libraries': [
14751cb0ef41Sopenharmony_ci            'Dbghelp.lib',
14761cb0ef41Sopenharmony_ci            'winmm.lib',
14771cb0ef41Sopenharmony_ci            'Ws2_32.lib',
14781cb0ef41Sopenharmony_ci          ],
14791cb0ef41Sopenharmony_ci        }],
14801cb0ef41Sopenharmony_ci        # Avoid excessive LTO
14811cb0ef41Sopenharmony_ci        ['enable_lto=="true"', {
14821cb0ef41Sopenharmony_ci          'ldflags': [ '-fno-lto' ],
14831cb0ef41Sopenharmony_ci        }],
14841cb0ef41Sopenharmony_ci      ],
14851cb0ef41Sopenharmony_ci    }, # node_mksnapshot
14861cb0ef41Sopenharmony_ci  ], # end targets
14871cb0ef41Sopenharmony_ci
14881cb0ef41Sopenharmony_ci  'conditions': [
14891cb0ef41Sopenharmony_ci    ['OS in "aix os400" and node_shared=="true"', {
14901cb0ef41Sopenharmony_ci      'targets': [
14911cb0ef41Sopenharmony_ci        {
14921cb0ef41Sopenharmony_ci          'target_name': 'node_aix_shared',
14931cb0ef41Sopenharmony_ci          'type': 'shared_library',
14941cb0ef41Sopenharmony_ci          'product_name': '<(node_core_target_name)',
14951cb0ef41Sopenharmony_ci          'ldflags': ['--shared'],
14961cb0ef41Sopenharmony_ci          'product_extension': '<(shlib_suffix)',
14971cb0ef41Sopenharmony_ci          'includes': [
14981cb0ef41Sopenharmony_ci            'node.gypi'
14991cb0ef41Sopenharmony_ci          ],
15001cb0ef41Sopenharmony_ci          'dependencies': ['<(node_lib_target_name)'],
15011cb0ef41Sopenharmony_ci          'include_dirs': [
15021cb0ef41Sopenharmony_ci            'src',
15031cb0ef41Sopenharmony_ci            'deps/v8/include',
15041cb0ef41Sopenharmony_ci          ],
15051cb0ef41Sopenharmony_ci          'sources': [
15061cb0ef41Sopenharmony_ci            '<@(library_files)',
15071cb0ef41Sopenharmony_ci            '<@(deps_files)',
15081cb0ef41Sopenharmony_ci            'common.gypi',
15091cb0ef41Sopenharmony_ci          ],
15101cb0ef41Sopenharmony_ci          'direct_dependent_settings': {
15111cb0ef41Sopenharmony_ci            'ldflags': [ '-Wl,-brtl' ],
15121cb0ef41Sopenharmony_ci          },
15131cb0ef41Sopenharmony_ci        },
15141cb0ef41Sopenharmony_ci      ]
15151cb0ef41Sopenharmony_ci    }], # end aix section
15161cb0ef41Sopenharmony_ci    ['OS=="win" and node_shared=="true"', {
15171cb0ef41Sopenharmony_ci     'targets': [
15181cb0ef41Sopenharmony_ci       {
15191cb0ef41Sopenharmony_ci         'target_name': 'gen_node_def',
15201cb0ef41Sopenharmony_ci         'type': 'executable',
15211cb0ef41Sopenharmony_ci         'sources': [
15221cb0ef41Sopenharmony_ci           'tools/gen_node_def.cc'
15231cb0ef41Sopenharmony_ci         ],
15241cb0ef41Sopenharmony_ci       },
15251cb0ef41Sopenharmony_ci       {
15261cb0ef41Sopenharmony_ci         'target_name': 'generate_node_def',
15271cb0ef41Sopenharmony_ci         'dependencies': [
15281cb0ef41Sopenharmony_ci           'gen_node_def',
15291cb0ef41Sopenharmony_ci           '<(node_lib_target_name)',
15301cb0ef41Sopenharmony_ci         ],
15311cb0ef41Sopenharmony_ci         'type': 'none',
15321cb0ef41Sopenharmony_ci         'actions': [
15331cb0ef41Sopenharmony_ci           {
15341cb0ef41Sopenharmony_ci             'action_name': 'generate_node_def_action',
15351cb0ef41Sopenharmony_ci             'inputs': [
15361cb0ef41Sopenharmony_ci               '<(PRODUCT_DIR)/<(node_lib_target_name).dll'
15371cb0ef41Sopenharmony_ci             ],
15381cb0ef41Sopenharmony_ci             'outputs': [
15391cb0ef41Sopenharmony_ci               '<(PRODUCT_DIR)/<(node_core_target_name).def',
15401cb0ef41Sopenharmony_ci             ],
15411cb0ef41Sopenharmony_ci             'action': [
15421cb0ef41Sopenharmony_ci               '<(PRODUCT_DIR)/gen_node_def.exe',
15431cb0ef41Sopenharmony_ci               '<@(_inputs)',
15441cb0ef41Sopenharmony_ci               '<@(_outputs)',
15451cb0ef41Sopenharmony_ci             ],
15461cb0ef41Sopenharmony_ci           },
15471cb0ef41Sopenharmony_ci         ],
15481cb0ef41Sopenharmony_ci       },
15491cb0ef41Sopenharmony_ci     ],
15501cb0ef41Sopenharmony_ci   }], # end win section
15511cb0ef41Sopenharmony_ci  ], # end conditions block
15521cb0ef41Sopenharmony_ci}
1553