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

Consider moving from gyp to gn #6089

jeisinger opened this Issue Apr 6, 2016 · 6 comments


None yet
5 participants

jeisinger commented Apr 6, 2016

Chromium started to move from gyp to gn a while ago. Soon, the v8 build will be fully supported on gn. While there's no immediate plan to remove the gyp files right away, gyp itself will become unsupported the less people use it.

Consider planning for moving to gn:


This comment has been minimized.


MylesBorins commented Apr 6, 2016


This comment has been minimized.


jbergstroem commented Apr 7, 2016

This has been brought up a few times amongst issues while looking for a gyp replacement. GN in its current state is very tied to the google repo meaning building a standalone is tedious. There's a few attempts you likely can find in gists. I've been doing some attempts at ripping dependencies out in place for libuv and lessening ties to the rest of the google checkout, but since gn is moving in such high pace I don't think this is the way forward.

Here's more info: #133
..and here: nodejs/NG#24

I'll close this -- feel free to continue talking in above (the ng issue).

@jbergstroem jbergstroem closed this Apr 7, 2016


This comment has been minimized.


This comment has been minimized.


jeisinger commented Apr 7, 2016

Thanks for the pointers. And yes, the fact that gn is checked into chromium is also a problem for v8 (which we work around by using a checked in gn binary...)


This comment has been minimized.

tojocky commented Jan 3, 2017

Hi @jbergstroem ,

It is easy to build gn standalone.
here is a shell script that I'm using:


set -e
set -v

# Get the sources
mkdir gn-standalone
cd gn-standalone
mkdir tools
cd tools
git clone
cd ..
#mkdir -p third_party/libevent
#cd third_party/libevent
#wget --no-check-certificate
#tar -xvzf libevent.tar.gz
#cd ../..
git clone
git clone
#git clone
mkdir testing
cd testing
git clone
cd ..

# Build
cd tools/gn
python ./bootstrap/ -s

# At this point, the resulting binary is at:
# gn-standalone/out/Release/gn

This comment has been minimized.


jbergstroem commented Jan 3, 2017

@tojocky thanks; I've also used that snippet. It doesn't really solve the fact that gn is dependent on a lot of third party code bases which makes it less usable in this scenario. You should check out all progress that Fedor has been doing over here!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment