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

Issue 2079283002: [iOS/GN] Allow compilation with system clang. (Closed)

Created:
4 years, 6 months ago by sdefresne
Modified:
4 years, 6 months ago
CC:
chromium-reviews, smut_chromium.org, justincohen, Nico
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[iOS/GN] Allow compilation with system clang. The official Chrome on iOS build are build using the version of clang shipped with Xcode (a.k.a. the system version of clang). This CL adds a flag to allow building with this version of clang instead of the hermetic shipped with Chromium source (i.e. ToT clang). When building with system version of clang, some compiler warning have to be flipped as they are unsupported and the plugins are disabled (as they only work for a single version of clang). Refactor the definition of the toolchain for iOS and correctly set the default_toolchain when targetting iOS based on target_cpu (used to be incorrectly set to "//build/toolchain/mac:ios_clang_arm"). BUG=620376 Committed: https://crrev.com/fe65591ff09b9180898e303ec4831d4e7dfb10e9 Cr-Commit-Position: refs/heads/master@{#401119}

Patch Set 1 #

Patch Set 2 : Add missing import #

Patch Set 3 : Pass -isystem when building with system clang on iOS #

Total comments: 4

Patch Set 4 : Address typos #

Total comments: 4

Patch Set 5 : Rename use_system_clang to is_clang_xcode #

Total comments: 3

Patch Set 6 : Remove unrelated changes #

Total comments: 2

Patch Set 7 : Rename use_system_clang to use_clang_xcode #

Patch Set 8 : use_clang_xcode cannot be conditional #

Patch Set 9 : sed -i '' -e 's@use_clang_xcode@use_xcode_clang@g' #

Patch Set 10 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -55 lines) Patch
M build/config/BUILDCONFIG.gn View 1 1 chunk +1 line, -1 line 0 comments Download
M build/config/clang/clang.gni View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -1 line 0 comments Download
M build/config/compiler/BUILD.gn View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -6 lines 0 comments Download
M build/config/ios/BUILD.gn View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -1 line 0 comments Download
M build/config/sanitizers/BUILD.gn View 1 chunk +1 line, -1 line 0 comments Download
M build/toolchain/mac/BUILD.gn View 1 2 3 4 5 6 7 8 9 2 chunks +42 lines, -45 lines 0 comments Download
M build/toolchain/toolchain.gni View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 31 (10 generated)
sdefresne
Please take a look.
4 years, 6 months ago (2016-06-20 12:49:42 UTC) #2
Dirk Pranke
I understand the need to be able to build w/ xcode clang, but I'm nervous ...
4 years, 6 months ago (2016-06-20 16:31:23 UTC) #3
sdefresne
On 2016/06/20 16:31:23, Dirk Pranke wrote: > I understand the need to be able to ...
4 years, 6 months ago (2016-06-21 11:31:29 UTC) #4
Nico
lgtm https://codereview.chromium.org/2079283002/diff/60001/build/config/clang/BUILD.gn File build/config/clang/BUILD.gn (right): https://codereview.chromium.org/2079283002/diff/60001/build/config/clang/BUILD.gn#newcode65 build/config/clang/BUILD.gn:65: if (use_system_clang && is_ios) { can we call ...
4 years, 6 months ago (2016-06-21 12:30:59 UTC) #6
Nico
err sorry, fingers typed "lgtm" on autopilot. basically looks fine to me, but i think ...
4 years, 6 months ago (2016-06-21 12:32:08 UTC) #7
sdefresne
PTAL (as I don't know if your second "lgtm" was intentional or not). https://codereview.chromium.org/2079283002/diff/60001/build/config/clang/BUILD.gn File ...
4 years, 6 months ago (2016-06-21 13:21:58 UTC) #8
sdefresne
Sorry, I fat fingered patchset 5, please look at patchset 6.
4 years, 6 months ago (2016-06-21 13:23:05 UTC) #9
Nico
looks like ps6 undid the "xcode" bit in the name https://codereview.chromium.org/2079283002/diff/80001/build/toolchain/toolchain.gni File build/toolchain/toolchain.gni (right): https://codereview.chromium.org/2079283002/diff/80001/build/toolchain/toolchain.gni#newcode30 ...
4 years, 6 months ago (2016-06-21 13:25:44 UTC) #10
sdefresne
Sorry for all the recent incorrect uploads (incorrectly used "git commit --amend" and "git rebase"). ...
4 years, 6 months ago (2016-06-21 13:44:22 UTC) #11
Dirk Pranke
lgtm, though I actually prefer thakis's suggested name of 'use_xcode_clang' to 'use_clang_xcode'.
4 years, 6 months ago (2016-06-21 16:33:48 UTC) #12
Dirk Pranke
On 2016/06/21 16:33:48, Dirk Pranke wrote: > lgtm, though I actually prefer thakis's suggested name ...
4 years, 6 months ago (2016-06-21 16:35:04 UTC) #13
Nico
lgtm
4 years, 6 months ago (2016-06-21 16:51:14 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2079283002/160001
4 years, 6 months ago (2016-06-21 19:31:56 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/204341)
4 years, 6 months ago (2016-06-21 19:39:43 UTC) #19
brettw
buildconfig.gn lgtm
4 years, 6 months ago (2016-06-21 20:24:44 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2079283002/180001
4 years, 6 months ago (2016-06-21 20:26:05 UTC) #24
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 6 months ago (2016-06-21 21:58:23 UTC) #25
commit-bot: I haz the power
Patchset 10 (id:??) landed as https://crrev.com/fe65591ff09b9180898e303ec4831d4e7dfb10e9 Cr-Commit-Position: refs/heads/master@{#401119}
4 years, 6 months ago (2016-06-21 22:00:46 UTC) #27
justincohen
https://codereview.chromium.org/2079283002/diff/60001/build/config/clang/BUILD.gn File build/config/clang/BUILD.gn (right): https://codereview.chromium.org/2079283002/diff/60001/build/config/clang/BUILD.gn#newcode65 build/config/clang/BUILD.gn:65: if (use_system_clang && is_ios) { > (also, have you ...
4 years, 6 months ago (2016-06-22 09:15:07 UTC) #29
Nico
https://codereview.chromium.org/2079283002/diff/60001/build/config/clang/BUILD.gn File build/config/clang/BUILD.gn (right): https://codereview.chromium.org/2079283002/diff/60001/build/config/clang/BUILD.gn#newcode65 build/config/clang/BUILD.gn:65: if (use_system_clang && is_ios) { On 2016/06/22 09:15:07, justincohen ...
4 years, 6 months ago (2016-06-22 14:30:28 UTC) #30
Dirk Pranke
4 years, 6 months ago (2016-06-22 15:34:55 UTC) #31
Message was sent while issue was closed.
I think we should set up an xcode_clang builder upstream; generally, I think we
should have an upstream/public config for every
configuration we need to support that can be public, so that we can catch and
revert things easily and transparently.

I don't know that it needs to be in the CQ, though ...

Powered by Google App Engine
This is Rietveld 408576698