summaryrefslogtreecommitdiff
path: root/tools/gyp
diff options
context:
space:
mode:
authorMichaƫl Zasso <targos@protonmail.com>2020-10-17 09:46:49 +0200
committerRich Trott <rtrott@gmail.com>2020-10-17 04:18:55 -0700
commit35a69461937880ab8bdd38532a6460b7dce6da19 (patch)
tree8db3d731f19e523aad5875f82b337f5b3e650be0 /tools/gyp
parenta3731309ccd0db7051803c4bb0639019cf867559 (diff)
downloadnode-new-35a69461937880ab8bdd38532a6460b7dce6da19.tar.gz
tools: update gyp-next to v0.6.2
PR-URL: https://github.com/nodejs/node/pull/35690 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'tools/gyp')
-rw-r--r--tools/gyp/.github/workflows/node-gyp.yml40
-rw-r--r--tools/gyp/.github/workflows/nodejs-windows.yml2
-rw-r--r--tools/gyp/.github/workflows/release-please.yml16
-rw-r--r--tools/gyp/CHANGELOG.md89
-rw-r--r--tools/gyp/pylib/gyp/generator/msvs.py32
-rwxr-xr-xtools/gyp/setup.py2
6 files changed, 128 insertions, 53 deletions
diff --git a/tools/gyp/.github/workflows/node-gyp.yml b/tools/gyp/.github/workflows/node-gyp.yml
new file mode 100644
index 0000000000..78fe502bda
--- /dev/null
+++ b/tools/gyp/.github/workflows/node-gyp.yml
@@ -0,0 +1,40 @@
+name: node-gyp integration
+
+on: [push, pull_request]
+
+jobs:
+ test:
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [macos-latest, ubuntu-latest, windows-latest]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Clone gyp-next
+ uses: actions/checkout@v2
+ with:
+ path: gyp-next
+ - name: Clone nodejs/node-gyp
+ uses: actions/checkout@v2
+ with:
+ repository: nodejs/node-gyp
+ path: node-gyp
+ - uses: actions/setup-node@v1
+ with:
+ node-version: 14.x
+ - uses: actions/setup-python@v2
+ with:
+ python-version: 3.9
+ - name: Install dependencies
+ run: |
+ cd node-gyp
+ npm install --no-progress
+ - name: Replace gyp in node-gyp
+ shell: bash
+ run: |
+ rm -rf node-gyp/gyp
+ cp -r gyp-next node-gyp/gyp
+ - name: Run tests
+ run: |
+ cd node-gyp
+ npm test
diff --git a/tools/gyp/.github/workflows/nodejs-windows.yml b/tools/gyp/.github/workflows/nodejs-windows.yml
index 48a42372c2..fffe96e33b 100644
--- a/tools/gyp/.github/workflows/nodejs-windows.yml
+++ b/tools/gyp/.github/workflows/nodejs-windows.yml
@@ -6,7 +6,7 @@ jobs:
build-windows:
runs-on: windows-latest
steps:
- - name: Clone node-gyp
+ - name: Clone gyp-next
uses: actions/checkout@v2
with:
path: gyp-next
diff --git a/tools/gyp/.github/workflows/release-please.yml b/tools/gyp/.github/workflows/release-please.yml
new file mode 100644
index 0000000000..a414c10e15
--- /dev/null
+++ b/tools/gyp/.github/workflows/release-please.yml
@@ -0,0 +1,16 @@
+on:
+ push:
+ branches:
+ - master
+
+name: release-please
+jobs:
+ release-please:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: GoogleCloudPlatform/release-please-action@v2.5.6
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ release-type: python
+ package-name: gyp-next
+ bump-minor-pre-major: Yes
diff --git a/tools/gyp/CHANGELOG.md b/tools/gyp/CHANGELOG.md
index 0bfcab0f69..53c922b6c9 100644
--- a/tools/gyp/CHANGELOG.md
+++ b/tools/gyp/CHANGELOG.md
@@ -1,61 +1,70 @@
# Changelog
-All notable changes to this project will be documented in this file.
+### [0.6.2](https://www.github.com/nodejs/gyp-next/compare/v0.6.1...v0.6.2) (2020-10-16)
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-## [Unreleased]
+### Bug Fixes
-## [0.6.0] - 2020-10-13
+* do not rewrite absolute paths to avoid long paths ([#74](https://www.github.com/nodejs/gyp-next/issues/74)) ([c2ccc1a](https://www.github.com/nodejs/gyp-next/commit/c2ccc1a81f7f94433a94f4d01a2e820db4c4331a))
+* only include MARMASM when toolset is target ([5a2794a](https://www.github.com/nodejs/gyp-next/commit/5a2794aefb58f0c00404ff042b61740bc8b8d5cd))
-### Added
-- The Makefile generator will now output shared libraries directly to the product
- directory on all platforms (previously only macOS).
+### [0.6.1](https://github.com/nodejs/gyp-next/compare/v0.6.0...v0.6.1) (2020-10-14)
-## [0.5.0] - 2020-09-30
-### Added
-- Extended compile_commands_json generator to consider more file extensions than
- just `c` and `cc`. `cpp` and `cxx` are now supported.
-- Source files with duplicate basenames are now supported.
+### Bug Fixes
+
+* Correctly rename object files for absolute paths in MSVS generator.
+
+## [0.6.0](https://github.com/nodejs/gyp-next/compare/v0.5.0...v0.6.0) (2020-10-13)
+
+
+### Features
+
+* The Makefile generator will now output shared libraries directly to the product directory on all platforms (previously only macOS).
+
+## [0.5.0](https://github.com/nodejs/gyp-next/compare/v0.4.0...v0.5.0) (2020-09-30)
+
+
+### Features
+
+* Extended compile_commands_json generator to consider more file extensions than just `c` and `cc`. `cpp` and `cxx` are now supported.
+* Source files with duplicate basenames are now supported.
### Removed
-- The `--no-duplicate-basename-check` option was removed.
-- The `msvs_enable_marmasm` configuration option was removed in favor of
- auto-inclusion of the "marmasm" sections for Windows on ARM.
-## [0.4.0] - 2020-07-14
+* The `--no-duplicate-basename-check` option was removed.
+* The `msvs_enable_marmasm` configuration option was removed in favor of auto-inclusion of the "marmasm" sections for Windows on ARM.
+
+## [0.4.0](https://github.com/nodejs/gyp-next/compare/v0.3.0...v0.4.0) (2020-07-14)
+
+
+### Features
+
+* Added support for passing arbitrary architectures to Xcode builds, enables `arm64` builds.
+
+### Bug Fixes
+
+* Fixed a bug on Solaris where copying archives failed.
+
+## [0.3.0](https://github.com/nodejs/gyp-next/compare/v0.2.1...v0.3.0) (2020-06-06)
+
-### Added
-- Added support for passing arbitrary architectures to Xcode builds, enables `arm64` builds.
+### Features
-### Fixed
-- Fixed a bug on Solaris where copying archives failed.
+* Added support for MSVC cross-compilation. This allows compilation on x64 for a Windows ARM target.
-## [0.3.0] - 2020-06-06
+### Bug Fixes
-### Added
-- Added support for MSVC cross-compilation. This allows compilation on x64 for
- a Windows ARM target.
+* Fixed XCode CLT version detection on macOS Catalina.
-### Fixed
-- Fixed XCode CLT version detection on macOS Catalina.
+### [0.2.1](https://github.com/nodejs/gyp-next/compare/v0.2.0...v0.2.1) (2020-05-05)
-## [0.2.1] - 2020-05-05
-### Fixed
-- Relicensed to Node.js contributors.
-- Fixed Windows bug introduced in v0.2.0.
+### Bug Fixes
-## [0.2.0] - 2020-04-06
+* Relicensed to Node.js contributors.
+* Fixed Windows bug introduced in v0.2.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.
+## [0.2.0](https://github.com/nodejs/gyp-next/releases/tag/v0.2.0) (2020-04-06)
-[Unreleased]: https://github.com/nodejs/gyp-next/compare/v0.6.0...HEAD
-[0.6.0]: https://github.com/nodejs/gyp-next/compare/v0.5.0...v0.6.0
-[0.5.0]: https://github.com/nodejs/gyp-next/compare/v0.4.0...v0.5.0
-[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
+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.
diff --git a/tools/gyp/pylib/gyp/generator/msvs.py b/tools/gyp/pylib/gyp/generator/msvs.py
index fadd932f1e..32bf4746a1 100644
--- a/tools/gyp/pylib/gyp/generator/msvs.py
+++ b/tools/gyp/pylib/gyp/generator/msvs.py
@@ -2177,7 +2177,12 @@ def GenerateOutput(target_list, target_dicts, data, params):
def _GenerateMSBuildFiltersFile(
- filters_path, source_files, rule_dependencies, extension_to_rule_name, platforms
+ filters_path,
+ source_files,
+ rule_dependencies,
+ extension_to_rule_name,
+ platforms,
+ toolset,
):
"""Generate the filters file.
@@ -2197,6 +2202,7 @@ def _GenerateMSBuildFiltersFile(
rule_dependencies,
extension_to_rule_name,
platforms,
+ toolset,
filter_group,
source_group,
)
@@ -2222,6 +2228,7 @@ def _AppendFiltersForMSBuild(
rule_dependencies,
extension_to_rule_name,
platforms,
+ toolset,
filter_group,
source_group,
):
@@ -2257,13 +2264,14 @@ def _AppendFiltersForMSBuild(
rule_dependencies,
extension_to_rule_name,
platforms,
+ toolset,
filter_group,
source_group,
)
else:
# It's a source. Create a source entry.
_, element = _MapFileToMsBuildSourceType(
- source, rule_dependencies, extension_to_rule_name, platforms
+ source, rule_dependencies, extension_to_rule_name, platforms, toolset
)
source_entry = [element, {"Include": source}]
# Specify the filter it is part of, if any.
@@ -2273,7 +2281,7 @@ def _AppendFiltersForMSBuild(
def _MapFileToMsBuildSourceType(
- source, rule_dependencies, extension_to_rule_name, platforms
+ source, rule_dependencies, extension_to_rule_name, platforms, toolset
):
"""Returns the group and element type of the source file.
@@ -2301,9 +2309,8 @@ def _MapFileToMsBuildSourceType(
elif ext in [".s", ".asm"]:
group = "masm"
element = "MASM"
- for platform in platforms:
- if platform.lower() in ["arm", "arm64"]:
- element = "MARMASM"
+ if "arm64" in platforms and toolset == "target":
+ element = "MARMASM"
elif ext == ".idl":
group = "midl"
element = "Midl"
@@ -3613,14 +3620,16 @@ def _AddSources2(
rule_dependencies,
extension_to_rule_name,
_GetUniquePlatforms(spec),
+ spec["toolset"],
)
- if group == "compile":
- # Always add an <ObjectFileName> value to support duplicate
- # source file basenames.
+ if group == "compile" and not os.path.isabs(source):
+ # Add an <ObjectFileName> value to support duplicate source
+ # file basenames, except for absolute paths to avoid paths
+ # with more than 260 characters.
file_name = os.path.splitext(source)[0] + ".obj"
- if (file_name.startswith("..\\")):
+ if file_name.startswith("..\\"):
file_name = re.sub(r"^(\.\.\\)+", "", file_name)
- elif (file_name.startswith("$(")):
+ elif file_name.startswith("$("):
file_name = re.sub(r"^\$\([^)]+\)\\", "", file_name)
detail.append(["ObjectFileName", "$(IntDir)\\" + file_name])
grouped_sources[group].append([element, {"Include": source}] + detail)
@@ -3728,6 +3737,7 @@ def _GenerateMSBuildProject(project, options, version, generator_flags, spec):
rule_dependencies,
extension_to_rule_name,
platforms,
+ toolset,
)
missing_sources = _VerifySourcesExist(sources, project_dir)
diff --git a/tools/gyp/setup.py b/tools/gyp/setup.py
index 3ee802d671..d1869c1b52 100755
--- a/tools/gyp/setup.py
+++ b/tools/gyp/setup.py
@@ -15,7 +15,7 @@ with open(path.join(here, "README.md")) as in_file:
setup(
name="gyp-next",
- version="0.6.0",
+ version="0.6.2",
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",