summaryrefslogtreecommitdiff
path: root/tools/gyp/pylib/gyp/generator
AgeCommit message (Collapse)Author
2019-09-05tools: fix GYP ninja generator for Python 3Michaël Zasso
PR-URL: https://github.com/nodejs/node/pull/29416 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-09-03gyp: make StringIO work in ninja.pyChristian Clauss
Allow both Python 2 and 3 to access StringIO. This fixes `./configure --ninja`, which was broken by https://github.com/nodejs/node/pull/29371. See: https://github.com/nodejs/node/pull/29371#issuecomment-527331969 PR-URL: https://github.com/nodejs/node/pull/29414 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
2019-09-02tools: use 'from io import StringIO' in ninja.pycclauss
PR-URL: https://github.com/nodejs/node/pull/29371 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-08-22gyp: remove semicolons (Python != JavaScript)MattIPv4
PR-URL: https://github.com/nodejs/node/pull/29228 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2019-08-21tools: fix Python 3 issues in gyp/generator/make.pycclauss
PR-URL: https://github.com/nodejs/node/pull/29214 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2019-07-16gyp: cherrypick more Python3 changes from node-gypcclauss
PR-URL: https://github.com/nodejs/node/pull/28563 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-07-11gyp: pull Python 3 changes from node/node-gypcclauss
PR-URL: https://github.com/nodejs/node/pull/28573 Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2019-04-11build,win: teach GYP MSVS generator about MARMASMJon Kunkee
The toolchain for ARM64 Windows includes support for assembly code, but with a very different syntax from MASM and NASM. This change teaches GYP how to emit the right XML tags in VCXPROJ files to support compiling assembly files with the new tool. PR-URL: https://github.com/nodejs/node/pull/26020 Refs: https://github.com/nodejs/node/issues/25998 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-11-29build, tools, win: add .S files support to GYPBartosz Sosnowski
Makes GYP properly handle .S files. Fixes: https://github.com/nodejs/node-v8/issues/89 PR-URL: https://github.com/nodejs/node/pull/24553 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-10-04Revert "tools,gyp: don't force build actions with multiple outputs"Sakthipriyan Vairamani (thefourtheye)
This reverts commit 5d8373a498a50b1387464391402ef22636439303. Fixes: https://github.com/nodejs/node/issues/23255 PR-URL: https://github.com/nodejs/node/pull/23257 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-10-02tools,gyp: don't force build actions with multiple outputsRefael Ackermann
Don't add `force_append` (FORCE_DO_CMD) to the intermediate sentinal. Adding it makes the action run alway, even when there are no changes. (refack): AFAICT because `*.intermediate` files don't have build rules. PR-URL: https://github.com/nodejs/node/pull/23156 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2018-10-02tools,gyp: cosmetic change to GYP `make` generator outputsRefael Ackermann
Puts the compilation target upfront for easy reading. PR-URL: https://github.com/nodejs/node/pull/23156 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
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-01-25Revert "tools: teach gyp to write an 'all deps' rule"Rod Vagg
This reverts commit 920c13203df434278eb7c34a485e89734a5fa62a. Reverted along with d9b59def7 as this breaks compilation from downloadable source tarballs. Ref: https://github.com/nodejs/node/pull/17407 PR-URL: https://github.com/nodejs/node/pull/18287 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-01-21tools: teach gyp to write an 'all deps' ruleBen Noordhuis
Make GYP write a .deps file in the top-level directory that we can use in the Makefile to get a proper dependency chain for the `node` target. Preparatory work for getting rid of recursive make invocations. PR-URL: https://github.com/nodejs/node/pull/17407 Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2017-08-23gyp: implement LD/LDXX for ninja and FIPSSam Roberts
The ability to set the link rule is used for FIPS, and needs to set both the `ld =` and `ldxx =` variables in the ninja build file to link c++ (node) and c (openssl-cli, etc.) executables. URL: https://github.com/nodejs/node/pull/14227 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
2017-08-23gyp: fix ninja build failure (GYP patch)Daniel Bevenius
Currently the files specified in libraries in node.gyp `cctest` target are getting a '.lib' extension on windows when generated with ninja. This commit adds a check to see if a file has a '.obj' extension and in that case no '.lib' extension will be added. Also, the LIBS specified in the 'libraries' section are not being included in the --start-group --end-group section which means that these libraries will not be searched causing issue with linkers where the order matters. PR-URL: https://github.com/nodejs/node/pull/12484 Fixes: https://github.com/nodejs/node/issues/12448 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2017-08-23gyp: enable cctest to use objects (gyp part)Daniel Bevenius
this is a re-base of the gyp part of 6a09a69ec9d36b705e9bde2ac1a193566a702d96 after bumping GYP version to https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161 Original-PR-URL: https://github.com/nodejs/node/pull/11956 Original-Ref: https://github.com/nodejs/node/pull/9163 Original-Reviewed-By: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/12450 Reviewed-By: João Reis <reis@janeasystems.com>
2017-08-23gyp: add compile_commands.json gyp generatorBen Noordhuis
this is a re-base of the gyp part of 3c46bb9931ecea71167342322e09121ee48cde8e after bumping GYP version to https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161 Original-Review-By: James M Snell <jasnell@gmail.com> Ref: https://github.com/nodejs/node/pull/7986 PR-URL: https://github.com/nodejs/node/pull/12450 Reviewed-By: João Reis <reis@janeasystems.com>
2017-08-23gyp: inherit parent for `*.host`Johan Bergström
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not suitable for environments that only uses the clang toolchain. Since we already assume that the user will provide clang/clang++ through CC/CXX, lean against it (then drop to gcc/g++). Also apply the same logic for link/ar for consistency although it doesn't affect us. PR-URL: https://github.com/nodejs/node/pull/6173 Fixes: https://github.com/nodejs/node/issues/6152 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-08-23tools: update GYP to 324dd166Refael Ackermann
PR-URL: https://github.com/nodejs/node/pull/14718 Refs: https://chromium.googlesource.com/external/gyp/+/324dd166b7c0b39d513026fa52d6280ac6d56770 Refs: https://github.com/refack/GYP/commit/324dd166b7c0b39d513026fa52d6280ac6d56770 Reviewed-By: James M Snell <jasnell@gmail.com>
2017-07-17gyp: implement LD/LDXX for ninja and FIPSSam Roberts
The ability to set the link rule is used for FIPS, and needs to set both the `ld =` and `ldxx =` variables in the ninja build file to link c++ (node) and c (openssl-cli, etc.) executables. URL: https://github.com/nodejs/node/pull/14227 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
2017-05-11build: fix ninja build failure (GYP patch)Daniel Bevenius
Currently the files specified in libraries in node.gyp `cctest` target are getting a '.lib' extension on windows when generated with ninja. This commit adds a check to see if a file has a '.obj' extension and in that case no '.lib' extension will be added. Also, the LIBS specified in the 'libraries' section are not being included in the --start-group --end-group section which means that these libraries will not be searched causing issue with linkers where the order matters. PR-URL: https://github.com/nodejs/node/pull/12484 Fixes: https://github.com/nodejs/node/issues/12448 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2017-04-18build: enable cctest to use objects (gyp part)Daniel Bevenius
this is a re-base of the gyp part of 6a09a69ec9d36b705e9bde2ac1a193566a702d96 after bumping GYP version to https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161 Original-PR-URL: https://github.com/nodejs/node/pull/11956 Original-Ref: https://github.com/nodejs/node/pull/9163 Original-Reviewed-By: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/12450 Reviewed-By: João Reis <reis@janeasystems.com>
2017-04-18tools: add compile_commands.json gyp generatorBen Noordhuis
this is a re-base of the gyp part of 3c46bb9931ecea71167342322e09121ee48cde8e after bumping GYP version to https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161 Original-Review-By: James M Snell <jasnell@gmail.com> Ref: https://github.com/nodejs/node/pull/7986 PR-URL: https://github.com/nodejs/node/pull/12450 Reviewed-By: João Reis <reis@janeasystems.com>
2017-04-18gyp: inherit parent for `*.host`Johan Bergström
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not suitable for environments that only uses the clang toolchain. Since we already assume that the user will provide clang/clang++ through CC/CXX, lean against it (then drop to gcc/g++). Also apply the same logic for link/ar for consistency although it doesn't affect us. PR-URL: https://github.com/nodejs/node/pull/6173 Fixes: https://github.com/nodejs/node/issues/6152 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-04-18tools: update gyp to eb296f6Refael Ackermann
* [win] Add support for MS VS2017 (via Registry) REF: https://chromium.googlesource.com/external/gyp/+/eb296f67da078ec01f5e3a9ea9cdc6d26d680161 PR-URL: https://github.com/nodejs/node/pull/12450 Reviewed-By: João Reis <reis@janeasystems.com>
2017-03-24build: enable cctest to use generated objectsDaniel Bevenius
This commit tries to make it simpler to add unit tests (cctest) for code that needs to test node core funtionality but that might not be appropriate as an addon or a JavaScript test. An example of this could be adding functionality targeted for situations when Node itself is embedded. Currently it was not as easy, or efficient, as one would have hoped to add such tests. The object output directories vary for different operating systems which we need to link to so that we don't have an additional compilation step. PR-URL: https://github.com/nodejs/node/pull/11956 Ref: https://github.com/nodejs/node/pull/9163 Reviewed-By: James M Snell <jasnell@gmail.com>
2017-02-09tools: add compile_commands.json gyp generatorBen Noordhuis
Add a compile_commands.json generator for use with clang-based tooling. Pass the (undocumented) -C switch to configure to make it generate the files in out/Debug and out/Release. PR-URL: https://github.com/nodejs/node/pull/7986 Reviewed-By: James M Snell <jasnell@gmail.com>
2016-11-22deps: backport GYP fix to fix AIX shared suffixStewart Addison
Required to support the shared library builds on AIX - this sets the shared library suffix within GYP to .a instead of .so on AIX My patch: https://codereview.chromium.org/2492233002/ was landed as as part of this one which fixed some other (not required, but included for completeness of the backport) changes: Ref: https://codereview.chromium.org/2511733005/
2016-08-08deps: float gyp patch for long filenamesAnna Henningsen
Pulling in https://codereview.chromium.org/2019133002/ in its current state, as gyp seems to be largely abandoned as a project. Original commit message: Hash intermediate file name to avoid ENAMETOOLONG Hash the intermediate Makefile target used for multi-output rules so that it still works when the involved file names are very long. Since the intermediate file's name is effectively arbitrary, this does not come with notable behavioural changes. The `import hashlib` boilerplate is taken directly from `xcodeproj_file.py`. Concretely, this makes the V8 inspector build currently fail when long pathnames are involved, notably when using ecryptfs which has a lower file name length limit. Fixes: https://github.com/nodejs/node/issues/7959 Ref: https://github.com/nodejs/node/issues/7510 PR-URL: https://github.com/nodejs/node/pull/7963 Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2016-04-24gyp: inherit parent for `*.host`Johan Bergström
Gyp defaults to gcc/g++ if CC.host/CXX.host is unset. This is not suitable for environments that only uses the clang toolchain. Since we already assume that the user will provide clang/clang++ through CC/CXX, lean against it (then drop to gcc/g++). Also apply the same logic for link/ar for consistency although it doesn't affect us. PR-URL: https://github.com/nodejs/node/pull/6173 Fixes: https://github.com/nodejs/node/issues/6152 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-10-30tools: update gyp to b3cef02Imran Iqbal
Includes two patches for AIX. Adds support for both 32-bit and 64-bit files[0] and uses -RPf for cp instead of -af (which is unsupported)[1] [0] https://codereview.chromium.org/1319663007 [1] https://codereview.chromium.org/1368133002 PR-URL: https://github.com/nodejs/node/pull/3487 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-06-30tools: update gyp to 25ed9acBen Noordhuis
Includes improved support for VS 2015[0] and makes it possible to build with ninja again[1]. [0] https://codereview.chromium.org/1112753003 [1] https://codereview.chromium.org/1209553002 Fixes: https://github.com/nodejs/io.js/pull/2065 PR-URL: https://github.com/nodejs/io.js/pull/2074 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-04deps: update gyp to e1c8fcf7Shigeki Ohtsu
PR-URL: https://github.com/iojs/io.js/pull/1325 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2014-01-13deps: update gyp to 1eae492bFedor Indutny
2013-12-30deps: update gyp to 828ce09Fedor Indutny
2013-12-11gyp: update to 78b26f7Timothy J Fontaine
2013-11-10gyp: update to bebdceaTimothy J Fontaine
2013-03-24tools: update gyp to r1601Ben Noordhuis
Among other things, this should make it easier for people to build node.js on openbsd.
2012-11-20tools: update gyp to r1535Ben Noordhuis
This commit contains one additional patch that makes gyp work on DragonFlyBSD, see https://codereview.chromium.org/11348152/ for details.
2012-08-22Upgrade GYP to r1477Ryan Dahl
2012-07-03tools: update gyp to r1426Ben Noordhuis
2012-04-11gyp: Apply 'argument too long' fix in another placeisaacs
For some reason, aa5961a445acbd2b533ef870eb19733be7b7ede5 caused 'make test' to rebuild the entire project every time. Applying the fix to the other place where gyp chops up the argument list makes it behave properly.
2012-04-12gyp: fix 'argument list too long' build errorBen Noordhuis
2012-02-20gyp: update to r1214Ben Noordhuis
2011-12-21Upgrade GYP to r1115Ryan Dahl
2011-12-16Upgrade GYP to r1107Ryan Dahl
2011-12-03gyp: upgrade to r1103Ben Noordhuis
2011-11-17build: fix gyp xcode project generatorPaddy Byers
Only attempt to generate FrameworkPhase output for code targets.