Remove unused GN Node.js arg This was added in https://issues.chromium.org/issues/336962432. The following error is otherwise produced: ./tools/gn-gen.py --target_cpu=arm64 out/Release node_v8_path="//node/deps/v8" target_cpu="arm64" icu_use_data_file = false is_debug=false symbol_level=0 is_component_build=false node_use_node_code_cache=true node_enable_deprecated_declarations_warnings=true v8_imminent_deprecation_warnings=false WARNING at the command-line "--args":1:206: Build argument has no effect. node_v8_path="//node/deps/v8" target_cpu="arm64" icu_use_data_file = false is_debug=false symbol_level=0 is_component_build=false node_use_node_code_cache=true node_enable_deprecated_declarations_warnings=true v8_imminent_deprecation_warnings=false ^--- The variable "node_enable_deprecated_declarations_warnings" was set as a build argument but never appeared in a declare_args() block in any buildfile. To view all possible args, run "gn args --list <out_dir>" Bug: 42203738 Change-Id: I606818f012338854cabe1134248064585a942c36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/node-ci/+/5964917 Reviewed-by: Andreas Haas <[email protected]> Reviewed-by: Michael Achenbach <[email protected]> Commit-Queue: Andreas Haas <[email protected]>
This project is a set of dependency and build configurations to build Node.js with GN.
V8 was originally built with SCons. Following Chromium, it made the switch to GYP, completing around 2012. That was when Node.js started its success story. However, again following Chromium, V8 made the switch to GN, completing in 2016. So far, Node.js has hesitated in adopting GN. One of the reasons is its now established native modules ecosystem that relies on GYP for build configuration.
Electron, having both Chromium and Node.js as its dependencies, adopted GN. Many files in this repository have been derived from the Electron project, with appropriate changes to avoid the need for forking files, to implement a standalone build, or to fix test failures.
Some reading material:
Get depot_tools first.
mkdir node-ci cd node-ci fetch node-ci
Alternatively, you can
mkdir node-ci cd node-ci git clone https://chromium.googlesource.com/v8/node-ci gclient config https://chromium.googlesource.com/v8/node-ci --unmanaged
cd node-ci make deps make node
JOBS=4 make test
For more advanced build options, check out tools/gn-gen.py --help.
To update a dependency, e.g. V8 or Node.js, use gclient to update DEPS.
gclient setdep --var=v8_revision=<updated-git-hash>
To apply changes, e.g. for local testing, use git:
cd v8 git remote add local-v8 <path-to-v8-checkout>/.git git fetch local-v8 git checkout local-v8/<your-branch>
DEPS.