summaryrefslogtreecommitdiff
path: root/vcbuild.bat
AgeCommit message (Collapse)Author
2019-12-02build,win: propagate error codes in vcbuildJoão Reis
Don't exit vcbuild with error code 0 when cctest fails. PR-URL: https://github.com/nodejs/node/pull/30724 Refs: https://github.com/nodejs/build/issues/1996 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-12-02build,win: add test-ci-native and test-ci-jsJoão Reis
PR-URL: https://github.com/nodejs/node/pull/30724 Refs: https://github.com/nodejs/build/issues/1996 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-11-04build: fix detection of Visual Studio 2017Richard Lau
When run in a Visual Studio 2017 command prompt the `VCINSTALLDIR` environment variable will be already set and is not cleared by the `tools/msvs/vswhere_usability_wrapper.cmd` utility when it fails to find Visual Studio 2019. This causes `vcbuild.bat` to incorrectly assume Visual Studio 2019 and generate an incompatible configuration. Clearing the value of `VCINSTALLDIR` before calling the utility fixes the detection logic. PR-URL: https://github.com/nodejs/node/pull/30119 Fixes: https://github.com/nodejs/node/issues/30118 Refs: https://github.com/nodejs/node/pull/30022 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2019-10-25build: vcbuild uses default Python, not Py2João Reis
vcbuild now searches for the first python.exe found, and uses it, where it used to look for Python 2 first. PR-URL: https://github.com/nodejs/node/pull/30091 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-20build: default Windows build to Visual Studio 2019Michaël Zasso
Building and testing Node.js with Visual Studio 2019 is now working as expected. Fallback to VS 2017 if VS 2019 was not found. Fixes: https://github.com/nodejs/node/issues/27214 PR-URL: https://github.com/nodejs/node/pull/30022 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
2019-10-10build: make full-icu the default for releasesRichard Lau
Release builds specifically set the `--with-intl=` configure option instead of relying on the default. Explicitly set to `full-icu`. Refs: https://github.com/nodejs/node/pull/29522 PR-URL: https://github.com/nodejs/node/pull/29887 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Steven R Loomis <srloomis@us.ibm.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-09-27build,win: goto lint only after defining node_exeJoão Reis
When running `vcbuild lint` on a new prompt where vcbuild was not run before, `%node_exe%` was not defined and `eslint.js`, `lint-js.js` and `lint-md.js` would be run directly using the program defined in Windows (usually the Windows Scripting Host or Notepad). This moves the goto statement to after `%node_exe%` is defined. Fixes: https://github.com/nodejs/node/issues/29602 PR-URL: https://github.com/nodejs/node/pull/29616 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2019-09-02build,win: accept Python 3 if 2 is not availableJoão Reis
If there is no Python 2 available, use Python 3. This allows to test running configure with Python 3. PR-URL: https://github.com/nodejs/node/pull/29236 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-08-16build: add a testclean targetDaniel Bevenius
This commit adds a target named testclean to allow for cleaning the temporary files generated during a test run without having to use the clean target. PR-URL: https://github.com/nodejs/node/pull/29094 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-07-27build,tools: support building with Visual Studio 2019Michaël Zasso
Add a `vs2019` option to `vcbuild.bat` to use VS 2019 instead of VS 2017 PR-URL: https://github.com/nodejs/node/pull/28781 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
2019-06-13build,win: delegate lint-cpp to makeRefael Ackermann
* look for GNU Make in the Path or use wsl PR-URL: https://github.com/nodejs/node/pull/28102 Fixes: https://github.com/nodejs/node/issues/28086 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2019-05-25build,win: create junction instead of symlink to `out\%config%`Refael Ackermann
PR-URL: https://github.com/nodejs/node/pull/27736 Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-05-17build: add arm64 to vcbuild.bat help messageJon Kunkee
PR-URL: https://github.com/nodejs/node/pull/27683 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-04-22build,win: deprecate `vcbuild test-ci`Refael Ackermann
PR-URL: https://github.com/nodejs/node/pull/27231 Refs: https://github.com/google/googletest/tree/39f72ea6f5cd458860b563d7bcb7ea67546e6ea3 Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-04-22deps,test: bump googletest to 39f72ea6f5Refael Ackermann
Refs: https://github.com/google/googletest/tree/39f72ea6f5cd458860b563d7bcb7ea67546e6ea3 PR-URL: https://github.com/nodejs/node/pull/27231 Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-04-20build,win: bail vcbuild if mklink failsRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/27216 Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-04-19build,win: rename node.lib to libnode.libRefael Ackermann
eliminate the need for `rename_node_bin_win` PR-URL: https://github.com/nodejs/node/pull/27150 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2019-04-16build: run `mkcodecache` as an actionRefael Ackermann
* fix test-code-cache (for the common cases) * deprecate `configure --code-cache-path` PR-URL: https://github.com/nodejs/node/pull/27161 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2019-04-12build,win: put all compilation artifacts into `out`Refael Ackermann
* Add symlink from Release to out\Release for backward compat PR-URL: https://github.com/nodejs/node/pull/27149 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2019-03-30build: remove unused label from vcbuild.batBen Noordhuis
Remove the :wix-not-found label and harmonize the spelling of "WiX". PR-URL: https://github.com/nodejs/node/pull/26901 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-03-07build,win: simplify new `msbuild_arg` optionRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/26431 Refs: https://github.com/nodejs/node/pull/25994 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2019-03-04win,build: add ARM64 support to vcbuild.batJon Kunkee
PR-URL: https://github.com/nodejs/node/pull/25995 Reviewed-By: João Reis <reis@janeasystems.com>
2019-03-04win,build: add arbitrary and binlog optionsJon Kunkee
This change adds a 'msbuild_arg' option to vcbuild.bat that can be used to pass arbitrary flags to MSBuild. It also adds a 'binlog' flag as a shortcut 'msbuild_arg' option to enable binary logging to `%config%\node.binlog`. This is especially convenient when debugging changes to the build system. In the process of developing this change, the idea of adding 'setlocal' to the beginning of the script was rejected since other scripts in this repo rely on the exported environment variables. This change adds a note describing this. PR-URL: https://github.com/nodejs/node/pull/25994 Reviewed-By: João Reis <reis@janeasystems.com>
2019-02-14build,win: emit MSBuild summaryRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/25931 Reviewed-By: João Reis <reis@janeasystems.com>
2019-02-14build,win: always build with PCHRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/25931 Reviewed-By: João Reis <reis@janeasystems.com>
2018-12-31win, build: fix building addons on WindowsBartosz Sosnowski
Building addons would fail because addon-verify.js dependencies from tools\doc where not installed. This fixes this issue by installing those dependencies if addons are to be built. Fixes: https://github.com/nodejs/node/issues/25096 PR-URL: https://github.com/nodejs/node/pull/25108 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-12-21tools: report unused disable-directives for ESLintRich Trott
Refs: https://eslint.org/docs/user-guide/command-line-interface#--report-unused-disable-directives PR-URL: https://github.com/nodejs/node/pull/25119 Reviewed-By: Teddy Katz <teddy.katz@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-12-05build,win: pack the install-tools scripts for distRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/24233 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2018-12-04test: partition N-API testsGabriel Schulhof
Partition test/addons-napi into test/js-native-api and test/node-api to isolate the Node.js-agnostic portion of the N-API tests from the Node.js-specific portion. PR-URL: https://github.com/nodejs/node/pull/24557 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
2018-11-29win, build: skip building cctest by defaultBartosz Sosnowski
vcbuild will build cctest only if it will be run, or for CI and release builds PR-URL: https://github.com/nodejs/node/pull/21408 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-11-10test: move benchmark tests out of main test suiteRich Trott
Move benchmark tests (which are slow) out of the main test suite. We can hopefully add them to node-daily-master so that they are still run daily on CI. PR-URL: https://github.com/nodejs/node/pull/24265 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-10-04doc: remove GA trackingBen Noordhuis
The Google Analytics tracking wasn't wholly uncontroversial and hasn't been used in practice. Remove it. PR-URL: https://github.com/nodejs/node/pull/23083 Fixes: https://github.com/nodejs/node/issues/22652 Refs: https://github.com/nodejs/node/pull/6601 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-10-02build: exclude npm test directories on WindowsRichard Lau
npm test directories are excluded on other platforms by `tools/install.py`. Do the same on Windows. Fixes: https://github.com/nodejs/node/issues/22901 PR-URL: https://github.com/nodejs/node/pull/23001 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2018-09-21build: make config verbose on CIRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/22935 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-09-19src: deprecate global COUNTER_* and remove perfctrJames M Snell
To support Performance Counters on Windows, a number of global `COUNTER_` methods were added that are undocumented and really only intended to be used internally by Node.js. Unfortunately, the perfctr support apparently hasn't even worked for quite a while and no one has even complained. This removes the perfctr support and replaces the global functions with deprecated non-ops for now, with the intent of removing those outright in the next major release cycle. PR-URL: https://github.com/nodejs/node/pull/22485 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2018-09-17build: skip cctest on Windows shared lib buildYihong Wang
cctest depends on some internal APIs which don't declare `__declspec(dllexport)` and causes build failure when building node as shared lib on Windows. Since we already have good test coverage in static lib, we decide to skip the cctest in shared lib build on Windows. Signed-off-by: Yihong Wang <yh.wang@ibm.com> PR-URL: https://github.com/nodejs/node/pull/21228 Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-09-11tools: use lint-md.jsRefael Ackermann
* remove unused `tools/remark-cli` * vcbuild tested with `vcbuild nobuild noprojgen lint-md-build lint-md` PR-URL: https://github.com/nodejs/node/pull/20109 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-09-08build: make doc generation work on WindowsTobias Nießen
PR-URL: https://github.com/nodejs/node/pull/22749 Refs: https://github.com/nodejs/node/pull/21697 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-09-04build,win: remove unmatched `endlocal` statementRefael Ackermann
Seems like it's a leftover from c403eeb7fdf8c1033422b6ea8bf025667892f867 PR-URL: https://github.com/nodejs/node/pull/22627 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2018-09-02win, build: remove superfluous error messageBartosz Sosnowski
When building from clean checkout, `vcbuild` will produce superfluous error message about missing .tmp_gyp_configure_stamp and .gyp_configure_stamp. This removes both those messages. PR-URL: https://github.com/nodejs/node/pull/22580 Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-08-31win,build: build N-API addons in parallelBartosz Sosnowski
Ref: https://github.com/nodejs/node/pull/21403 PR-URL: https://github.com/nodejs/node/pull/22582 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-08-22build: use `npm ci`Refael Ackermann
* remove obsolete `node_modules/js-yaml/package.json` target * remove `@touch` since `npm ci` is always destructive PR-URL: https://github.com/nodejs/node/pull/22399 Refs: https://github.com/nodejs/node/pull/21802 Refs: https://github.com/nodejs/node/pull/21490 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Sam Ruby <rubys@intertwingly.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
2018-08-01test: remove test/gc, integrate into parallelAnna Henningsen
There’s no reason to have a separate addon just for testing GC anymore. PR-URL: https://github.com/nodejs/node/pull/22001 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2018-07-27build,win,v8: allow precompiling objects-inl.hJoão Reis
This makes compiling v8_base much faster on Windows. Sharding is disabled because the header would have to be precompiled for each shard but is only once. The library is much smaller, so sharding is unnecessary. This is enabled by default, but disabled for CI and releases. PR-URL: https://github.com/nodejs/node/pull/21772 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Kyle Farnung <kfarnung@microsoft.com> Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2018-07-25tools: produce JSON documentation using unified/remark/rehypeSam Ruby
PR-URL: https://github.com/nodejs/node/pull/21697 Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2018-07-20tools: create HTML docs with unified/remark/rehypeSam Ruby
PR-URL: https://github.com/nodejs/node/pull/21490 Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2018-07-19build: move to `npm ci` where possibleRich Trott
Recent events (involving a maliciously published version of a popular module's dependency) have reinvigorated my interest in seeing us move to `npm ci` instead of `npm install`. This moves us to `npm ci` where possible in Makefile and vcbuild.bat. PR-URL: https://github.com/nodejs/node/pull/21802 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-06-27build, win: make LTCG optionalBartosz Sosnowski
Disables Link Time Code Generation by default. Adds ‘ltcg’ vcbuild option to enable it. LTCG will be used by default by release and CI builds. PR-URL: https://github.com/nodejs/node/pull/21186 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2018-06-26win, build: generate .sln only when necessaryBartosz Sosnowski
When generating sln, store flags passed to configure. Next time, if node.sln exists and configure flags match those stored, skip building .sln files. Adds projgen vcbuild option to force .sln regeneration. PR-URL: https://github.com/nodejs/node/pull/21284 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-06-24win, build: fix building on 32-bit machinesBartosz Sosnowski
Fixes: https://github.com/nodejs/node/issues/21402 PR-URL: https://github.com/nodejs/node/pull/21437 Fixes: https://github.com/nodejs/node/issues/21402 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>