summaryrefslogtreecommitdiff
path: root/vcbuild.bat
AgeCommit message (Collapse)Author
2017-04-03n-api: add support for abi stable module APIJason Ginchereau
Add support for abi stable module API (N-API) as "Experimental feature". The goal of this API is to provide a stable Node API for native module developers. N-API aims to provide ABI compatibility guarantees across different Node versions and also across different Node VMs - allowing N-API enabled native modules to just work across different versions and flavors of Node.js without recompilation. A more detailed introduction is provided in: https://github.com/nodejs/node-eps/blob/master/005-ABI-Stable-Module-API.md and https://github.com/nodejs/abi-stable-node/blob/doc/VM%20Summit.pdf. The feature, during its experimental state, will be guarded by a runtime flag "--napi-modules". Only when this flag is added to the command line will N-API modules along with regular non N-API modules be supported. The API is defined by the methods in "src/node_api.h" and "src/node_api_types.h". This is the best starting point to review the API surface. More documentation will follow. In addition to the implementation of the API using V8, which is included in this PR, the API has also been validated against chakracore and that port is available in https://github.com/nodejs/abi-stable-node/tree/api-prototype-chakracore-8.x. The current plan is to provide N-API support in versions 8.X and 6.X directly. For older versions, such as 4.X or pre N-API versions of 6.X, we plan to create an external npm module to provide a migration path that will allow modules targeting older Node.js versions to use the API, albeit without getting the advantage of not having to recompile. In addition, we also plan an external npm package with C++ sugar to simplify the use of the API. The sugar will be in-line only and will only use the exported N-API methods but is not part of the N-API itself. The current version is in: https://github.com/nodejs/node-api. This PR is a result of work in the abi-stable-node repo: https://github.com/nodejs/abi-stable-node/tree/doc, with this PR being the cumulative work on the api-prototype-8.x branch with the following contributors in alphabetical order: Author: Arunesh Chandra <arunesh.chandra@microsoft.com> Author: Gabriel Schulhof <gabriel.schulhof@intel.com> Author: Hitesh Kanwathirtha <hiteshk@microsoft.com> Author: Ian Halliday <ianhall@microsoft.com> Author: Jason Ginchereau <jasongin@microsoft.com> Author: Michael Dawson <michael_dawson@ca.ibm.com> Author: Sampson Gao <sampsong@ca.ibm.com> Author: Taylor Woll <taylor.woll@microsoft.com> PR-URL: https://github.com/nodejs/node/pull/11975 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-24build: add lint option to vcbuild.bat helpMorgan Brenner
PR-URL: https://github.com/nodejs/node/pull/11992 Fixes: https://github.com/nodejs/node/issues/11971 Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-03-17build: add cpp linting to windows buildliusi
This PR adds cpp linting to windows build script. After this change, running command `vcbuild lint` will run both cpp linting and javascript linting on a windows machine. PR-URL: https://github.com/nodejs/node/pull/11856 Fixes: https://github.com/nodejs/node/issues/11816 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-02-28build: build an x64 build by default on WindowsNikolai Vavilov
PR-URL: https://github.com/nodejs/node/pull/11537 Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-02-13build: add node-inspect integration testJan Krems
This just adds an additional make target (`make test-node-inspect`) but will not include the new debugger in releases. PR-URL: https://github.com/nodejs/node/pull/10187 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
2017-02-11test: remove dependency on node-weakBen Noordhuis
Replace node-weak with a small hand-rolled add-on. We can now drop node-weak and nan, reducing the size of the source tree by about 750 kB and the size of the tarball by about 150-300 kB. PR-URL: https://github.com/nodejs/node/pull/11239 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2017-02-03build: notify about the redundancy of "nosign"Nikolai Vavilov
vcbuild doesn't sign by default since 92ed1ab45059e3c822dc661a4917bb5232707315, but there might be people who haven't noticed the change. This adds a message informing them that "nosign" is no longer necessary. PR-URL: https://github.com/nodejs/node/pull/11119 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2016-12-18build: change nosign flag to sign and flips logicJoe Doyle
Makes the default build on Windows not try to sign the node.exe binary after a build. Instead the 'sign' flag now indicates that the binary should be signed. The 'nosign' flag is left as a noop. Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com> PR-URL: https://github.com/nodejs/node/pull/10156
2016-11-09test: move tick-processor tests to own directoryRich Trott
The tick-processor tests are inherently non-deterministic. They therefore have false negatives from time to time. They also sometimes leave extra processes running. Move them to their own directory until these issues are sorted. Note that this means that the tests will not be run in CI. Like the inspector tests and other tests, they will have to be run manually when they are wanted. PR-URL: https://github.com/nodejs/node/pull/9506 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Matthew Loring <mattloring@google.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2016-10-19win,build: try multiple timeservers when signingRod Vagg
PR-URL: https://github.com/nodejs/node/pull/9155 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: João Reis <reis@janeasystems.com>
2016-10-07win,tools: ignore linting for line breaksJoão Reis
Line breaks on Windows should be CRLF, but Node also supports LF. Hence, do not check line breaks on Windows, when running vcbuild jslint. Fixes: https://github.com/nodejs/node/issues/6912 PR-URL: https://github.com/nodejs/node/pull/8785 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-10-03build: run cctests as part of test-ci targetBen Noordhuis
Enable the cctests on the CI now that they know how to write TAP output. PR-URL: https://github.com/nodejs/node/pull/8034 Reviewed-By: James M Snell <jasnell@gmail.com>
2016-09-23build: remove VS 2013 switch from vcbuild.batBen Noordhuis
Support for Visual Studio 2013 has officially been dropped, remove the build option for that compiler. PR-URL: https://github.com/nodejs/node/pull/8067 Refs: https://github.com/nodejs/node/issues/7484 Refs: https://github.com/nodejs/node/pull/8049 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joao Reis <reis@janeasystems.com>
2016-09-19inspector: introduce a smoke testEugene Ostroukhov
This test executes a simple debug session over the inspector protocol. PR-URL: https://github.com/nodejs/node/pull/8429 Reviewed-By: ofrobots - Ali Ijaz Sheikh <ofrobots@google.com>
2016-09-09win,build: forward release_urlbase to configureJoão Reis
The RELEASE_URLBASE environment variable is used in releases as a prefix for links in the process.release object. The Makefile picks it and forwards it to configure, but vcbuild.bat did not. Hence, in Windows, Node releases have a correct process.release because it uses the default URL, but nightlies, RCs and so on do not, breaking node-gyp. This enables native modules to be built with such versions of Node. PR-URL: https://github.com/nodejs/node/pull/8430 Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
2016-09-08win,build: exit when addons fail to buildJoão Reis
PR-URL: https://github.com/nodejs/node/pull/8412 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-09-08win,build: skip finding VS when not neededJoão Reis
PR-URL: https://github.com/nodejs/node/pull/8412 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-09-08win,build: fail on invalid option in vcbuildJoão Reis
PR-URL: https://github.com/nodejs/node/pull/8412 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-08-30tools: enable caching for jslint taskRich Trott
PR-URL: https://github.com/nodejs/node/pull/8296 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
2016-08-25build: add missing files to zip and 7z packagesRichard Lau
Add nodevars.bat, node_etw_provider.man and node_perfctr_provider.man to the zip and 7z packages. PR-URL: https://github.com/nodejs/node/pull/8069 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: joaocgreis - João Reis <reis@janeasystems.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2016-08-18build: do not lint src dir for JS errorsRich Trott
There are no JavaScript files in the `src` directory. It can be safely omitted from the JavaScript linting step. PR-URL: https://github.com/nodejs/node/pull/8128 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-08-09tools: update to ESLint 3.2.2Rich Trott
PR-URL: https://github.com/nodejs/node/pull/7999 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-08-05build: windows sharedlib supportStefan Budeanu
Added "dll" option to vcbuild.bat Insure that Unix SO name is not used on Windows (i.e. produce a .dll file) Insure that Node and its V8 dependency link against the Visual C++ Runtime dynamically. Requires backported V8 patch, see PR 7802. Ref: https://github.com/nodejs/node/pull/7802 PR-URL: https://github.com/nodejs/node/pull/7487 Reviewed-By: Alexis Campailla <alexis@janeasystems.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2016-07-13tools: increase lint coverageRich Trott
Extend linting to tools/license2rtf.js and any other JS that gets added to the `tools` directory by default. This incidentally simplifies lint invocation. PR-URL: https://github.com/nodejs/node/pull/7647 Reviewed-By: Michaël Zasso <mic.besace@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
2016-05-31win,build: add creation of zip and 7z packageBartosz Sosnowski
Add a step in vcbuild.bat to create a minimal package including node and npm that can be used as an alternative to the MSI. Compress the node.pdb file as zip and 7z. All files are uploaded as part of build-release. Reviewed-By: Joao Reis <reis@janeasystems.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Alexis Campailla <orangemocha@nodejs.org> PR-URL: https://github.com/nodejs/node/pull/5995 Fixes: https://github.com/nodejs/build/issues/299 Fixes: https://github.com/nodejs/node/issues/5696
2016-05-06test: run known_issues tests in CIRich Trott
Add `known_issues` tests to `make test` and `make test-ci` targets and their equivalents on Windows. PR-URL: https://github.com/nodejs/node/pull/6559 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-04tools: Check in tools for shrinking ICU size, change default to small-icuSteven R. Loomis
* Change configure default to "small-icu" (Intl on, English only) * add "--without-intl" and "vcbuild without-intl" options, equivalent to --with-intl=none * update BUILDING.md with above changes * Checks in tools that generate the deps/icu-small source directory from ICU source * Tools and process for updating ICU documented in tools/icu/README.md Fixes: https://github.com/nodejs/node/issues/3476 PR-URL: https://github.com/nodejs/node/pull/6088 Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-29tools: add tests for the doctoolIan Kronquist
* Test the toHTML function in html.js. Check that given valid markdown it produces the expected html. One test case will prevent regressions of #5873. * Check that when given valid markdown toJSON produces valid JSON with the expected schema. * Add doctool to the list of built in tests so it runs in CI. PR-URL: https://github.com/nodejs/node/pull/6031 Fixes: https://github.com/nodejs/node/issues/5955 Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-04-15tools: improve js linterBrian White
This commit switches from the eslint command-line tool to a custom tool that uses eslint programmatically in order to perform linting in parallel and to display linting results incrementally instead of buffering them until the end. Fixes: https://github.com/nodejs/node/issues/5596 PR-URL: https://github.com/nodejs/node/pull/5638 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-03-29win,build: build and test add-ons on test-ciBogdan Lobor
Added build-addons task, it allows to build and test native addons during test-ci task. Basically it should work in same way like Makefile "build-addons" task. Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: João Reis <reis@janeasystems.com> PR-URL: https://github.com/nodejs/node/pull/5886 Fixes: https://github.com/nodejs/node/issues/2537
2016-03-16build: remove lint/dotfiles from release tarballJohan Bergström
This removes the ability to run linting from the source tarball, rationale being that developers should use a git clone instead. Also, fix the path of removing artifacts from the openssl dependency since it now lives in `deps/openssl/openssl/`. Tarballs shrink with ~10%. PR-URL: https://github.com/nodejs/node/pull/5695 Fixes: https://github.com/nodejs/node/issues/5618 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: thefourtheye <thechargingvolcano@gmail.com> Reviewed-By: James Snell <jasnell@gmail.com>
2016-03-11win,build: support Visual C++ Build Tools 2015João Reis
Invoke MSBuild specifying the target platform as generated by Gyp. Reviewed-By: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/5627
2016-03-04tools: support testing known issuescjihrig
This commit adds a known_issues directory to the test directory for scripts that reproduce known bugs. Since these scripts are expected to fail, it also adds a --expect-fail flag to test.py which reports tests as successful when they fail. Refs: https://github.com/nodejs/testing/issues/18 PR-URL: https://github.com/nodejs/node/pull/5528 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Wyatt Preul <wpreul@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-03-03tools: enable linting for benchmarksRich Trott
PR-URL: https://github.com/nodejs/node/pull/5517 Reviewed-By: Brian White <mscdex@mscdex.net> Reviewed-By: Michaël Zasso <mic.besace@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-03-02build: remove --quiet from eslint invocationfiredfox
All eslint rules are configured to report as errors. Remove useless --quiet flag from eslint invocation in Makefile and vcbuild.bat. PR-URL: https://github.com/nodejs/node/pull/5519 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <mic.besace@gmail.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
2016-02-16build: skip msi build if WiX is not foundTsarevich Dmitry
If none of VS2013/VS2015 WiX installs are found on a builder machine, skip node build and notify user about. PR-URL: https://github.com/nodejs/node/pull/5220 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2016-02-01tools: apply linting to doc toolsRich Trott
Apply eslint rules to `tools/doc`. PR-URL: https://github.com/nodejs/node/pull/4973 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-14build: add option to select VS versionjulien.waechter
This changes vcbuild.bat to accept a new parameter (vc2015 or vc2013) to select the version of Visual Studio to use. PR-URL: https://github.com/nodejs/node/pull/4645 Reviewed-By: João Reis <reis@janeasystems.com>
2016-01-13tools: update eslint configMichaël Zasso
The no-reserved-keys rule doesn't exist anymore and we don't need ES3 compatibility. escape and unescape are now known by eslint. --reset flag was removed and it is now the default behavior. PR-URL: https://github.com/nodejs/io.js/pull/2286 Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-13build: fix and refactor VTune config in vcbuild.batRod Vagg
PR-URL: https://github.com/nodejs/node/pull/4192 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
2015-12-08src: refactor vcbuild configure args creationRod Vagg
remove a bunch of variables and rely on %configure_flags% where possible, also allow for an external %config_flags% variable to supply additional arguments to configure to match the behaviour of the Makefile PR-URL: https://github.com/nodejs/node/pull/3399 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: João Reis <reis@janeasystems.com>
2015-11-30build: update signtool description, add urlRod Vagg
PR-URL: https://github.com/nodejs/node/pull/4011 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
2015-11-25build,src: add Intel Vtune profiling supportChunyang Dai
This feature supports the Intel Vtune profiling support for JITted JavaScript on IA32 / X64 / X32 platform. The advantage of this profiling is that the user / developer of NodeJS application can get the detailed profiling information for every line of the JavaScript source code. This information will be very useful for the owner to optimize their applications. This feature is a compile-time option. For windows platform, the user needs to pass the following parameter to vcbuild.bat: "enable-vtune" For other OS, the user needs to pass the following parameter to ./configure command: "--enable-vtune-profiling" PR-URL: https://github.com/nodejs/node/pull/3785 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-10-08build: Intl: deps: bump ICU to 56.1 (GA)Steven R. Loomis
* ICU 56 was just released yesterday. Update to it. * Notable changes: Unicode 8, CLDR 28, 2-3x number format perf, 20% improvement in Collator startup * more at http://site.icu-project.org/download/56 or in #2917 Also: * cleanup out/**/*.d and deps/icu on "make clean" * cleanup deps/icu on "vcbuild clean" When building from an non-clean directory, it's important to run `make clean` or `vcbuild clean` to remove the existing ICU 55 from the deps path before building. Fixes: https://github.com/nodejs/node/issues/2917 PR-URL: https://github.com/nodejs/node/pull/3281 Reviewed-By: James M Snell <jasnell@gmail.com>
2015-10-06tools: apply linting to custom rules codeRich Trott
Apply our eslint rules to the code for our custom eslint rules. Eslint Inception! Maybe. I never saw that movie... PR-URL: https://github.com/nodejs/node/pull/3195 Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Roman Reiss <me@silverwind.io>
2015-09-08build: remote commands on staging in single sessionRod Vagg
PR-URL: https://github.com/nodejs/node/pull/2717 Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-09-02build: fix borked chmod call for release uploadsRod Vagg
PR-URL: https://github.com/nodejs/node/pull/2645 Reviewed-By: thefourtheye - Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-09-01build: set file permissions before uploadingRod Vagg
PR-URL: https://github.com/nodejs/node/pull/2623 Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
2015-09-01build: change staging directory on new serverRod Vagg
new server has "nodejs" and "iojs" directories, upload to the appropriate one PR-URL: https://github.com/nodejs/node/pull/2623 Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
2015-09-01build: fix bad cherry-pick for vcbuild.bat build-releaseRod Vagg
PR-URL: https://github.com/nodejs/node/pull/2625 Reviewed-By: orangemocha - Alexis Campailla <orangemocha@nodejs.org> Reviewed-By: joaocgreis - João Reis <reis@janeasystems.com>