Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Issue 962343002: Rework how the gn migration targets are included from all.gyp. (Closed)

Created:
5 years, 9 months ago by Dirk Pranke
Modified:
5 years, 9 months ago
Reviewers:
brettw, gunsch
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@gn_cleanup
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Rework how the gn migration targets are included from all.gyp. This change splits out the targets being used to track the gn migration from all.gyp into a separate, new file (gn_migration.gypi), and reworks their structure to 1) better match the gn_all target in src/BUILD.gn, 2) identify the targets built by 'all' in gyp that are not yet explicitly listed in the gn_all target (the new 'add_to_gn_all' target), 3) identify the targets left to be converted. The 'add_to_gn_all' targets will simply be moved to gn_all in a follow-up CL. Right now these targets will be linux-only, but follow-up CLs will expand them to the other configurations. This CL should produce no actual changes in the builds. R=brettw@chromium.org BUG=461019 CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg Committed: https://crrev.com/91cb1747a84d80acc9fc5045c971986f1799e02b Cr-Commit-Position: refs/heads/master@{#318599}

Patch Set 1 #

Total comments: 2

Patch Set 2 : merge to #318587 #

Total comments: 9
Unified diffs Side-by-side diffs Delta from patch set Stats (+506 lines, -150 lines) Patch
M build/all.gyp View 2 chunks +6 lines, -150 lines 1 comment Download
A build/gn_migration.gypi View 1 chunk +500 lines, -0 lines 8 comments Download

Messages

Total messages: 18 (6 generated)
Dirk Pranke
5 years, 9 months ago (2015-02-27 19:59:44 UTC) #1
brettw
lgtm https://codereview.chromium.org/962343002/diff/1/build/gn_migration.gypi File build/gn_migration.gypi (right): https://codereview.chromium.org/962343002/diff/1/build/gn_migration.gypi#newcode498 build/gn_migration.gypi:498: ] indenting.
5 years, 9 months ago (2015-02-27 21:48:26 UTC) #2
Dirk Pranke
https://codereview.chromium.org/962343002/diff/1/build/gn_migration.gypi File build/gn_migration.gypi (right): https://codereview.chromium.org/962343002/diff/1/build/gn_migration.gypi#newcode498 build/gn_migration.gypi:498: ] On 2015/02/27 21:48:26, brettw wrote: > indenting. Acknowledged.
5 years, 9 months ago (2015-02-27 22:14:41 UTC) #3
Dirk Pranke
Note that this patch depends on https://codereview.chromium.org/967683003/ landing first, and getting brett's changes to chromedriver, ...
5 years, 9 months ago (2015-02-28 00:33:24 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/962343002/40001
5 years, 9 months ago (2015-02-28 03:27:24 UTC) #10
commit-bot: I haz the power
Committed patchset #2 (id:40001)
5 years, 9 months ago (2015-02-28 05:01:44 UTC) #11
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/91cb1747a84d80acc9fc5045c971986f1799e02b Cr-Commit-Position: refs/heads/master@{#318599}
5 years, 9 months ago (2015-02-28 05:02:13 UTC) #12
gunsch
https://codereview.chromium.org/962343002/diff/40001/build/gn_migration.gypi File build/gn_migration.gypi (right): https://codereview.chromium.org/962343002/diff/40001/build/gn_migration.gypi#newcode370 build/gn_migration.gypi:370: '../components/components.gyp:session_manager_component', This target isn't defined for all Linux builds: ...
5 years, 9 months ago (2015-03-02 00:23:00 UTC) #14
gunsch
Found a handful more, even after the first. Then something is still including ash.gyp:ash (not ...
5 years, 9 months ago (2015-03-02 00:31:03 UTC) #15
gunsch
https://codereview.chromium.org/962343002/diff/40001/build/all.gyp File build/all.gyp (right): https://codereview.chromium.org/962343002/diff/40001/build/all.gyp#newcode471 build/all.gyp:471: ['OS=="linux" and chromeos==0', { Alternately, you could put "chromecast==0" ...
5 years, 9 months ago (2015-03-02 00:33:52 UTC) #16
Dirk Pranke
On 2015/03/02 00:33:52, gunsch wrote: > https://codereview.chromium.org/962343002/diff/40001/build/all.gyp > File build/all.gyp (right): > > https://codereview.chromium.org/962343002/diff/40001/build/all.gyp#newcode471 > ...
5 years, 9 months ago (2015-03-02 01:31:53 UTC) #17
gunsch
5 years, 9 months ago (2015-03-02 05:21:38 UTC) #18
Message was sent while issue was closed.
On 2015/03/02 01:31:53, Dirk Pranke wrote:
> On 2015/03/02 00:33:52, gunsch wrote:
> > https://codereview.chromium.org/962343002/diff/40001/build/all.gyp
> > File build/all.gyp (right):
> > 
> >
https://codereview.chromium.org/962343002/diff/40001/build/all.gyp#newcode471
> > build/all.gyp:471: ['OS=="linux" and chromeos==0', {
> > Alternately, you could put "chromecast==0" here and probably just call it a
> day
> > so we don't step on each other's toes while you're working on this :)
> 
> Well, I actually ended up reverting this change for unrelated reasons, but all
> this is good feedback.
> 
> This patch was only intended to work on the normal linux release build, but
it's
> been
>  interesting to see which things don't quite meet that criteria and aren't on
> the waterfall.
> 
> I thought chromecast was a kind of chromeos build (and so chromeos==0 would
> exclude
> it); I guess that's not the case?
> 
> Is chromecast using ozone? I'll take a look at the trybots you linked to and
see
> what all flags are being set ...

Couple quick comments:

There are two top-level Chromecast builds: cast_shell on Linux (what runs on the
Chromecast), and cast_shell_apk on Android (for Android TV). The "cast_shell"
you can build from a public Chromium checkout is analogous to Clank's
"content_shell_apk", in the sense you can build a single-page embedder with
similar behavior, but we also have a private repo that tacks on much of the
Chromecast functionality. We're also still partly building from a downstream
fork, but are getting very close to building using [Chromium TOT + our internal
repo] rather than only [downstream fork of Chromium + our internal repo].

Chromecast is an embedded Linux system, no ChromeOS.

The cast_shell Linux build sets the GYP variable "embedded=1" (for which, last I
checked, no GN equivalent has been added), which:
* enables Ozone/Aura
* disables toolkit_views, dbus, udev, printing, plugins, remoting, etc.

The cast_shell_apk Chromecast build also sets GYP variable chromecast==1, but is
generally pretty close to the content_shell_apk build with Chromecast's
embedder.

Thanks for taking a look.

Powered by Google App Engine
This is Rietveld 408576698