Need to re-run gn for build options to take effect

112 views
Skip to first unread message

Andre Cunha

unread,
Sep 19, 2016, 2:55:08 PM9/19/16
to v8-users
Hello,

I'm building v8 5.4 using the following commands (Ubuntu 14.04, x64):

$ fetch v8
$ cd v8
$ git checkout remotes/branch-heads/5.4
$ gclient sync
$ tools/dev/v8gen.py x64.release -- is_component_build=true v8_enable_i18n_support=false
$ ninja -C out.gn/x64.release

However, when I do this, libv8.so is not generated in out.gn/x64.release. In order for it to be generated, I need to do:

# Close vi (no need to save).

Then, 851 files are (re)compiled and libv8.so is generated.

Why do I need to re-run gn for the options to take effect? Am I missing some step in the building process?

Thank you!
Andre

Andre Cunha

unread,
Sep 19, 2016, 3:19:23 PM9/19/16
to v8-users
PS: the same behavior applies to i18n support in debug mode. When I run v8gen.py with "v8_enable_i18n_support=false", the build process still generates libraries that depend on ICU. I need to run gn and ninja again to get rid of the dependency.

Jochen Eisinger

unread,
Sep 20, 2016, 3:16:56 AM9/20/16
to v8-users
v8gen creates the input for gn. gn creates the input for ninja. ninja builds the binaries.

You can use gn gen out.gn/x64.release instead of gn args if you don't intend to change the args anyways.

best
-jochen

--
--
v8-users mailing list
v8-u...@googlegroups.com
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups "v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Achenbach

unread,
Sep 20, 2016, 9:29:19 AM9/20/16
to v8-users
I actually think this is a bug in our work flow. I filed http://crbug.com/648583

You can also pass -p to v8gen.py to let it perform an additional gn run over the extra cmd line parameters automatically.

Andre Cunha

unread,
Sep 20, 2016, 9:42:28 AM9/20/16
to v8-users
I tried the following sequence of commands:

$ tools/dev/v8gen.py x64.release -- is_component_build=true v8_enable_i18n_support=false
$ ninja -C out.gn/x64.release

And it works. I also tried:

$ tools/dev/v8gen.py -p x64.release -- is_component_build=true v8_enable_i18n_support=false
$ ninja -C out.gn/x64.release

And it works too.

Thank you very much.
Andre

Michael Achenbach

unread,
Sep 22, 2016, 9:35:04 AM9/22/16
to v8-users
This is now fixed by http://crbug.com/648583

Now gn should automatically rebuild after using v8gen. No need to pass -p (unless you want early checking) or to call gn manually.

Andre Cunha

unread,
Sep 22, 2016, 3:08:49 PM9/22/16
to v8-users
Excellent! Thank you.

Andre
Reply all
Reply to author
Forward
0 new messages