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

Unified Diff: build/common.gypi

Issue 197283006: Update common.gypi to set clang=1 for all iOS builds. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 6 years, 9 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 | no next file » | 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 3e2d983660be1fab5870783e1c943986dd7a6e0b..c79e8e76ee7ce79ea4b8f3becf125a1544c84c49 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -1099,11 +1099,10 @@
'clang%': '<(clang)',
'make_clang_dir%': 'third_party/llvm-build/Release+Asserts',
- # Control which version of clang to use when 'clang' is set to 1 when
- # building for iOS (Apple has not yet open-sourced support for "arm64"
- # so when building for that 'target_arch' we have to use clang shipped
- # with Xcode that does not supports some flags).
- # TODO(sdefresne): remove this once http://crbug.com/341453 is fixed.
+ # 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
+ # the version of clang that ships with the Chromium source. This variable
+ # is automatically set to '1' when using the Xcode generator.
'clang_xcode%': 0,
# These two variables can be set in GYP_DEFINES while running
@@ -1523,8 +1522,6 @@
'jni_generator_jarjar_file': '../android_webview/build/jarjar-rules.txt',
}],
['OS=="mac"', {
- # Enable clang on mac by default!
- 'clang%': 1,
'conditions': [
# All Chrome builds have breakpad symbols, but only process the
# symbols from official builds.
@@ -1534,6 +1531,9 @@
],
}], # OS=="mac"
['OS=="mac" or OS=="ios"', {
+ # Enable clang on mac by default! All iOS builds already use clang.
Nico 2014/03/13 15:43:38 nit: This comment can probably go away. It was (ma
+ 'clang%': 1,
+
'variables': {
# Mac OS X SDK and deployment target support. The SDK identifies
# the version of the system headers that will be used, and
@@ -1752,16 +1752,15 @@
'-w', '<(DEPTH)/build/ios/grit_whitelist.txt'
],
- # Enable clang and host builds when generating with ninja-ios.
+ # Enable host builds when generating with ninja-ios.
'conditions': [
['"<(GENERATOR)"=="ninja"', {
- 'clang%': 1,
'host_os%': "mac",
}],
- # Apple has not upstreamed the support for "arm64" yet, so when
- # building for "arm64" or "both", we need to use the clang that
- # is provided with Xcode.
- ['target_subarch!="arm32"', {
+
+ # TODO(sdefresne): Remove the target_subarch check once Apple has
+ # upstreamed the support for "arm64". http://crbug.com/341453
+ ['target_subarch!="arm32" or "<(GENERATOR)"=="xcode"', {
'clang_xcode%': 1,
}],
],
@@ -4136,23 +4135,17 @@
# Warns when a const char[] is converted to bool.
'-Wstring-conversion',
+
+ # Clang considers the `register` keyword as deprecated, but
+ # e.g. code generated by flex (used in angle) contains that
+ # keyword. http://crbug.com/255186
+ '-Wno-deprecated-register',
],
'conditions': [
['clang_xcode==0', {
'CC': '$(SOURCE_ROOT)/<(clang_dir)/clang',
'LDPLUSPLUS': '$(SOURCE_ROOT)/<(clang_dir)/clang++',
-
- 'WARNING_CFLAGS': [
- # Clang considers the `register` keyword as deprecated, but
- # e.g. code generated by flex (used in angle) contains that
- # keyword. http://crbug.com/255186
- #
- # Note: clang as shipped with Xcode is older and does not
- # treat the `register` as deprecated and does not define
- # this flag, so don't enable it if "clang_xcode" is "1".
- '-Wno-deprecated-register',
- ],
}],
],
}],
@@ -4426,31 +4419,9 @@
['OS=="ios"', {
'target_defaults': {
'xcode_settings' : {
- 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
-
- # This next block is mostly common with the 'mac' section above,
- # but keying off (or setting) 'clang' isn't valid for iOS as it
- # also means using Chromium's build of clang.
-
# TODO(stuartmorgan): switch to c++0x (see TODOs in the clang
# section above).
'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++0x',
- # Warn if automatic synthesis is triggered with
- # the -Wobjc-missing-property-synthesis flag.
- 'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES',
- 'WARNING_CFLAGS': [
- '-Wheader-hygiene',
- # Don't die on dtoa code that uses a char as an array index.
- # This is required solely for base/third_party/dmg_fp/dtoa.cc.
- '-Wno-char-subscripts',
- # See comment in the mac clang section above for this flag.
- '-Wno-unneeded-internal-declaration',
- # Match OS X clang C++11 warning settings.
- '-Wno-c++11-narrowing',
- # As of Xcode 5.1, the register keyword is deprecated, but Chromium
- # code still uses it.
- '-Wno-deprecated-register',
- ],
'conditions': [
# Older Xcodes do not support -Wno-deprecated-register, so pass an
@@ -4460,7 +4431,7 @@
# continue failing on unknown compiler options.
# TODO(rohitrao): This flag is temporary and should be removed as
# soon as the iOS bots are updated to use Xcode 5.1.
- ['"<(GENERATOR)"=="xcode" or clang_xcode==1', {
+ ['clang_xcode==1', {
'WARNING_CFLAGS': [
'-Wno-unknown-warning-option',
],
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698