# 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 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 # 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")