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

Side by Side Diff: build/config/compiler/BUILD.gn

Issue 706203003: Update from https://crrev.com/303153 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « build/config/android/config.gni ('k') | build/config/features.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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")
(...skipping 28 matching lines...) Expand all
39 # source root and might have conflicting versions of some headers) can remove 39 # source root and might have conflicting versions of some headers) can remove
40 # this and specify their own include paths. 40 # this and specify their own include paths.
41 config("default_include_dirs") { 41 config("default_include_dirs") {
42 include_dirs = [ 42 include_dirs = [
43 "//", 43 "//",
44 root_gen_dir, 44 root_gen_dir,
45 ] 45 ]
46 } 46 }
47 47
48 # TODO(GYP): is_ubsan, is_ubsan_vptr 48 # TODO(GYP): is_ubsan, is_ubsan_vptr
49 using_sanitizer = is_asan || is_lsan || is_tsan || is_msan 49 if (!is_win) {
50 using_sanitizer = is_asan || is_lsan || is_tsan || is_msan
51 }
50 52
51 # compiler --------------------------------------------------------------------- 53 # compiler ---------------------------------------------------------------------
52 # 54 #
53 # Base compiler configuration. 55 # Base compiler configuration.
54 # 56 #
55 # See also "runtime_library" below for related stuff and a discusison about 57 # See also "runtime_library" below for related stuff and a discusison about
56 # where stuff should go. Put warning related stuff in the "warnings" config. 58 # where stuff should go. Put warning related stuff in the "warnings" config.
57 59
58 config("compiler") { 60 config("compiler") {
59 cflags = [] 61 cflags = []
(...skipping 13 matching lines...) Expand all
73 "/Gy", # Enable function-level linking. 75 "/Gy", # Enable function-level linking.
74 "/GS", # Enable buffer security checking. 76 "/GS", # Enable buffer security checking.
75 "/FS", # Preserve previous PDB behavior. 77 "/FS", # Preserve previous PDB behavior.
76 ] 78 ]
77 if (is_component_build) { 79 if (is_component_build) {
78 cflags += [ 80 cflags += [
79 "/EHsc", # Assume C functions can't throw exceptions and don't catch 81 "/EHsc", # Assume C functions can't throw exceptions and don't catch
80 # structured exceptions (only C++ ones). 82 # structured exceptions (only C++ ones).
81 ] 83 ]
82 } 84 }
83 if (using_sanitizer) {
84 # Avoid error.
85 }
86 } else { 85 } else {
87 # Common GCC compiler flags setup. 86 # Common GCC compiler flags setup.
88 # -------------------------------- 87 # --------------------------------
89 cflags += [ 88 cflags += [
90 "-fno-strict-aliasing", # See http://crbug.com/32204 89 "-fno-strict-aliasing", # See http://crbug.com/32204
91 ] 90 ]
92 cflags_cc += [ 91 cflags_cc += [
93 "-fno-threadsafe-statics", 92 "-fno-threadsafe-statics",
94 # Not exporting C++ inline functions can generally be applied anywhere 93 # Not exporting C++ inline functions can generally be applied anywhere
95 # so we do so here. Normal function visibility is controlled by 94 # so we do so here. Normal function visibility is controlled by
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 # Think of them like system headers, but don't use '-isystem' because the 478 # Think of them like system headers, but don't use '-isystem' because the
480 # arm-linux-androideabi-4.4.3 toolchain (circa Gingerbread) will exhibit 479 # arm-linux-androideabi-4.4.3 toolchain (circa Gingerbread) will exhibit
481 # strange errors. The include ordering here is important; change with 480 # strange errors. The include ordering here is important; change with
482 # caution. 481 # caution.
483 android_stlport_root = "$android_ndk_root/sources/cxx-stl/stlport" 482 android_stlport_root = "$android_ndk_root/sources/cxx-stl/stlport"
484 483
485 cflags += [ 484 cflags += [
486 "-isystem" + rebase_path("$android_stlport_root/stlport", 485 "-isystem" + rebase_path("$android_stlport_root/stlport",
487 root_build_dir) 486 root_build_dir)
488 ] 487 ]
489 lib_dirs += [ "$android_stlport_root/libs/$android_app_abi" ] 488 if (arm_use_thumb) {
489 lib_dirs += [ "$android_stlport_root/libs/$android_app_abi/thumb" ]
490 } else {
491 lib_dirs += [ "$android_stlport_root/libs/$android_app_abi" ]
492 }
490 493
491 if (component_mode == "shared_library") { 494 if (component_mode == "shared_library") {
492 libs += [ "stlport_shared" ] 495 libs += [ "stlport_shared" ]
493 } else { 496 } else {
494 libs += [ "stlport_static" ] 497 libs += [ "stlport_static" ]
495 } 498 }
496 499
497 if (cpu_arch == "mipsel") { 500 if (cpu_arch == "mipsel") {
498 libs += [ 501 libs += [
499 # ld linker is used for mips Android, and ld does not accept library 502 # ld linker is used for mips Android, and ld does not accept library
(...skipping 21 matching lines...) Expand all
521 524
522 # chromium_code --------------------------------------------------------------- 525 # chromium_code ---------------------------------------------------------------
523 # 526 #
524 # Toggles between higher and lower warnings for code that is (or isn't) 527 # Toggles between higher and lower warnings for code that is (or isn't)
525 # part of Chromium. 528 # part of Chromium.
526 529
527 config("chromium_code") { 530 config("chromium_code") {
528 if (is_win) { 531 if (is_win) {
529 cflags = [ 532 cflags = [
530 "/W4", # Warning level 4. 533 "/W4", # Warning level 4.
531 "/wd4267", # TODO(jschuh): crbug.com/167187 size_t to int truncations.
532 ] 534 ]
533 } else { 535 } else {
534 cflags = [ 536 cflags = [
535 "-Wall", 537 "-Wall",
536 "-Wextra",
537 538
538 # GCC turns on -Wsign-compare for C++ under -Wall, but clang doesn't, 539 # GCC turns on -Wsign-compare for C++ under -Wall, but clang doesn't,
539 # so we specify it explicitly. 540 # so we specify it explicitly.
540 # TODO(fischman): remove this if http://llvm.org/PR10448 obsoletes it. 541 # TODO(fischman): remove this if http://llvm.org/PR10448 obsoletes it.
541 # http://code.google.com/p/chromium/issues/detail?id=90453 542 # http://code.google.com/p/chromium/issues/detail?id=90453
542 "-Wsign-compare", 543 "-Wsign-compare",
543 ] 544 ]
544 545
545 # In Chromium code, we define __STDC_foo_MACROS in order to get the 546 # In Chromium code, we define __STDC_foo_MACROS in order to get the
546 # C99 macros on Mac and Linux. 547 # C99 macros on Mac and Linux.
547 defines = [ 548 defines = [
548 "__STDC_CONSTANT_MACROS", 549 "__STDC_CONSTANT_MACROS",
549 "__STDC_FORMAT_MACROS", 550 "__STDC_FORMAT_MACROS",
550 ] 551 ]
551 } 552 }
552 } 553 }
553 config("no_chromium_code") { 554 config("no_chromium_code") {
554 cflags = [] 555 cflags = []
555 cflags_cc = [] 556 cflags_cc = []
556 defines = [] 557 defines = []
557 558
558 if (is_win) { 559 if (is_win) {
559 cflags += [ 560 cflags += [
560 "/W3", # Warning level 3. 561 "/W3", # Warning level 3.
561 "/wd4800", # Disable warning when forcing value to bool. 562 "/wd4800", # Disable warning when forcing value to bool.
562 "/wd4267", # TODO(jschuh): crbug.com/167187 size_t to int truncations.
563 ] 563 ]
564 defines += [ 564 defines += [
565 "_CRT_NONSTDC_NO_WARNINGS", 565 "_CRT_NONSTDC_NO_WARNINGS",
566 "_CRT_NONSTDC_NO_DEPRECATE", 566 "_CRT_NONSTDC_NO_DEPRECATE",
567 ] 567 ]
568 } 568 }
569 569
570 if (is_linux) { 570 if (is_linux) {
571 # Don't warn about ignoring the return value from e.g. close(). This is 571 # Don't warn about ignoring the return value from e.g. close(). This is
572 # off by default in some gccs but on by default in others. BSD systems do 572 # off by default in some gccs but on by default in others. BSD systems do
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 cflags += [ "-gsplit-dwarf" ] 957 cflags += [ "-gsplit-dwarf" ]
958 } 958 }
959 } 959 }
960 } 960 }
961 961
962 config("no_symbols") { 962 config("no_symbols") {
963 if (!is_win) { 963 if (!is_win) {
964 cflags = [ "-g0" ] 964 cflags = [ "-g0" ]
965 } 965 }
966 } 966 }
OLDNEW
« no previous file with comments | « build/config/android/config.gni ('k') | build/config/features.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698