From ad8fce6e611c4de18ada6eb51514a419f51fdf9f Mon Sep 17 00:00:00 2001 From: Ujjwal Sharma Date: Wed, 15 Jul 2020 12:21:03 +0530 Subject: [PATCH] tools: update gyp to v0.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/32698 Reviewed-By: Christian Clauss Reviewed-By: Jiawen Geng Reviewed-By: Michaƫl Zasso --- tools/gyp/CHANGELOG.md | 11 ++++++++++- tools/gyp/pylib/gyp/generator/make.py | 12 ++++++++++-- tools/gyp/pylib/gyp/generator/ninja.py | 2 +- tools/gyp/setup.py | 2 +- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/tools/gyp/CHANGELOG.md b/tools/gyp/CHANGELOG.md index 78cf25023be783..8cbcdd3b727894 100644 --- a/tools/gyp/CHANGELOG.md +++ b/tools/gyp/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +## [0.4.0] - 2020-07-14 + +### Added +- Added support for passing arbitrary architectures to Xcode builds, enables `arm64` builds. + +### Fixed +- Fixed a bug on Solaris where copying archives failed. + ## [0.3.0] - 2020-06-06 ### Added @@ -26,7 +34,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This is the first release of this project, based on https://chromium.googlesource.com/external/gyp with changes made over the years in Node.js and node-gyp. -[Unreleased]: https://github.com/nodejs/gyp-next/compare/v0.3.0...HEAD +[Unreleased]: https://github.com/nodejs/gyp-next/compare/v0.4.0...HEAD +[0.4.0]: https://github.com/nodejs/gyp-next/compare/v0.3.0...v0.4.0 [0.3.0]: https://github.com/nodejs/gyp-next/compare/v0.2.1...v0.3.0 [0.2.1]: https://github.com/nodejs/gyp-next/compare/v0.2.0...v0.2.1 [0.2.0]: https://github.com/nodejs/gyp-next/releases/tag/v0.2.0 diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py index 01f4ed351e836a..6e1c5205cf2b64 100644 --- a/tools/gyp/pylib/gyp/generator/make.py +++ b/tools/gyp/pylib/gyp/generator/make.py @@ -1342,7 +1342,7 @@ def WriteSources( ) if self.flavor == "mac": - cflags = self.xcode_settings.GetCflags(configname) + cflags = self.xcode_settings.GetCflags(configname, arch=config.get('xcode_configuration_platform')) cflags_c = self.xcode_settings.GetCflagsC(configname) cflags_cc = self.xcode_settings.GetCflagsCC(configname) cflags_objc = self.xcode_settings.GetCflagsObjC(configname) @@ -1637,6 +1637,7 @@ def WriteTarget( configname, generator_default_variables["PRODUCT_DIR"], lambda p: Sourceify(self.Absolutify(p)), + arch=config.get('xcode_configuration_platform') ) # TARGET_POSTBUILDS_$(BUILDTYPE) is added to postbuilds later on. @@ -2362,7 +2363,14 @@ def CalculateMakefilePath(build_file, base_name): } ) elif flavor == "solaris": - header_params.update({"flock": "./gyp-flock-tool flock", "flock_index": 2}) + copy_archive_arguments = "-pPRf@" + header_params.update( + { + "copy_archive_args": copy_archive_arguments, + "flock": "./gyp-flock-tool flock", + "flock_index": 2 + } + ) elif flavor == "freebsd": # Note: OpenBSD has sysutils/flock. lockf seems to be FreeBSD specific. header_params.update({"flock": "lockf"}) diff --git a/tools/gyp/pylib/gyp/generator/ninja.py b/tools/gyp/pylib/gyp/generator/ninja.py index 40d8591f96ee41..384b252e739529 100644 --- a/tools/gyp/pylib/gyp/generator/ninja.py +++ b/tools/gyp/pylib/gyp/generator/ninja.py @@ -78,7 +78,7 @@ def QuoteShellArgument(arg, flavor): """Quote a string such that it will be interpreted as a single argument by the shell.""" # Rather than attempting to enumerate the bad shell characters, just - # whitelist common OK ones and quote anything else. + # allow common OK ones and quote anything else. if re.match(r"^[a-zA-Z0-9_=.\\/-]+$", arg): return arg # No quoting necessary. if flavor == "win": diff --git a/tools/gyp/setup.py b/tools/gyp/setup.py index e5c30eb12810d1..0f75a99b18d6c7 100755 --- a/tools/gyp/setup.py +++ b/tools/gyp/setup.py @@ -15,7 +15,7 @@ setup( name="gyp-next", - version="0.3.0", + version="0.4.0", description="A fork of the GYP build system for use in the Node.js projects", long_description=long_description, long_description_content_type="text/markdown",