| 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 import("//build/config/chrome_build.gni") | 6 import("//build/config/chrome_build.gni") |
| 7 import("//build/config/compiler/compiler.gni") | 7 import("//build/config/compiler/compiler.gni") |
| 8 import("//build/toolchain/ccache.gni") | 8 import("//build/toolchain/ccache.gni") |
| 9 | 9 |
| 10 if (current_cpu == "arm") { | 10 if (current_cpu == "arm") { |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 } | 86 } |
| 87 | 87 |
| 88 # compiler --------------------------------------------------------------------- | 88 # compiler --------------------------------------------------------------------- |
| 89 # | 89 # |
| 90 # Base compiler configuration. | 90 # Base compiler configuration. |
| 91 # | 91 # |
| 92 # See also "runtime_library" below for related stuff and a discussion about | 92 # See also "runtime_library" below for related stuff and a discussion about |
| 93 # where stuff should go. Put warning related stuff in the "warnings" config. | 93 # where stuff should go. Put warning related stuff in the "warnings" config. |
| 94 | 94 |
| 95 config("compiler") { | 95 config("compiler") { |
| 96 asmflags = [] |
| 96 cflags = [] | 97 cflags = [] |
| 97 cflags_c = [] | 98 cflags_c = [] |
| 98 cflags_cc = [] | 99 cflags_cc = [] |
| 99 cflags_objc = [] | 100 cflags_objc = [] |
| 100 cflags_objcc = [] | 101 cflags_objcc = [] |
| 101 ldflags = [] | 102 ldflags = [] |
| 102 defines = [] | 103 defines = [] |
| 103 configs = [] | 104 configs = [] |
| 104 | 105 |
| 105 # System-specific flags. If your compiler flags apply to one of the | 106 # System-specific flags. If your compiler flags apply to one of the |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 446 # TODO(mcgrathr) - the NaCl GCC toolchain doesn't support either gnu++11 | 447 # TODO(mcgrathr) - the NaCl GCC toolchain doesn't support either gnu++11 |
| 447 # or c++11; we technically don't need this toolchain any more, but there | 448 # or c++11; we technically don't need this toolchain any more, but there |
| 448 # are still a few buildbots using it, so until those are turned off | 449 # are still a few buildbots using it, so until those are turned off |
| 449 # we need the !is_nacl clause and the (is_nacl && is_clang) clause, above. | 450 # we need the !is_nacl clause and the (is_nacl && is_clang) clause, above. |
| 450 cflags_cc += [ "-std=c++11" ] | 451 cflags_cc += [ "-std=c++11" ] |
| 451 } | 452 } |
| 452 | 453 |
| 453 # Pass the same C/C++ flags to the objective C/C++ compiler. | 454 # Pass the same C/C++ flags to the objective C/C++ compiler. |
| 454 cflags_objc += cflags_c | 455 cflags_objc += cflags_c |
| 455 cflags_objcc += cflags_cc | 456 cflags_objcc += cflags_cc |
| 457 |
| 458 # Assign any flags set for the C compiler to asmflags so that they are sent |
| 459 # to the assembler. The Windows assembler takes different types of flags |
| 460 # so only do so for posix platforms. |
| 461 if (is_posix) { |
| 462 asmflags += cflags |
| 463 asmflags += cflags_c |
| 464 } |
| 456 } | 465 } |
| 457 | 466 |
| 458 config("compiler_arm_fpu") { | 467 config("compiler_arm_fpu") { |
| 459 if (current_cpu == "arm" && !is_ios && !is_nacl) { | 468 if (current_cpu == "arm" && !is_ios && !is_nacl) { |
| 460 cflags = [ "-mfpu=$arm_fpu" ] | 469 cflags = [ "-mfpu=$arm_fpu" ] |
| 470 asmflags = cflags |
| 461 } | 471 } |
| 462 } | 472 } |
| 463 | 473 |
| 464 # runtime_library ------------------------------------------------------------- | 474 # runtime_library ------------------------------------------------------------- |
| 465 # | 475 # |
| 466 # Sets the runtime library and associated options. | 476 # Sets the runtime library and associated options. |
| 467 # | 477 # |
| 468 # How do you determine what should go in here vs. "compiler" above? Consider if | 478 # How do you determine what should go in here vs. "compiler" above? Consider if |
| 469 # a target might choose to use a different runtime library (ignore for a moment | 479 # a target might choose to use a different runtime library (ignore for a moment |
| 470 # if this is possible or reasonable on your system). If such a target would want | 480 # if this is possible or reasonable on your system). If such a target would want |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 799 cflags += [ | 809 cflags += [ |
| 800 # Don't warn about printf format problems. This is off by default in gcc | 810 # Don't warn about printf format problems. This is off by default in gcc |
| 801 # but on in Ubuntu's gcc(!). | 811 # but on in Ubuntu's gcc(!). |
| 802 "-Wno-format", | 812 "-Wno-format", |
| 803 ] | 813 ] |
| 804 cflags_cc += [ | 814 cflags_cc += [ |
| 805 # Don't warn about hash_map in third-party code. | 815 # Don't warn about hash_map in third-party code. |
| 806 "-Wno-deprecated", | 816 "-Wno-deprecated", |
| 807 ] | 817 ] |
| 808 } | 818 } |
| 819 |
| 809 cflags += default_warning_flags | 820 cflags += default_warning_flags |
| 810 cflags_cc += default_warning_flags_cc | 821 cflags_cc += default_warning_flags_cc |
| 811 } | 822 } |
| 812 | 823 |
| 813 # rtti ------------------------------------------------------------------------ | 824 # rtti ------------------------------------------------------------------------ |
| 814 # | 825 # |
| 815 # Allows turning Run-Time Type Identification on or off. | 826 # Allows turning Run-Time Type Identification on or off. |
| 816 | 827 |
| 817 config("rtti") { | 828 config("rtti") { |
| 818 if (is_win) { | 829 if (is_win) { |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1076 # it all. This flag is incompatible with /PROFILE | 1087 # it all. This flag is incompatible with /PROFILE |
| 1077 ldflags = [ "/DEBUG:FASTLINK" ] | 1088 ldflags = [ "/DEBUG:FASTLINK" ] |
| 1078 } else { | 1089 } else { |
| 1079 ldflags = [ "/DEBUG" ] | 1090 ldflags = [ "/DEBUG" ] |
| 1080 } | 1091 } |
| 1081 } else { | 1092 } else { |
| 1082 cflags = [ "-g2" ] | 1093 cflags = [ "-g2" ] |
| 1083 if (use_debug_fission) { | 1094 if (use_debug_fission) { |
| 1084 cflags += [ "-gsplit-dwarf" ] | 1095 cflags += [ "-gsplit-dwarf" ] |
| 1085 } | 1096 } |
| 1097 asmflags = cflags |
| 1086 ldflags = [] | 1098 ldflags = [] |
| 1087 } | 1099 } |
| 1088 } | 1100 } |
| 1089 | 1101 |
| 1090 # Minimal symbols. | 1102 # Minimal symbols. |
| 1091 config("minimal_symbols") { | 1103 config("minimal_symbols") { |
| 1092 if (is_win) { | 1104 if (is_win) { |
| 1093 # Linker symbols for backtraces only. | 1105 # Linker symbols for backtraces only. |
| 1094 cflags = [] | 1106 cflags = [] |
| 1095 if (is_win_fastlink) { | 1107 if (is_win_fastlink) { |
| 1096 # Tell VS 2015+ to create a PDB that references debug | 1108 # Tell VS 2015+ to create a PDB that references debug |
| 1097 # information in .obj and .lib files instead of copying | 1109 # information in .obj and .lib files instead of copying |
| 1098 # it all. This flag is incompatible with /PROFILE | 1110 # it all. This flag is incompatible with /PROFILE |
| 1099 ldflags = [ "/DEBUG:FASTLINK" ] | 1111 ldflags = [ "/DEBUG:FASTLINK" ] |
| 1100 } else { | 1112 } else { |
| 1101 ldflags = [ "/DEBUG" ] | 1113 ldflags = [ "/DEBUG" ] |
| 1102 } | 1114 } |
| 1103 } else { | 1115 } else { |
| 1104 cflags = [ "-g1" ] | 1116 cflags = [ "-g1" ] |
| 1105 if (use_debug_fission) { | 1117 if (use_debug_fission) { |
| 1106 cflags += [ "-gsplit-dwarf" ] | 1118 cflags += [ "-gsplit-dwarf" ] |
| 1107 } | 1119 } |
| 1120 asmflags = cflags |
| 1108 ldflags = [] | 1121 ldflags = [] |
| 1109 } | 1122 } |
| 1110 } | 1123 } |
| 1111 | 1124 |
| 1112 # No symbols. | 1125 # No symbols. |
| 1113 config("no_symbols") { | 1126 config("no_symbols") { |
| 1114 if (!is_win) { | 1127 if (!is_win) { |
| 1115 cflags = [ "-g0" ] | 1128 cflags = [ "-g0" ] |
| 1129 asmflags = cflags |
| 1116 } | 1130 } |
| 1117 } | 1131 } |
| 1118 | 1132 |
| 1119 # Default symbols. | 1133 # Default symbols. |
| 1120 config("default_symbols") { | 1134 config("default_symbols") { |
| 1121 if (symbol_level == 0) { | 1135 if (symbol_level == 0) { |
| 1122 configs = [ ":no_symbols" ] | 1136 configs = [ ":no_symbols" ] |
| 1123 } else if (symbol_level == 1) { | 1137 } else if (symbol_level == 1) { |
| 1124 configs = [ ":minimal_symbols" ] | 1138 configs = [ ":minimal_symbols" ] |
| 1125 } else if (symbol_level == 2) { | 1139 } else if (symbol_level == 2) { |
| 1126 configs = [ ":symbols" ] | 1140 configs = [ ":symbols" ] |
| 1127 } else { | 1141 } else { |
| 1128 assert(false) | 1142 assert(false) |
| 1129 } | 1143 } |
| 1130 } | 1144 } |
| OLD | NEW |