Index: build/config/compiler/BUILD.gn |
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn |
index 31058facf431ff247d790deb4048d846d979cce7..0b00e1a5917067276def9994cea289e5eff487ad 100644 |
--- a/build/config/compiler/BUILD.gn |
+++ b/build/config/compiler/BUILD.gn |
@@ -90,19 +90,16 @@ config("compiler") { |
"/FS", # Preserve previous PDB behavior. |
] |
if (is_component_build) { |
- cflags += [ |
- "/EHsc", # Assume C functions can't throw exceptions and don't catch |
- # structured exceptions (only C++ ones). |
- ] |
+ cflags += [ "/EHsc" ] # Assume C functions can't throw exceptions and don't catch |
+ # structured exceptions (only C++ ones). |
} |
} else { |
# Common GCC compiler flags setup. |
# -------------------------------- |
- cflags += [ |
- "-fno-strict-aliasing", # See http://crbug.com/32204 |
- ] |
+ cflags += [ "-fno-strict-aliasing" ] # See http://crbug.com/32204 |
cflags_cc += [ |
"-fno-threadsafe-statics", |
+ |
# Not exporting C++ inline functions can generally be applied anywhere |
# so we do so here. Normal function visibility is controlled by |
# //build/config/gcc:symbol_visibility_hidden. |
@@ -113,7 +110,10 @@ config("compiler") { |
if (is_mac) { |
cflags += [ "-fstack-protector-all" ] |
} else if (is_linux) { |
- cflags += [ "-fstack-protector", "--param=ssp-buffer-size=4" ] |
+ cflags += [ |
+ "-fstack-protector", |
+ "--param=ssp-buffer-size=4", |
+ ] |
} |
# Linker warnings. |
@@ -155,11 +155,10 @@ config("compiler") { |
# when turning clang on or off. (defines are passed via the command line, |
# and build system rebuild things when their commandline changes). Nothing |
# should ever read this define. |
- defines += [ |
- "CR_CLANG_REVISION=" + |
- exec_script( |
- "//tools/clang/scripts/posix-print-revision.py", [], "value") |
- ] |
+ defines += [ "CR_CLANG_REVISION=" + |
+ exec_script("//tools/clang/scripts/posix-print-revision.py", |
+ [], |
+ "value") ] |
} |
# Mac-specific compiler flags setup. |
@@ -170,16 +169,22 @@ config("compiler") { |
# CPU architecture. |
if (cpu_arch == "x64") { |
- common_mac_flags += [ "-arch", "x86_64" ] |
+ common_mac_flags += [ |
+ "-arch", |
+ "x86_64", |
+ ] |
} else if (cpu_arch == "x86") { |
- common_mac_flags += [ "-arch", "i386" ] |
+ common_mac_flags += [ |
+ "-arch", |
+ "i386", |
+ ] |
} |
cflags += common_mac_flags |
# Without this, the constructors and destructors of a C++ object inside |
# an Objective C struct won't be called, which is very bad. |
- cflags_objcc = [ "-fobjc-call-cxx-cdtors", ] |
+ cflags_objcc = [ "-fobjc-call-cxx-cdtors" ] |
cflags_c += [ "-std=c99" ] |
cflags_cc += [ "-std=gnu++11" ] |
@@ -189,9 +194,7 @@ config("compiler") { |
# Non-Mac Posix compiler flags setup. |
# ----------------------------------- |
if (gcc_version >= 48) { |
- cflags_cc += [ |
- "-std=gnu++11", |
- ] |
+ cflags_cc += [ "-std=gnu++11" ] |
} |
if (enable_profiling && !is_debug) { |
@@ -216,7 +219,10 @@ config("compiler") { |
# CPU architecture. We may or may not be doing a cross compile now, so for |
# simplicity we always explicitly set the architecture. |
if (cpu_arch == "x64") { |
- cflags += [ "-m64", "-march=x86-64", ] |
+ cflags += [ |
+ "-m64", |
+ "-march=x86-64", |
+ ] |
ldflags += [ "-m64" ] |
} else if (cpu_arch == "x86") { |
cflags += [ "-m32" ] |
@@ -226,6 +232,7 @@ config("compiler") { |
# Else building libyuv gives clang's register allocator issues, |
# see llvm.org/PR15798 / crbug.com/233709 |
"-momit-leaf-frame-pointer", |
+ |
# Align the stack on 16-byte boundaries, http://crbug.com/418554. |
"-mstack-alignment=16", |
"-mstackrealign", |
@@ -257,6 +264,7 @@ config("compiler") { |
# compiler (r5-r7). This can be verified using |
# webkit_unit_tests' WTF.Checked_int8_t test. |
"-fno-tree-sra", |
+ |
# The following option is disabled to improve binary |
# size and performance in gcc 4.9. |
"-fno-caller-saves", |
@@ -299,9 +307,7 @@ config("compiler") { |
# ------------------------------------ |
if (is_linux) { |
cflags += [ "-pthread" ] |
- ldflags += [ |
- "-pthread", |
- ] |
+ ldflags += [ "-pthread" ] |
} |
if (use_gold) { |
# Use gold for linking on 64-bit Linux only (on 32-bit it runs out of |
@@ -340,12 +346,8 @@ config("compiler") { |
# Clang-specific compiler flags setup. |
# ------------------------------------ |
if (is_clang) { |
- cflags += [ |
- "-fcolor-diagnostics", |
- ] |
- cflags_cc += [ |
- "-std=gnu++11", |
- ] |
+ cflags += [ "-fcolor-diagnostics" ] |
+ cflags_cc += [ "-std=gnu++11" ] |
} |
# Android-specific flags setup. |
@@ -358,9 +360,7 @@ config("compiler") { |
] |
if (!is_clang) { |
# Clang doesn't support these flags. |
- cflags += [ |
- "-finline-limit=64", |
- ] |
+ cflags += [ "-finline-limit=64" ] |
} |
if (is_android_webview_build) { |
# Android predefines this as 1; undefine it here so Chromium can redefine |
@@ -391,13 +391,14 @@ config("compiler") { |
ldflags += [ "-fuse-ld=gold" ] |
if (is_clang) { |
# Let clang find the ld.gold in the NDK. |
- ldflags += [ "--gcc-toolchain=" + rebase_path(android_toolchain_root, |
- root_build_dir) ] |
+ ldflags += [ "--gcc-toolchain=" + |
+ rebase_path(android_toolchain_root, root_build_dir) ] |
} |
} |
ldflags += [ |
"-Wl,--no-undefined", |
+ |
# Don't export symbols from statically linked libraries. |
"-Wl,--exclude-libs=ALL", |
] |
@@ -410,9 +411,7 @@ config("compiler") { |
if (is_clang) { |
if (cpu_arch == "arm") { |
- cflags += [ |
- "-target arm-linux-androideabi", |
- ] |
+ cflags += [ "-target arm-linux-androideabi" ] |
ldflags += [ "-target arm-linux-androideabi" ] |
} else if (cpu_arch == "x86") { |
cflags += [ "-target x86-linux-androideabi" ] |
@@ -424,9 +423,7 @@ config("compiler") { |
config("compiler_arm_fpu") { |
if (cpu_arch == "arm" && !is_android_webview_build) { |
- cflags = [ |
- "-mfpu=$arm_fpu", |
- ] |
+ cflags = [ "-mfpu=$arm_fpu" ] |
} |
} |
@@ -513,10 +510,8 @@ config("runtime_library") { |
# caution. |
android_stlport_root = "$android_ndk_root/sources/cxx-stl/stlport" |
- cflags += [ |
- "-isystem" + rebase_path("$android_stlport_root/stlport", |
- root_build_dir) |
- ] |
+ cflags += [ "-isystem" + |
+ rebase_path("$android_stlport_root/stlport", root_build_dir) ] |
if (cpu_arch == "arm" && arm_use_thumb) { |
lib_dirs += [ "$android_stlport_root/libs/$android_app_abi/thumb" ] |
} else { |
@@ -550,7 +545,6 @@ config("runtime_library") { |
"dl", |
"m", |
] |
- |
} |
} |
@@ -561,9 +555,7 @@ config("runtime_library") { |
config("chromium_code") { |
if (is_win) { |
- cflags = [ |
- "/W4", # Warning level 4. |
- ] |
+ cflags = [ "/W4" ] # Warning level 4. |
} else { |
cflags = [ |
"-Wall", |
@@ -661,8 +653,7 @@ config("no_rtti") { |
config("default_warnings") { |
if (is_win) { |
cflags = [ |
- "/WX", # Treat warnings as errors. |
- |
+ "/WX", # Treat warnings as errors. |
# Warnings permanently disabled: |
# TODO(GYP) The GYP build doesn't have this globally enabled but disabled |
@@ -717,8 +708,6 @@ config("default_warnings") { |
# have to turn off this warning (and be careful about how object |
# destruction happens in such cases). |
"/wd4611", |
- |
- |
# Warnings to evaluate and possibly fix/reenable later: |
"/wd4100", # Unreferenced formal function parameter. |
@@ -745,9 +734,7 @@ config("default_warnings") { |
cflags_cc = [] |
if (is_mac) { |
- cflags += [ |
- "-Wnewline-eof", |
- ] |
+ cflags += [ "-Wnewline-eof" ] |
} |
if (is_clang) { |
@@ -785,6 +772,7 @@ config("default_warnings") { |
cflags_cc += [ |
# See comment for -Wno-c++11-narrowing. |
"-Wno-narrowing", |
+ |
# TODO(thakis): Remove, http://crbug.com/263960 |
"-Wno-literal-suffix", |
] |
@@ -811,6 +799,7 @@ config("default_warnings") { |
# correctly when building with the Android build system. |
# TODO(torne): Fix this in WebKit. |
"-Wno-error=c++0x-compat", |
+ |
# Other things unrelated to -Wextra: |
"-Wno-non-virtual-dtor", |
"-Wno-sign-promo", |
@@ -821,9 +810,7 @@ config("default_warnings") { |
# Don't warn about the "typedef 'foo' locally defined but not used" |
# for gcc 4.8. |
# TODO: remove this flag once all builds work. See crbug.com/227506 |
- cflags += [ |
- "-Wno-unused-local-typedefs", |
- ] |
+ cflags += [ "-Wno-unused-local-typedefs" ] |
} |
} |
} |
@@ -854,7 +841,7 @@ if (is_win) { |
"/O2", |
"/Ob2", # both explicit and auto inlining. |
"/Oy-", # disable omitting frame pointers, must be after /o2. |
- "/Os", # favor size over speed. |
+ "/Os", # favor size over speed. |
] |
common_optimize_on_ldflags = [] |
} else { |
@@ -862,6 +849,7 @@ if (is_win) { |
# Don't emit the GCC version ident directives, they just end up in the |
# .comment section taking up binary size. |
"-fno-ident", |
+ |
# Put data and code in their own sections, so that unused symbols |
# can be removed at link time with --gc-sections. |
"-fdata-sections", |
@@ -882,9 +870,7 @@ if (is_win) { |
if (is_mac) { |
if (symbol_level == 2) { |
# Mac dead code stripping requires symbols. |
- common_optimize_on_ldflags += [ |
- "-Wl,-dead_strip", |
- ] |
+ common_optimize_on_ldflags += [ "-Wl,-dead_strip" ] |
} |
} else { |
# Non-Mac Posix linker flags. |
@@ -903,17 +889,11 @@ config("optimize") { |
cflags = common_optimize_on_cflags |
ldflags = common_optimize_on_ldflags |
if (is_win) { |
- cflags += [ |
- "/Os", # favor size over speed. |
- ] |
+ cflags += [ "/Os" ] # favor size over speed. |
} else if (is_android || is_ios) { |
- cflags += [ |
- "-Os", # Favor size over speed. |
- ] |
+ cflags += [ "-Os" ] # Favor size over speed. |
} else { |
- cflags += [ |
- "-O2", |
- ] |
+ cflags += [ "-O2" ] |
} |
} |
@@ -949,32 +929,25 @@ config("optimize_max") { |
cflags = common_optimize_on_cflags |
ldflags = common_optimize_on_ldflags |
if (is_win) { |
- cflags -= [ |
- "/Os", |
- ] |
- cflags += [ |
- "/Ot", # Favor speed over size. |
- ] |
+ cflags -= [ "/Os" ] |
+ cflags += [ "/Ot" ] # Favor speed over size. |
if (is_official_build) { |
# TODO(GYP): TODO(dpranke): Should these only be on in an official |
# build, or on all the time? For now we'll require official build so |
# that the compile is clean. |
cflags += [ |
- "/GL", # Whole program optimization. |
+ "/GL", # Whole program optimization. |
+ |
# Disable Warning 4702 ("Unreachable code") for the WPO/PGO builds. |
# Probably anything that this would catch that wouldn't be caught in a |
# normal build isn't going to actually be a bug, so the incremental |
# value of C4702 for PGO builds is likely very small. |
"/wd4702", |
] |
- ldflags += [ |
- "/LTCG", |
- ] |
+ ldflags += [ "/LTCG" ] |
} |
} else { |
- cflags += [ |
- "-O2", |
- ] |
+ cflags += [ "-O2" ] |
} |
} |