--- ./node.gyp.orig 2025-02-13 17:23:54.000000000 +0530 +++ ./node.gyp 2025-02-26 15:30:38.507113531 +0530 @@ -532,7 +532,8 @@ ], 'sources': [ - 'src/node_main.cc' + 'src/node_main.cc', + 'src/getaddrinfo.c' ], 'dependencies': [ @@ -1012,302 +1013,7 @@ }, ], }, # node_lib_target_name - { # fuzz_env - 'target_name': 'fuzz_env', - 'type': 'executable', - 'dependencies': [ - '<(node_lib_target_name)', - 'deps/histogram/histogram.gyp:histogram', - ], - - 'includes': [ - 'node.gypi' - ], - 'include_dirs': [ - 'src', - 'tools/msvs/genfiles', - 'deps/v8/include', - 'deps/cares/include', - 'deps/uv/include', - 'test/cctest', - ], - - 'defines': [ - 'NODE_ARCH="<(target_arch)"', - 'NODE_PLATFORM="<(OS)"', - 'NODE_WANT_INTERNALS=1', - ], - 'sources': [ - 'src/node_snapshot_stub.cc', - 'test/fuzzers/fuzz_env.cc', - ], - 'conditions': [ - ['OS=="linux"', { - 'ldflags': [ '-fsanitize=fuzzer' ] - }], - # Ensure that ossfuzz flag has been set and that we are on Linux - [ 'OS!="linux" or ossfuzz!="true"', { - 'type': 'none', - }], - # Avoid excessive LTO - ['enable_lto=="true"', { - 'ldflags': [ '-fno-lto' ], - }], - ], - }, # fuzz_env - { # fuzz_ClientHelloParser.cc - 'target_name': 'fuzz_ClientHelloParser', - 'type': 'executable', - 'dependencies': [ - '<(node_lib_target_name)', - 'deps/histogram/histogram.gyp:histogram', - 'deps/uvwasi/uvwasi.gyp:uvwasi', - ], - 'includes': [ - 'node.gypi' - ], - 'include_dirs': [ - 'src', - 'tools/msvs/genfiles', - 'deps/v8/include', - 'deps/cares/include', - 'deps/uv/include', - 'deps/uvwasi/include', - 'test/cctest', - ], - 'defines': [ - 'NODE_ARCH="<(target_arch)"', - 'NODE_PLATFORM="<(OS)"', - 'NODE_WANT_INTERNALS=1', - ], - 'sources': [ - 'src/node_snapshot_stub.cc', - 'test/fuzzers/fuzz_ClientHelloParser.cc', - ], - 'conditions': [ - ['OS=="linux"', { - 'ldflags': [ '-fsanitize=fuzzer' ] - }], - # Ensure that ossfuzz flag has been set and that we are on Linux - [ 'OS!="linux" or ossfuzz!="true"', { - 'type': 'none', - }], - # Avoid excessive LTO - ['enable_lto=="true"', { - 'ldflags': [ '-fno-lto' ], - }], - ], - }, # fuzz_ClientHelloParser.cc - { # fuzz_strings - 'target_name': 'fuzz_strings', - 'type': 'executable', - 'dependencies': [ - '<(node_lib_target_name)', - 'deps/googletest/googletest.gyp:gtest_prod', - 'deps/histogram/histogram.gyp:histogram', - 'deps/uvwasi/uvwasi.gyp:uvwasi', - 'deps/nbytes/nbytes.gyp:nbytes', - ], - 'includes': [ - 'node.gypi' - ], - 'include_dirs': [ - 'src', - 'tools/msvs/genfiles', - 'deps/v8/include', - 'deps/cares/include', - 'deps/uv/include', - 'deps/uvwasi/include', - 'test/cctest', - ], - 'defines': [ - 'NODE_ARCH="<(target_arch)"', - 'NODE_PLATFORM="<(OS)"', - 'NODE_WANT_INTERNALS=1', - ], - 'sources': [ - 'src/node_snapshot_stub.cc', - 'test/fuzzers/fuzz_strings.cc', - ], - 'conditions': [ - ['OS=="linux"', { - 'ldflags': [ '-fsanitize=fuzzer' ] - }], - # Ensure that ossfuzz flag has been set and that we are on Linux - [ 'OS!="linux" or ossfuzz!="true"', { - 'type': 'none', - }], - # Avoid excessive LTO - ['enable_lto=="true"', { - 'ldflags': [ '-fno-lto' ], - }], - ], - }, # fuzz_strings - { - 'target_name': 'cctest', - 'type': 'executable', - - 'dependencies': [ - '<(node_lib_target_name)', - 'deps/googletest/googletest.gyp:gtest', - 'deps/googletest/googletest.gyp:gtest_main', - 'deps/histogram/histogram.gyp:histogram', - 'deps/nbytes/nbytes.gyp:nbytes', - ], - - 'includes': [ - 'node.gypi' - ], - - 'include_dirs': [ - 'src', - 'tools/msvs/genfiles', - 'deps/v8/include', - 'deps/cares/include', - 'deps/uv/include', - 'test/cctest', - ], - - 'defines': [ - 'NODE_ARCH="<(target_arch)"', - 'NODE_PLATFORM="<(OS)"', - 'NODE_WANT_INTERNALS=1', - ], - - 'sources': [ '<@(node_cctest_sources)' ], - - 'conditions': [ - [ 'node_use_openssl=="true"', { - 'defines': [ - 'HAVE_OPENSSL=1', - ], - 'dependencies': [ - 'deps/ncrypto/ncrypto.gyp:ncrypto', - ], - }, { - 'sources!': [ '<@(node_cctest_openssl_sources)' ], - }], - ['v8_enable_inspector==1', { - 'defines': [ - 'HAVE_INSPECTOR=1', - ], - 'include_dirs': [ - # TODO(legendecas): make node_inspector.gypi a dependable target. - '<(SHARED_INTERMEDIATE_DIR)', # for inspector - '<(SHARED_INTERMEDIATE_DIR)/src', # for inspector - ], - 'dependencies': [ - 'deps/inspector_protocol/inspector_protocol.gyp:crdtp', - ], - }, { - 'defines': [ - 'HAVE_INSPECTOR=0', - ], - 'sources!': [ '<@(node_cctest_inspector_sources)' ], - }], - ['OS=="solaris"', { - 'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ] - }], - # Skip cctest while building shared lib node for Windows - [ 'OS=="win" and node_shared=="true"', { - 'type': 'none', - }], - [ 'node_shared=="true"', { - 'xcode_settings': { - 'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ], - }, - }], - ['OS=="win"', { - 'libraries': [ - 'Dbghelp.lib', - 'winmm.lib', - 'Ws2_32.lib', - ], - }], - # Avoid excessive LTO - ['enable_lto=="true"', { - 'ldflags': [ '-fno-lto' ], - }], - ], - }, # cctest - - { - 'target_name': 'embedtest', - 'type': 'executable', - 'dependencies': [ - '<(node_lib_target_name)', - 'deps/histogram/histogram.gyp:histogram', - 'deps/nbytes/nbytes.gyp:nbytes', - ], - - 'includes': [ - 'node.gypi' - ], - - 'include_dirs': [ - 'src', - 'tools', - 'tools/msvs/genfiles', - 'deps/v8/include', - 'deps/cares/include', - 'deps/uv/include', - 'test/embedding', - ], - - 'sources': [ - 'src/node_snapshot_stub.cc', - 'test/embedding/embedtest.cc', - ], - - 'conditions': [ - ['OS=="solaris"', { - 'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ] - }], - # Skip cctest while building shared lib node for Windows - [ 'OS=="win" and node_shared=="true"', { - 'type': 'none', - }], - [ 'node_shared=="true"', { - 'xcode_settings': { - 'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ], - }, - }], - ['OS=="win"', { - 'libraries': [ - 'Dbghelp.lib', - 'winmm.lib', - 'Ws2_32.lib', - ], - }], - # Avoid excessive LTO - ['enable_lto=="true"', { - 'ldflags': [ '-fno-lto' ], - }], - ], - }, # embedtest - - { - 'target_name': 'overlapped-checker', - 'type': 'executable', - - 'conditions': [ - ['OS=="win"', { - 'sources': [ - 'test/overlapped-checker/main_win.c' - ], - }], - ['OS!="win"', { - 'sources': [ - 'test/overlapped-checker/main_unix.c' - ], - }], - # Avoid excessive LTO - ['enable_lto=="true"', { - 'ldflags': [ '-fno-lto' ], - }], - ] - }, # overlapped-checker { 'target_name': 'node_js2c', 'type': 'executable', @@ -1344,76 +1050,6 @@ }], ] }, - { - 'target_name': 'node_mksnapshot', - 'type': 'executable', - - 'dependencies': [ - '<(node_lib_target_name)', - 'deps/histogram/histogram.gyp:histogram', - 'deps/nbytes/nbytes.gyp:nbytes', - ], - - 'includes': [ - 'node.gypi' - ], - - 'include_dirs': [ - 'src', - 'tools/msvs/genfiles', - 'deps/v8/include', - 'deps/cares/include', - 'deps/uv/include', - ], - - 'defines': [ 'NODE_WANT_INTERNALS=1' ], - - 'sources': [ - 'src/node_snapshot_stub.cc', - 'tools/snapshot/node_mksnapshot.cc', - ], - - 'msvs_settings': { - 'VCLinkerTool': { - 'EnableCOMDATFolding': '1', # /OPT:NOICF - }, - }, - - 'conditions': [ - ['node_write_snapshot_as_array_literals=="true"', { - 'defines': [ 'NODE_MKSNAPSHOT_USE_ARRAY_LITERALS=1' ], - }], - [ 'node_use_openssl=="true"', { - 'dependencies': [ - 'deps/ncrypto/ncrypto.gyp:ncrypto', - ], - 'defines': [ - 'HAVE_OPENSSL=1', - ], - }], - [ 'node_use_node_code_cache=="true"', { - 'defines': [ - 'NODE_USE_NODE_CODE_CACHE=1', - ], - }], - ['v8_enable_inspector==1', { - 'defines': [ - 'HAVE_INSPECTOR=1', - ], - }], - ['OS=="win"', { - 'libraries': [ - 'Dbghelp.lib', - 'winmm.lib', - 'Ws2_32.lib', - ], - }], - # Avoid excessive LTO - ['enable_lto=="true"', { - 'ldflags': [ '-fno-lto' ], - }], - ], - }, # node_mksnapshot ], # end targets 'conditions': [