summaryrefslogtreecommitdiff
path: root/tools/msvs
AgeCommit message (Collapse)Author
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-09-05build,win: fix Python detection on localized OSJoão Reis
This code previously assumed the default value was always printed to the console by reg.exe as "(default)", but this is not true on localized versions of Windows and can contain spaces. Fixes: https://github.com/nodejs/node/issues/29417 PR-URL: https://github.com/nodejs/node/pull/29423 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: David Carlier <devnexen@gmail.com>
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-09-02build,win: find Python in paths with spacesJoão Reis
When looking for Python in the registry, as specified in PEP514, this was not able to handle installations in a path with spaces, like Program Files. This ensures the whole path is used, fixing the issue. 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-01tools: sync gypfiles with V8 7.6Michaël Zasso
Co-authored-by: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Co-authored-by: Ujjwal Sharma <usharma1998@gmail.com> PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@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-01build,v8: sync V8 gypfiles with 7.5Refael Ackermann
Co-authored-by: Ujjwal Sharma <usharma1998@gmail.com> Co-authored-by: Michaël Zasso <targos@protonmail.com> PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-02-14build,src: add PCH to node.gypiRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/25931 Reviewed-By: João Reis <reis@janeasystems.com>
2019-02-14build,deps: use PCH also for v8_initializersRefael Ackermann
* rename files to represent reuse PR-URL: https://github.com/nodejs/node/pull/25931 Reviewed-By: João Reis <reis@janeasystems.com>
2019-02-14build,tools: add more headers to V8 PCH fileRefael Ackermann
* Use relative path for easy reuse in other projects PR-URL: https://github.com/nodejs/node/pull/25931 Reviewed-By: João Reis <reis@janeasystems.com>
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-05win: do not use Boxstarter to install toolsJoão Reis
Use Chocolatey directly in the tools installation script. PR-URL: https://github.com/nodejs/node/pull/24677 Fixes: https://github.com/nodejs/node/issues/23838 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2018-11-21build: fix Python detection when depot_tools are in PATH in WindowsGuy Bedford
PR-URL: https://github.com/nodejs/node/pull/22539 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-11-14win: add customization warning to tools scriptJoão Reis
PR-URL: https://github.com/nodejs/node/pull/24348 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
2018-11-03win: add prompt to tools installation scriptJoão Reis
Fixes: https://github.com/nodejs/Release/issues/369 PR-URL: https://github.com/nodejs/node/pull/23987 Reviewed-By: John-David Dalton <john.david.dalton@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2018-11-03win: clarify Boxstarter behavior on install toolsRob Reynolds
Clarify the behavior of what Boxstarter may do when it runs on a box to install all the necessary tools so that there are no surprises to the end user when the script is run. Currently there is no interface that warns the user that Boxstarter will reboot the machine possibly multiple times depending on how many dependencies need to be installed and doesn't mention a need to disable UAC. For folks who see what may look like a reboot loop, we feel it is necessary to make them aware that UAC will be disabled and they will need to take action to re-enable UAC manually if they interfere/stop the script from finishing. PR-URL: https://github.com/nodejs/node/pull/23987 Fixes: https://github.com/nodejs/Release/issues/369 Reviewed-By: John-David Dalton <john.david.dalton@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
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-26win,msi: display license notes before installing toolsJoão Reis
PR-URL: https://github.com/nodejs/node/pull/23044 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-09-26win,msi: install Boxstarter from elevated shellJoão Reis
Boxstarter asks for elevation to install packages, but not to install Boxstarter itself. Thus, run all the commands from an elevated PowerShell. Refs: https://github.com/nodejs/node/pull/22645 PR-URL: https://github.com/nodejs/node/pull/22988 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-09-24win,msi: highlight installation of 3rd-party toolsTobias Nießen
Currently, the installation wizard more or less silently installs third-party software (Boxstarter + Chocolatey). This adds some text to the MSI installation dialog and to the Boxstarter installation script. PR-URL: https://github.com/nodejs/node/pull/23003 Refs: https://github.com/nodejs/node/pull/22645 Refs: https://github.com/nodejs/node/pull/22988 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: João Reis <reis@janeasystems.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-17tools,win: fix find_python errorKyle Farnung
On a machine without `python.exe` in the PATH the script was failing with: ```console > .\vcbuild.bat Looking for Python 2.x 2> was unexpected at this time. ``` Escaping the `>` seems to resolve it. PR-URL: https://github.com/nodejs/node/pull/22797 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-09-12win,msi: install tools for native modulesJoão Reis
Add a dialog during installation with information about native modules that can optionally run a Boxstarter script at the end of the installation. This script can also be run from Start menu. Fixes: https://github.com/nodejs/node/issues/22311 PR-URL: https://github.com/nodejs/node/pull/22645 Reviewed-By: Richard Lau <riclau@uk.ibm.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-14src,tools: use https://nodejs.org URL when possible.XhmikosR
PR-URL: https://github.com/nodejs/node/pull/21719 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-05-16tools: fix "the the" typos in commentsMasashi Hirano
PR-URL: https://github.com/nodejs/node/pull/20716 Fixes: https://github.com/nodejs/node/issues/20682 Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-04-10build, tools, win: add nasm detection for OpenSSLJoão Reis
OpenSSL-1.1.0 requires the nasm assembler for building asm files on Windows. This finds nasm at \Program Files\NASM\nasm.exe or \ProgramFiles(x86)\NASM\nasm.exe in vcbuild.bat for users who did not add its path in their enviroments. Fixes: https://github.com/nodejs/build/issues/1190 Fixes: https://github.com/nodejs/node/issues/4270 PR-URL: https://github.com/nodejs/node/pull/19794 Reviewed-By: Shigeki Ohtsu <ohtsu@ohtsu.org> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-02-22build, win: vcbuild improvementsBartosz Sosnowski
Removes extra erroor messages when Python is not installed. Removes "vswhere not found" message when no VS2017 installation is found. Adds support for DEBUG_HELPER to vcbuild.bat. Fixes: https://github.com/nodejs/node/issues/16864 PR-URL: https://github.com/nodejs/node/pull/17015 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2017-09-03tools: bump vswhere helper to 2.0.0Refael Ackermann
* enable explicit detection of prerelease VS versions with `set VSWHERE_WITH_PRERELEASE=1` PR-URL: https://github.com/nodejs/node/pull/14557 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2017-08-01build,win: fix python detection scriptJason Ginchereau
Handle spaces in the path to python.exe, in case it is installed under some directory like "C:\Program Files". PR-URL: https://github.com/nodejs/node/pull/14546 Reviewed-By: Timothy Gu <timothygu99@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2017-07-17build: add npx to installersKat Marchán
PR-URL: https://github.com/nodejs/node/pull/14235 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com>
2017-06-28build,windows: implement PEP514 python detectionRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/13900 Fixes: https://github.com/nodejs/node/issues/13882 Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2017-05-05win: make buildable on VS2017Refael Ackermann
* Set default to `vs2015` since `vs2017` is not CI-green yet * changes vcbuild.bat arg from `vc2015` to `vs2015`/`vs2017` `vc` as in Visual C++ is actually versions 14.0 or 14.10 `vs` as in Visual Studio is 2015 or 2017 Ref: http://lists.boost.org/Archives/boost/2017/03/233597.php 🤦 * keep `vc2015` for backward compatibility but "undocumented" * tools: transplant vswhere wrapper from `msvs-com-helper` Ref: https://github.com/node4good/msvs-com-helper PR-URL: https://github.com/nodejs/node/pull/11852 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2016-12-20win,msi: add required UIRef for localized stringsBill Ticehurst
Reviewed-By: João Reis <reis@janeasystems.com> PR-URL: https://github.com/nodejs/node/pull/8884
2016-10-10win,msi: mark INSTALLDIR property as secureJoão Reis
Allows INSTALLDIR to be passed to the server MSIExec process during installation. PR-URL: https://github.com/nodejs/node/pull/8795 Fixes: https://github.com/nodejs/node/issues/6057 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-08-03win,msi: fix inclusion of translationsJoão Reis
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> PR-URL: https://github.com/nodejs/node/pull/7798
2016-07-14win,msi: add zh-CN translations for the installerMinqi Pan
PR-URL: https://github.com/nodejs/node/pull/2569 Reviewed-By: Jackson Tian <shvyo1987@gmail.com> Reviewed-By: Wexpo Lyu <laosb@lns.unihubs.com> Reviewed-By: Yiyu He <heyiyu.deadhorse@gmail.com> Reviewed-By: Yorkie Liu <yorkiefixer@gmail.com>
2016-07-13win,msi: Added Italian translationMatteo Collina
As titled. Tested by @piccoloaiutante. PR-URL: https://github.com/nodejs/node/pull/4647 Refs: https://github.com/wixtoolset/wix3/pull/366 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Frederic Hemberger <mail@frederic-hemberger.de>
2016-03-29etw,build: always generate .rc and .h filesJoão Reis
We can assume the Windows SDK is installed, hence the intermediate files generated from manifest should not be part of the source tree. This also fixes incorrect detection of ctrpp.exe, that should be in the path. PR-URL: https://github.com/nodejs/node/pull/5657 Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
2016-03-18win,msi: prevent from installing on Windows Vista or earlierAlexis Campailla
Ref: https://github.com/nodejs/node/issues/3804 PR-URL: https://github.com/nodejs/node/pull/5167 Reviewed-By: rvagg - Rod Vagg <rod@vagg.org> Reviewed-By: joaocgreis - João Reis <reis@janeasystems.com>
2016-01-23tools: fix setting path containing an ampersandBrian White
This commit fixes an issue with the Node.js command prompt on Windows where the PATH environment variable would not be set correctly if the existing PATH contained an '&'. Fixes: https://github.com/nodejs/node/issues/4802 PR-URL: https://github.com/nodejs/node/pull/4804 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2015-09-10win,msi: fix documentation shortcut urlBrian White
Fixes: https://github.com/nodejs/node/issues/2779 PR-URL: https://github.com/nodejs/node/pull/2781 Reviewed-By: Rod Vagg <rod@vagg.org>
2015-09-07build: make .msi install to "nodejs", not "node"Rod Vagg
PR-URL: https://github.com/nodejs/node/pull/2701 Reviewed-By: Joao Reis <reis@janeasystems.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-08-28win,msi: correct installation path registry keysJoão Reis
This is a port of 14db629497d0eb97a5f0fbb70cf3e534e460deec. Original commit message: Since install is per machine only, installation path should be stored in local machine instead of current user. The registry stores HKLM in different places for 32 and 64 bit applications, so the installer will not suggest the old path when upgrading from 32 to 64 bit version. Fixes joyent/node#5592 Fixes joyent/node#25087 PR-URL: https://github.com/joyent/node/pull/25640 Reviewed-By: Alexis Campailla <alexis@janeasystems.com> Reviewed-By: Bert Belder <bertbelder@gmail.com> PR-URL: https://github.com/nodejs/node/pull/2565 Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-28win,msi: change InstallScope to perMachineJoão Reis
This is an adaptation of 8e80528453aca0354422162e09c7c9f4700ddb1e. Original commit message: The MSI install scope was set to the WiX default, which is per-user. However, with UAC, it could not be installed by a standard user because InstallPrivileges is elevated by default, hence the install scope should be set to per-machine. Furthermore, the default install path is a per-machine location and setting the system path requires administrator privileges. By changing the InstallScope to perMachine, Start Menu shortcuts are placed in ProgramData and not the installing user's AppData folder, making the shortcuts available to other users. This also fixes the installation when AppData is a network folder. The custom action is necessary to allow upgrades. Since a per-machine MSI cannot upgrade an application installed per-user, the custom action checks if there is going to be an upgrade to a previous version installed per-user and sets the installation as per-user to allow upgrading. Hence, the advantages of installing per-machine will only apply in fresh installations. Fixes joyent/node#5849 Fixes joyent/node#7629 PR-URL: https://github.com/joyent/node/pull/25640 Reviewed-By: Alexis Campailla <alexis@janeasystems.com> Reviewed-By: Bert Belder <bertbelder@gmail.com> The original commit was adapted to search all upgrade codes listed in the upgrade table, as the current installer tries to upgrade from two different upgrade codes. PR-URL: https://github.com/nodejs/node/pull/2565 Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-25win,msi: Upgrade from old upgrade codeJoão Reis
This enables the MSI to upgrade old Node.js versions and early versions of io.js before the upgrade code was changed. This also reverts 24def662936ae8c15770ede0344cd7a7402a63ef. PR-URL: https://github.com/nodejs/node/pull/2439 Reviewed-By: Rod Vagg <rod@vagg.org>
2015-08-24win: fix custom actions for WiX older than 3.9João Reis
This is a port of joyent/node@e192f61514cd1500de895cb10128d412f842d7d0 . Original commit message: Older WiX versions included a header with extern "C" declaration, hence the custom action source must be C++. Reviewed-By: João Reis <reis@janeasystems.com> PR-URL: https://github.com/joyent/node/pull/25569 PR-URL: https://github.com/nodejs/node/pull/2365 Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-24win: fix custom actions on Visual Studio != 2013Julien Gilli
This is a port of joyent/node@16bcd68dc5f449c331499ced22aa626dbb2cdefc . Original commit message: The original change that added support for running custom actions during the install process (joyent/node@e7c84f82c730bddb7450dc56065aab11b93ffd30) assumed that Visual Studio 2013 is used to generate the installer file. However, that is not always the case, and older versions of Visual Studio should allow users to generate Windows installer files. This change makes the custom actions visual studio project use the visual studio version that is found by vcbuild.bat. Reviewed-By: João Reis <reis@janeasystems.com> PR-URL: https://github.com/joyent/node/pull/25569 PR-URL: https://github.com/nodejs/node/pull/2365 Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-23installer: fix installers for node.js renameFrederic Hemberger
This commit completes the io.js to Node.js rename in the Windows installer. Fixes: https://github.com/nodejs/node/issues/2418 PR-URL: https://github.com/nodejs/node/pull/2367 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-23node: rename from io.js to nodecjihrig
This commit replaces instances of io.js with Node.js, based on the recent convergence. There are some remaining instances of io.js, related to build and the installer. Fixes: https://github.com/nodejs/node/issues/2361 PR-URL: https://github.com/nodejs/node/pull/2367 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>