Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upcoming changes to GYP #38

Closed
hashseed opened this issue Jan 26, 2018 · 10 comments
Closed

Upcoming changes to GYP #38

hashseed opened this issue Jan 26, 2018 · 10 comments

Comments

@hashseed
Copy link
Member

As previously described in this document and tracked in these Node.js issues and this V8 issue, V8 has implemented a GYP/GN bridge to allowing building V8 with GN but keep the rest of Node core on GYP.

The Node.js part is implemented here and updated here. That adds a new configure flag --build-v8-with-gn, which is tested on Linux and Mac. Running configure with that flag fetches the necessary dependencies and subsequent make builds V8 with GN.

I'm currently moving GYP files into v8/gypfiles. Then I'll simply delete the folder to conclude the handover. This will immediately affect the canary branch. You could either switch to --build-v8-with-gn, or you need to take over ownership over V8's GYP files.

@mhdawson
Copy link
Member

Sounds like we need a decision on:

You could either switch to --build-v8-with-gn, or you need to take over ownership over V8's GYP files.

labeling so that it's on the agenda a week from now unless we resolve through GitHub or the discussion with the V8 team after this weeks TSC meeting.

@mhdawson
Copy link
Member

@hashseed I see it's tested on Linux from the doc, can we test it across platforms with one of the existing CI jobs?

@hashseed
Copy link
Member Author

@mhdawson I'm not sure I expressed myself understandably. So let me try again.

--build-v8-with-gn is a crutch that we at V8 use for continuously test V8 against Node.js without having to maintain gyp files. It is tested for Linux and Mac, but not yet on Windows.

The canary build at node-v8 is similar, and unless you want to update gyp files on every canary, you could use the same crutch. For updating V8 on master I would recommend to keep building V8 with gyp that Node.js would inherit as soon as we delete them in V8 upstream. That entails maintaining gyp files on every update.

I can explain in detail during the V8/TSC call.

@mhdawson
Copy link
Member

mhdawson commented Feb 1, 2018

@hashseed thanks for the clarification, got it.

@hashseed
Copy link
Member Author

hashseed commented Feb 2, 2018

This is the patch for removing gyp files. I will likely land them within the next two weeks.

@rvagg
Copy link
Member

rvagg commented Feb 7, 2018

We need to have gn binaries on all build machines for this to work right? And for people building from source we have to explain how to get gn installed as well. Is it in an easier to fetch form these days or still bundled up with other stuff?

@hashseed
Copy link
Member Author

hashseed commented Feb 7, 2018

We have all of this implemented on our fork. There I added a new configure flag so that you can run ./configure --build-v8-with-gn. This will fetch the necessary dependencies. All you then need to do is make. I'll upstream this once Node.js upgrades to V8 6.6.

Note that this only works for Mac and Linux for now.

@hashseed
Copy link
Member Author

hashseed commented Feb 8, 2018

gyp configs have been removed upstream.

@targos
Copy link
Member

targos commented Feb 9, 2018

Thanks for the heads up!
I updated the canary update script to take this into account.

@targos
Copy link
Member

targos commented Apr 19, 2018

I think this can be closed

@targos targos closed this as completed Apr 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants