OLD | NEW |
---|---|
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/android/config.gni") | 5 import("//build/config/android/config.gni") |
6 if (cpu_arch == "arm") { | 6 if (cpu_arch == "arm") { |
7 import("//build/config/arm.gni") | 7 import("//build/config/arm.gni") |
8 } | 8 } |
9 if (is_posix) { | 9 if (is_posix) { |
10 import("//build/config/gcc/gcc_version.gni") | 10 import("//build/config/gcc/gcc_version.gni") |
11 } | 11 } |
12 | 12 |
13 import("//build/toolchain/ccache.gni") | 13 import("//build/toolchain/ccache.gni") |
14 | 14 |
15 # Default arch variants for MIPS platforms. | |
16 if (cpu_arch == "mipsel") { | |
17 mips_arch_variant_default = "r1" | |
18 } else if (cpu_arch == "mips64el") { | |
19 if (is_android) { | |
20 mips_arch_variant_default = "r6" | |
21 } else { | |
22 mips_arch_variant_default = "r2" | |
23 } | |
24 } else { | |
25 mips_arch_variant_default = "" | |
26 } | |
27 | |
15 declare_args() { | 28 declare_args() { |
16 # Normally, Android builds are lightly optimized, even for debug builds, to | 29 # Normally, Android builds are lightly optimized, even for debug builds, to |
17 # keep binary size down. Setting this flag to true disables such optimization | 30 # keep binary size down. Setting this flag to true disables such optimization |
18 android_full_debug = false | 31 android_full_debug = false |
19 | 32 |
20 # Whether to use the binary binutils checked into third_party/binutils. | 33 # Whether to use the binary binutils checked into third_party/binutils. |
21 # These are not multi-arch so cannot be used except on x86 and x86-64 (the | 34 # These are not multi-arch so cannot be used except on x86 and x86-64 (the |
22 # only two architectures that are currently checked in). Turn this off when | 35 # only two architectures that are currently checked in). Turn this off when |
23 # you are using a custom toolchain and need to control -B in cflags. | 36 # you are using a custom toolchain and need to control -B in cflags. |
24 linux_use_bundled_binutils = is_linux && cpu_arch == "x64" | 37 linux_use_bundled_binutils = is_linux && cpu_arch == "x64" |
25 | 38 |
39 # MIPS arch variant. | |
40 mips_arch_variant = mips_arch_variant_default | |
wtc
2015/01/07 23:00:22
Is there a better way to provide a platform-depend
| |
41 | |
26 # Compile in such a way as to enable profiling of the generated code. For | 42 # Compile in such a way as to enable profiling of the generated code. For |
27 # example, don't omit the frame pointer and leave in symbols. | 43 # example, don't omit the frame pointer and leave in symbols. |
28 enable_profiling = false | 44 enable_profiling = false |
29 | 45 |
30 # Compile in such a way as to make it possible for the profiler to unwind full | 46 # Compile in such a way as to make it possible for the profiler to unwind full |
31 # stack frames. Setting this flag has a large effect on the performance of the | 47 # stack frames. Setting this flag has a large effect on the performance of the |
32 # generated code than just setting profiling, but gives the profiler more | 48 # generated code than just setting profiling, but gives the profiler more |
33 # information to analyze. | 49 # information to analyze. |
34 # Requires profiling to be set to true. | 50 # Requires profiling to be set to true. |
35 enable_full_stack_frames_for_profiling = false | 51 enable_full_stack_frames_for_profiling = false |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
264 # compiler (r5-r7). This can be verified using | 280 # compiler (r5-r7). This can be verified using |
265 # webkit_unit_tests' WTF.Checked_int8_t test. | 281 # webkit_unit_tests' WTF.Checked_int8_t test. |
266 "-fno-tree-sra", | 282 "-fno-tree-sra", |
267 | 283 |
268 # The following option is disabled to improve binary | 284 # The following option is disabled to improve binary |
269 # size and performance in gcc 4.9. | 285 # size and performance in gcc 4.9. |
270 "-fno-caller-saves", | 286 "-fno-caller-saves", |
271 ] | 287 ] |
272 } | 288 } |
273 } | 289 } |
290 } else if (cpu_arch == "mipsel") { | |
291 # Don't set the compiler flags for the WebView build. These will come | |
292 # from the Android build system. | |
293 if (!is_android_webview_build) { | |
294 if (mips_arch_variant == "r6") { | |
295 cflags += [ | |
296 "-mips32r6", | |
297 "-Wa,-mips32r6", | |
298 ] | |
299 if (is_android) { | |
300 ldflags += [ | |
301 "-mips32r6", | |
302 "-Wl,-melf32ltsmip", | |
wtc
2015/01/07 23:00:22
I don't know what this flag is for. I copied it fr
| |
303 ] | |
304 } | |
305 } else if (mips_arch_variant == "r2") { | |
306 cflags += [ | |
307 "-mips32r2", | |
308 "-Wa,-mips32r2", | |
309 ] | |
310 } else if (mips_arch_variant == "r1") { | |
311 cflags += [ | |
312 "-mips32", | |
313 "-Wa,-mips32", | |
314 ] | |
315 } | |
316 } | |
317 } else if (cpu_arch == "mips64el") { | |
318 # Don't set the compiler flags for the WebView build. These will come | |
319 # from the Android build system. | |
320 if (!is_android_webview_build) { | |
321 if (mips_arch_variant == "r6") { | |
322 cflags += [ | |
323 "-mips64r6", | |
324 "-Wa,-mips64r6", | |
325 ] | |
326 ldflags += [ "-mips64r6" ] | |
327 } else if (mips_arch_variant == "r2") { | |
328 cflags += [ | |
329 "-mips64r2", | |
330 "-Wa,-mips64r2", | |
331 ] | |
332 ldflags += [ "-mips64r2" ] | |
333 } | |
334 } | |
274 } | 335 } |
275 | 336 |
276 defines += [ "_FILE_OFFSET_BITS=64" ] | 337 defines += [ "_FILE_OFFSET_BITS=64" ] |
277 | 338 |
278 # Omit unwind support in official builds to save space. We can use breakpad | 339 # Omit unwind support in official builds to save space. We can use breakpad |
279 # for these builds. | 340 # for these builds. |
280 if (is_chrome_branded && is_official_build) { | 341 if (is_chrome_branded && is_official_build) { |
281 cflags += [ | 342 cflags += [ |
282 "-fno-unwind-tables", | 343 "-fno-unwind-tables", |
283 "-fno-asynchronous-unwind-tables", | 344 "-fno-asynchronous-unwind-tables", |
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
987 cflags += [ "-gsplit-dwarf" ] | 1048 cflags += [ "-gsplit-dwarf" ] |
988 } | 1049 } |
989 } | 1050 } |
990 } | 1051 } |
991 | 1052 |
992 config("no_symbols") { | 1053 config("no_symbols") { |
993 if (!is_win) { | 1054 if (!is_win) { |
994 cflags = [ "-g0" ] | 1055 cflags = [ "-g0" ] |
995 } | 1056 } |
996 } | 1057 } |
OLD | NEW |