It isn't possible to access
`tools/gyp/pylib/gyp/generator/compile_commands_json.py` using the
`--format` option.
This commit moves the file in a place where it can be accessed.
Fixes: https://github.com/nodejs/node-gyp/issues/1526
PR-URL: https://github.com/nodejs/node-gyp/pull/1661
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Signed-off-by: Paul Maréchal <paul.marechal@ericsson.com>
* assertEquals() with assertEqual()
* iteritems() with items() for Python 3.
* xrange() with range() for Python 3.
https://github.com/nodejs/node-gyp/pull/1150
Reviewed-By: Refael Ackermann <refack@gmail.com>
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>
Previously running ./configure with only the Xcode Command Line Tools
installed would give:
xcrun: error: unable to lookup item 'PlatformPath' from command line tools installation
xcrun: error: unable to lookup item 'PlatformPath' in SDK '/'
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
Fixes: https://github.com/nodejs/node/issues/12531
PR-URL: https://github.com/nodejs/node/pull/21520
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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>
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>
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:
PR-URL: https://github.com/nodejs/node/pull9675
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Ref: https://codereview.chromium.org/2511733005/
GYP automatically turns variables ending in _dir, _file or _path into
absolute paths but didn't check for empty strings.
It interacted badly with variables inherited through the environment
from npm, the `scripts-prepend-node-path=false` setting in particular
because it is turned into `npm_config_script_prepend_node_path=`.
Fixes: https://github.com/nodejs/node-gyp/issues/1217
PR-URL: https://github.com/nodejs/node-gyp/pull/1267
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Initial work to add z/OS support to node-gyp.
PR-URL: https://github.com/nodejs/node-gyp/pull/1276
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
* Support building node.js with chakracore on Windows on ARM
* Building chakracore for ARM has a dependency on Windows SDK installed
on the machine. Update python script to populate
`WindowsSDKDesktopARMSupport` and `WindowsTargetPlatformVersion` for
ARM builds. This will be using in node repo to build`chakracore.gyp`.
PR-URL: https://github.com/nodejs/node-gyp/pull/873
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Microsoft's chakracore engine is dependent on Windows SDK, and build
tools should know the version installed on user machine. This change
adds those dependencies in node-gyp tools. Below is the summary:
* Configure msvs_windows_target_platform_version to use the right
Windows SDK.
* Configure msvs_use_library_dependency_inputs to export symbols
correctly (otherwise functions not used by node.exe but might be
needed by native addon modules could be optimized away by linker).
These changes were originally made in nodejs/node#4765, but as @shigeki
mentioned, it was more sensible to send these changes as PR to node-gyp
repo.
PR-URL: https://github.com/nodejs/node-gyp/pull/873
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
On Windows this bit is not meaningful, on Posix systems such files
should not be executable.
PR-URL: https://github.com/nodejs/node-gyp/pull/969
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ingvar Stepanyan <me@rreverser.com>
When generating Android.mk files for HOST binaries, we need to specify
the LOCAL_CXX_STL to use when linking.
Also, set the variable GYP_HOST_MULTILIB to 'first'. This is used as
LOCAL_MULTILIB, and since we don't provide flags for both types of
builds (32-bit and 64-bit), the build system will try to build both and
fail.
More details about LOCAL_MULTILIB can be found here:
https://source.android.com/source/64-bit-builds.html
Signed-off-by: Robert Chiras <robert.chiras@intel.com>
PR-URL: https://github.com/nodejs/node-gyp/pull/935
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
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++).
PR-URL: https://github.com/nodejs/node-gyp/pull/908
Refs: https://github.com/nodejs/node/pull/6173
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
When generating Android .mk files, ready to be used within Android build
system, we don't need LOCAL_SDK_VERSION specified, since the Android
build system already uses the latest one.
By specifying LOCAL_SDK_VERSION in Android makefiles, the build using
Android build system will fail, because the build system won't set the
path to stlport from prebuilts.
Signed-off-by: Robert Chiras <robert.chiras@intel.com>
PR-URL: https://github.com/nodejs/node-gyp/pull/889
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Squashed commit of the following:
commit 9f3a1b2ce62d2a703675b5474797583209602f7d
Author: João Henriques <joaoh88@gmail.com>
Date: Tue Dec 17 21:14:18 2013 +0000
Update easy_xml.py
Better handling of encoding
commit a8b49423f7b477f7b9b363c69886150d9b83acc5
Author: João Henriques <joaoh88@gmail.com>
Date: Thu Dec 12 04:09:38 2013 +0000
Quick and dirty fix to allow WriteXmlIfChanged to write xml in utf-8, converting latin-1 directory paths.
Closes#366.
Closes#554.
Fixes#297.
Fixes#404.
Fixes#476.
OS X systems running only the Command Line Tools for Xcode package,
without the full Xcode, don't have a functioning xcodebuild, but this
isn't mandatory for building many gyp projects (e.g. node.js, v8).
This commit handles xcodebuild failures and avoids populating
Xcode-specific CFLAGS/LDFLAGS when xcodebuild can't be run.
This has been tested on both Xcode and CLT-only systems by successfully
building node.js. The behaviour can be simulated on systems with Xcode
by setting the xcode-select path to something nonsensical, e.g.
xcode-select -switch /usr/bin
BUG=https://code.google.com/p/gyp/issues/detail?id=292
Review URL: https://codereview.chromium.org/102733012/
Patch from mistydemeo@gmail.com!
This was a manual cherry-pick from:
https://code.google.com/p/gyp/source/detail?r=1819Fixes#341.