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

Unified Diff: build/common.gypi

Issue 430383002: Use clang as default host compiler when cross-compiling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | build/set_clang_warning_flags.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/common.gypi
diff --git a/build/common.gypi b/build/common.gypi
index 9ee2038032037cb73a6298bd295c5da1c6c2fc2d..9cdf7995d7eba45d602e277fcaefa099d63e3413 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -543,8 +543,12 @@
# for details.
'chromium_win_pch%': 0,
+ # Clang stuff.
+ 'make_clang_dir%': 'third_party/llvm-build/Release+Asserts',
# Set this to true when building with Clang.
# See http://code.google.com/p/chromium/wiki/Clang for details.
+ # If this is set, clang is used as both host and target compiler in
+ # cross-compile builds.
'clang%': 0,
# Enable plug-in installation by default.
@@ -604,6 +608,14 @@
'ozone_auto_platforms%': 1,
'conditions': [
+ ['android_webview_build==0', {
+ # If this is set clang is used as host compiler, but not as target
+ # compiler. Always do this by default, except when building for AOSP.
+ 'host_clang%': 1,
+ }, {
+ # See http://crbug.com/377684
+ 'host_clang%': 0,
+ }],
# A flag for POSIX platforms
['OS=="win"', {
'os_posix%': 0,
@@ -1254,7 +1266,8 @@
# Clang stuff.
'clang%': '<(clang)',
- 'make_clang_dir%': 'third_party/llvm-build/Release+Asserts',
+ 'host_clang%': '<(host_clang)',
+ 'make_clang_dir%': '<(make_clang_dir)',
# Control which version of clang to use when building for iOS. If set to
# '1', uses the version of clang that ships with Xcode. If set to '0', uses
@@ -2273,6 +2286,14 @@
'chromium_win_pch': 0,
}],
+ ['host_clang==1', {
+ 'host_cc': '<(make_clang_dir)/bin/clang',
+ 'host_cxx': '<(make_clang_dir)/bin/clang++',
+ }, {
+ 'host_cc': '<!(which gcc)',
+ 'host_cxx': '<!(which g++)',
+ }],
+
# The seccomp-bpf sandbox is only supported on four architectures
# currently.
# Do not disable seccomp_bpf anywhere without talking to
@@ -3907,6 +3928,13 @@
'-std=gnu++11',
],
}],
+ ['clang==0 and host_clang==1', {
+ 'target_conditions': [
+ ['_toolset=="host"', {
+ 'cflags_cc': [ '-std=gnu++11', ],
+ }],
+ ],
+ }],
['clang==1 and clang_use_chrome_plugins==1', {
'cflags': [
'<@(clang_chrome_plugins_flags)',
@@ -4254,7 +4282,7 @@
}],
],
}],
- ['host_gcc_version>=47 and clang==0', {
+ ['host_gcc_version>=47 and clang==0 and host_clang==0', {
'target_conditions': [
['_toolset=="host"', {
'cflags_cc': [
@@ -5518,6 +5546,13 @@
],
},
}],
+ ['gcc_version>=48 and clang==0 and host_clang==1', {
+ 'target_defaults': {
+ 'target_conditions': [
+ ['_toolset=="host"', { 'cflags!': [ '-Wno-unused-local-typedefs' ]}],
+ ],
+ },
+ }],
# We need a special case to handle the android webview build on mac because
# the host gcc there doesn't accept this flag, but the target gcc may
# require it.
@@ -5553,16 +5588,16 @@
'make_global_settings': [
['CC', '<!(/bin/echo -n <(android_toolchain)/*-gcc)'],
['CXX', '<!(/bin/echo -n <(android_toolchain)/*-g++)'],
- ['CC.host', '<!(which gcc)'],
- ['CXX.host', '<!(which g++)'],
+ ['CC.host', '<(host_cc)'],
+ ['CXX.host', '<(host_cxx)'],
],
}],
['OS=="linux" and target_arch=="mipsel"', {
'make_global_settings': [
['CC', '<(sysroot)/../bin/mipsel-linux-gnu-gcc'],
['CXX', '<(sysroot)/../bin/mipsel-linux-gnu-g++'],
- ['CC.host', '<!(which gcc)'],
- ['CXX.host', '<!(which g++)'],
+ ['CC.host', '<(host_cc)'],
+ ['CXX.host', '<(host_cxx)'],
],
}],
['OS=="linux" and target_arch=="arm" and host_arch!="arm" and chromeos==0 and clang==0', {
@@ -5571,8 +5606,8 @@
'make_global_settings': [
['CC', '<!(which arm-linux-gnueabihf-gcc)'],
['CXX', '<!(which arm-linux-gnueabihf-g++)'],
- ['CC.host', '<!(which gcc)'],
- ['CXX.host', '<!(which g++)'],
+ ['CC.host', '<(host_cc)'],
+ ['CXX.host', '<(host_cxx)'],
],
}],
« no previous file with comments | « no previous file | build/set_clang_warning_flags.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698