| # This file is used by GN for building, which is NOT the build system used for |
| # building official binaries. |
| # Please take a look at node.gyp if you are making changes to build system. |
| |
| # Embedder options. |
| declare_args() { |
| # The location of Node.js in source code tree. |
| node_path = "//node" |
| |
| # The location of V8 - use the one from node's deps by default. |
| node_v8_path = "$node_path/deps/v8" |
| |
| # The location of OpenSSL - use the one from node's deps by default. |
| node_openssl_path = "$node_path/deps/openssl" |
| |
| # The location of simdutf - use the one from node's deps by default. |
| node_simdutf_path = "//third_party/simdutf" |
| |
| # The location of inspector_protocol - use the one from node's deps by default. |
| node_inspector_protocol_path = "//third_party/inspector_protocol" |
| |
| # The NODE_MODULE_VERSION defined in node_version.h. |
| node_module_version = exec_script("$node_path/tools/getmoduleversion.py", [], "value") |
| |
| # Support for external shareable builtins. |
| # TODO(zcbenz): This is currently copied from configure.py, we should share |
| # the list between configure.py and GN configurations. |
| node_builtin_shareable_builtins = [ |
| "deps/cjs-module-lexer/lexer.js", |
| "deps/cjs-module-lexer/dist/lexer.js", |
| "deps/undici/undici.js", |
| "deps/amaro/dist/index.js", |
| ] |
| } |
| |
| # Equivalent of gyp file's configurations. |
| declare_args() { |
| # Enable the V8 inspector protocol for use with node. |
| node_enable_inspector = true |
| |
| # Build node with SSL support. |
| # The variable is called "openssl" for parity with node's GYP build. |
| node_use_openssl = true |
| |
| # Build node with SQLite support. |
| node_use_sqlite = true |
| |
| # Use the specified path to system CA (PEM format) in addition to |
| # the BoringSSL supplied CA store or compiled-in Mozilla CA copy. |
| node_openssl_system_ca_path = "" |
| |
| # Initialize v8 platform during node.js startup. |
| node_use_v8_platform = true |
| |
| # Custom build tag. |
| node_tag = "" |
| |
| # V8 options to pass, see `node --v8-options` for examples. |
| node_v8_options = "" |
| |
| # Provide a custom URL prefix for the `process.release` properties |
| # `sourceUrl` and `headersUrl`. When compiling a release build, this will |
| # default to https://nodejs.org/download/release/'). |
| node_release_urlbase = "" |
| |
| # Use code cache to speed up startup. Disabled for cross compilation. |
| node_use_node_code_cache = host_os == target_os && host_cpu == target_cpu |
| |
| # Use snapshot to speed up startup. |
| # TODO(zcbenz): There are few broken things for now: |
| # 1. cross-os compilation is not supported. |
| # 2. node_mksnapshot crashes when cross-compiling for x64 from arm64. |
| node_use_node_snapshot = (host_os == target_os) && !(host_cpu == "arm64" && target_cpu == "x64") |
| |
| # Build with Amaro (TypeScript utils). |
| node_use_amaro = true |
| } |
| |
| assert(!node_enable_inspector || node_use_openssl, |
| "node_enable_inspector requires node_use_openssl") |