Skip to content

doc: update gyp link#2681

Closed
bnoordhuis wants to merge 1 commit intolibuv:v1.xfrom
bnoordhuis:update-gyp-link
Closed

doc: update gyp link#2681
bnoordhuis wants to merge 1 commit intolibuv:v1.xfrom
bnoordhuis:update-gyp-link

Conversation

@bnoordhuis
Copy link
Member

The original upstream hasn't been maintained for some time now.

I've copied https://github.com/nodejs/node/tree/master/tools/gyp to
https://github.com/libuv/gyp after stripping it down a bit. Let's
point users to that. I'll work on getting it tested on the CI, too.

Refs: libuv/help#126
Refs: nodejs/build#2172
CI: https://ci.nodejs.org/job/libuv-test-commit/1755/

The original upstream hasn't been maintained for some time now.

I've copied https://github.com/nodejs/node/tree/master/tools/gyp to
https://github.com/libuv/gyp after stripping it down a bit. Let's
point users to that. I'll work on getting it tested on the CI, too.

Refs: libuv/help#126
Refs: nodejs/build#2172
@saghul
Copy link
Member

saghul commented Feb 10, 2020

What is Node’s current upstream? I guess we could just use that since Node has a much larger gyp dependency than we do.

@saghul
Copy link
Member

saghul commented Feb 10, 2020

Slightly more controversial :-) How about we remove support for it, since Google has abandoned it? Node could keep the gypfiles around maybe?

@cjihrig
Copy link
Contributor

cjihrig commented Feb 10, 2020

FWIW, I'd be in favor of dropping gyp completely.

@richardlau
Copy link
Member

What is Node’s current upstream? I guess we could just use that since Node has a much larger gyp dependency than we do.

Officially it doesn't have one. There's some work to sync the copies of gyp in nodejs/node (for building Node.js) and nodejs/node-gyp (for building addon modules) (nodejs/node#30563 and nodejs/node-gyp#1975) but neither of those are upstream of each other either. (Somewhat related discussion in node-gyp, nodejs/node-gyp#1791).


```bash
$ git clone https://chromium.googlesource.com/external/gyp build/gyp
$ git clone https://github.com/libuv/gyp build/gyp
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chromium's copy of gyp contains patches for z/OS (e.g. https://chromium-review.googlesource.com/c/external/gyp/+/644712/) which are not in https://github.com/nodejs/node/tree/d0413ae8f92aa0591506ff115f21ec0ae2591e62/tools/gyp that was used to seed https://github.com/libuv. This isn't evident from CI as currently the a copy of gyp served from Jenkins (nodejs/build#2172) is used.

@bnoordhuis
Copy link
Member Author

I'm good with dropping gyp. Node's already on the hook for maintaining all the other gyp builds of its dependencies. It'll need some tweaks to the CI though.

@saghul
Copy link
Member

saghul commented Feb 11, 2020

Then how about we do that? The vcbuild.bat script would need changes too, I guess we can switch to using CMake there but keep the CLI commands to make sure scripts continue to work.

@bnoordhuis
Copy link
Member Author

I'd get rid of vcbuild.bat and make cmake the official way of building on Windows. It duplicates a lot of functionality that cmake provides out of the box.

The android build scripts currently depend on gyp too but I'm 80% sure the cmake build already works for that platform (and is otherwise easy to fix.)

I'll open a PR to kick off the discussion.

bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Feb 11, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

Refs: libuv#2681
@bnoordhuis
Copy link
Member Author

#2682

@saghul
Copy link
Member

saghul commented Feb 11, 2020

Awesome! I do volunteer to help fix Jenkins or whatever necessary. I should have time for it next week!

@bnoordhuis
Copy link
Member Author

bnoordhuis commented Feb 11, 2020

Most of the linux CI jobs are built using autotools. The two exceptions are on ubuntu 14.04 (EOL) so I've requested their removal: nodejs/build#2174 The remaining jobs that need an update are zos and windows.

I did some research and cmake-on-zos is a thing these days. I'm reasonably sure I got the CMAKE_SYSTEM_NAME sniffing in CMakeLists.txt right. It should be equal to uname -s and that's OS/390 on zos.

If cmake doesn't pick up the right compiler, -DCMAKE_C_COMPILER=/bin/c89 might help.

edit: nodejs/build#2175 - I'd make a great manager: delegate, delegate, delegate!

bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Feb 21, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

Refs: libuv#2681
@cjihrig
Copy link
Contributor

cjihrig commented Feb 28, 2020

@bnoordhuis since we're planning to remove gyp support, should this just be closed or what?

@bnoordhuis
Copy link
Member Author

Yep, closing.

@bnoordhuis bnoordhuis closed this Feb 28, 2020
bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Mar 19, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

Refs: libuv#2681
bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Mar 23, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

Refs: libuv#2681
bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Mar 23, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

Refs: libuv#2681
bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Mar 23, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

Refs: libuv#2681
bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Apr 6, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

Refs: libuv#2681
bnoordhuis added a commit to bnoordhuis/libuv that referenced this pull request Apr 7, 2020
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

PR-URL: libuv#2682
Refs: libuv#2681
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
liujinye-sys pushed a commit to open-vela/apps_system_libuv that referenced this pull request Jul 23, 2025
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

PR-URL: libuv/libuv#2682
Refs: libuv/libuv#2681
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
liujinye-sys pushed a commit to open-vela/apps_system_libuv that referenced this pull request Dec 16, 2025
Upstream GYP has been unmaintained for some time now. The only big
downstream user is Node.js and they already maintain GYP build files
for their other dependencies.

This commit removes vcbuild.bat because:

1. it's entirely built around GYP, and
2. duplicates a lot of functionality that cmake provides out of the box

This commit also removes appveyor.yml. It hasn't been used after we
stopped providing prebuilt binaries for Windows about two years ago.

As if that isn't enough, this commit also removes the Android build
scripts. They were wrappers around GYP. Use CMake.

PR-URL: libuv/libuv#2682
Refs: libuv/libuv#2681
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants