Chromium Code Reviews| 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/config/nacl/config.gni") | 8 import("//build/config/nacl/config.gni") | 
| 9 import("//build/config/sanitizers/sanitizers.gni") | 9 import("//build/config/sanitizers/sanitizers.gni") | 
| 10 import("//build/toolchain/cc_wrapper.gni") | 10 import("//build/toolchain/cc_wrapper.gni") | 
| 11 import("//build/toolchain/toolchain.gni") | 11 import("//build/toolchain/toolchain.gni") | 
| 12 import("//build_overrides/build.gni") | 12 import("//build_overrides/build.gni") | 
| 13 | 13 | 
| 14 if (current_cpu == "arm" || current_cpu == "arm64") { | 14 if (current_cpu == "arm" || current_cpu == "arm64") { | 
| 15 import("//build/config/arm.gni") | 15 import("//build/config/arm.gni") | 
| 16 } | 16 } | 
| 17 if (current_cpu == "mipsel" || current_cpu == "mips64el") { | 17 if (current_cpu == "mipsel" || current_cpu == "mips64el") { | 
| 18 import("//build/config/mips.gni") | 18 import("//build/config/mips.gni") | 
| 19 } | 19 } | 
| 20 if (is_win) { | |
| 21 import("//build/config/win/visual_studio_version.gni") | |
| 22 } | |
| 20 if (is_mac) { | 23 if (is_mac) { | 
| 21 import("//build/config/mac/symbols.gni") | 24 import("//build/config/mac/symbols.gni") | 
| 22 } | 25 } | 
| 23 | 26 | 
| 24 declare_args() { | 27 declare_args() { | 
| 25 # Default to warnings as errors for default workflow, where we catch | 28 # Default to warnings as errors for default workflow, where we catch | 
| 26 # warnings with known toolchains. Allow overriding this e.g. for Chromium | 29 # warnings with known toolchains. Allow overriding this e.g. for Chromium | 
| 27 # builds on Linux that could use a different version of the compiler. | 30 # builds on Linux that could use a different version of the compiler. | 
| 28 # With GCC, warnings in no-Chromium code are always not treated as errors. | 31 # With GCC, warnings in no-Chromium code are always not treated as errors. | 
| 29 treat_warnings_as_errors = true | 32 treat_warnings_as_errors = true | 
| (...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 902 | 905 | 
| 903 # These are variable shadowing warnings that are new in VS2015. We | 906 # These are variable shadowing warnings that are new in VS2015. We | 
| 904 # should work through these at some point -- they may be removed from | 907 # should work through these at some point -- they may be removed from | 
| 905 # the RTM release in the /W4 set. | 908 # the RTM release in the /W4 set. | 
| 906 "/wd4456", | 909 "/wd4456", | 
| 907 "/wd4457", | 910 "/wd4457", | 
| 908 "/wd4458", | 911 "/wd4458", | 
| 909 "/wd4459", | 912 "/wd4459", | 
| 910 ] | 913 ] | 
| 911 | 914 | 
| 912 cflags += [ | 915 if (visual_studio_version == "2015") { | 
| 913 # C4312 is a VS 2015 64-bit warning for integer to larger pointer. | 916 cflags += [ | 
| 914 # TODO(brucedawson): fix warnings, crbug.com/554200 | 917 # C4312 is a VS 2015 64-bit warning for integer to larger pointer. | 
| 915 "/wd4312", | 918 # TODO(brucedawson): fix warnings, crbug.com/554200 | 
| 916 ] | 919 "/wd4312", | 
| 920 ] | |
| 
 
Michael Achenbach
2016/11/29 09:21:10
Needed to merge non-trivially here...
 
 | |
| 917 | 921 | 
| 918 if (current_cpu == "x86") { | 922 if (current_cpu == "x86") { | 
| 919 cflags += [ | 923 cflags += [ | 
| 920 # VC++ 2015 changes 32-bit size_t truncation warnings from 4244 to | 924 # VC++ 2015 changes 32-bit size_t truncation warnings from 4244 to | 
| 921 # 4267. Example: short TruncTest(size_t x) { return x; } | 925 # 4267. Example: short TruncTest(size_t x) { return x; } | 
| 922 # Since we disable 4244 we need to disable 4267 during migration. | 926 # Since we disable 4244 we need to disable 4267 during migration. | 
| 923 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | 927 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | 
| 924 "/wd4267", | 928 "/wd4267", | 
| 925 ] | 929 ] | 
| 930 } | |
| 926 } | 931 } | 
| 927 | 932 | 
| 928 # VS xtree header file needs to be patched or 4702 (unreachable code | 933 # VS xtree header file needs to be patched or 4702 (unreachable code | 
| 929 # warning) is reported if _HAS_EXCEPTIONS=0. Disable the warning if xtree is | 934 # warning) is reported if _HAS_EXCEPTIONS=0. Disable the warning if xtree is | 
| 930 # not patched. | 935 # not patched. | 
| 931 if (!msvs_xtree_patched && | 936 if (!msvs_xtree_patched && | 
| 932 exec_script("../../win_is_xtree_patched.py", [], "value") == 0) { | 937 exec_script("../../win_is_xtree_patched.py", [], "value") == 0) { | 
| 933 cflags += [ "/wd4702" ] # Unreachable code. | 938 cflags += [ "/wd4702" ] # Unreachable code. | 
| 934 } | 939 } | 
| 935 | 940 | 
| 936 # Building with Clang on Windows is a work in progress and very | 941 # Building with Clang on Windows is a work in progress and very | 
| 937 # experimental. See crbug.com/82385. | 942 # experimental. See crbug.com/82385. | 
| 943 # Keep this in sync with the similar block in build/common.gypi | |
| 938 if (is_clang) { | 944 if (is_clang) { | 
| 939 cflags += [ | 945 cflags += [ | 
| 940 # TODO(hans): Make this list shorter eventually, http://crbug.com/504657 | 946 # TODO(hans): Make this list shorter eventually, http://crbug.com/504657 | 
| 941 "-Wno-microsoft-enum-value", # http://crbug.com/505296 | 947 "-Wno-microsoft-enum-value", # http://crbug.com/505296 | 
| 942 "-Wno-unknown-pragmas", # http://crbug.com/505314 | 948 "-Wno-unknown-pragmas", # http://crbug.com/505314 | 
| 943 "-Wno-microsoft-cast", # http://crbug.com/550065 | 949 "-Wno-microsoft-cast", # http://crbug.com/550065 | 
| 944 ] | 950 ] | 
| 945 } | 951 } | 
| 946 } else { | 952 } else { | 
| 947 if (is_mac && !is_nacl) { | 953 if (is_mac && !is_nacl) { | 
| (...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1537 # | 1543 # | 
| 1538 # configs -= [ "//build/config/compiler:default_symbols" ] | 1544 # configs -= [ "//build/config/compiler:default_symbols" ] | 
| 1539 # configs += [ "//build/config/compiler:symbols" ] | 1545 # configs += [ "//build/config/compiler:symbols" ] | 
| 1540 | 1546 | 
| 1541 # Full symbols. | 1547 # Full symbols. | 
| 1542 config("symbols") { | 1548 config("symbols") { | 
| 1543 if (is_win) { | 1549 if (is_win) { | 
| 1544 import("//build/toolchain/goma.gni") | 1550 import("//build/toolchain/goma.gni") | 
| 1545 cflags = [ "/Zi" ] # Produce PDB file, no edit and continue. | 1551 cflags = [ "/Zi" ] # Produce PDB file, no edit and continue. | 
| 1546 | 1552 | 
| 1547 if (is_win_fastlink) { | 1553 if (is_win_fastlink && visual_studio_version != "2013") { | 
| 1548 # Tell VS 2015+ to create a PDB that references debug | 1554 # Tell VS 2015+ to create a PDB that references debug | 
| 1549 # information in .obj and .lib files instead of copying | 1555 # information in .obj and .lib files instead of copying | 
| 1550 # it all. This flag is incompatible with /PROFILE | 1556 # it all. This flag is incompatible with /PROFILE | 
| 1551 ldflags = [ "/DEBUG:FASTLINK" ] | 1557 ldflags = [ "/DEBUG:FASTLINK" ] | 
| 1552 } else { | 1558 } else { | 
| 1553 ldflags = [ "/DEBUG" ] | 1559 ldflags = [ "/DEBUG" ] | 
| 1554 } | 1560 } | 
| 1555 } else { | 1561 } else { | 
| 1556 if (is_mac || is_ios) { | 1562 if (is_mac || is_ios) { | 
| 1557 cflags = [ "-gdwarf-2" ] | 1563 cflags = [ "-gdwarf-2" ] | 
| (...skipping 21 matching lines...) Expand all Loading... | |
| 1579 } | 1585 } | 
| 1580 asmflags = cflags | 1586 asmflags = cflags | 
| 1581 ldflags = [] | 1587 ldflags = [] | 
| 1582 } | 1588 } | 
| 1583 } | 1589 } | 
| 1584 | 1590 | 
| 1585 # Minimal symbols. | 1591 # Minimal symbols. | 
| 1586 config("minimal_symbols") { | 1592 config("minimal_symbols") { | 
| 1587 if (is_win) { | 1593 if (is_win) { | 
| 1588 # Linker symbols for backtraces only. | 1594 # Linker symbols for backtraces only. | 
| 1589 cflags = [] | 1595 cflags = [] | 
| 
 
Michael Achenbach
2016/11/29 09:21:10
... and here.
 
 | |
| 1590 ldflags = [ "/DEBUG" ] | 1596 ldflags = [ "/DEBUG" ] | 
| 1591 } else { | 1597 } else { | 
| 1592 if (is_android) { | 1598 if (is_android) { | 
| 1593 # Breakpad can't handle DWARF 4 symbols properly yet, so use DWARF 3 | 1599 # Breakpad can't handle DWARF 4 symbols properly yet, so use DWARF 3 | 
| 1594 # explicitly on android where we are hitting https://crbug.com/638485. | 1600 # explicitly on android where we are hitting https://crbug.com/638485. | 
| 1595 # The arguments MUST be in this order because of a gcc arg parsing bug. | 1601 # The arguments MUST be in this order because of a gcc arg parsing bug. | 
| 1596 cflags = [ | 1602 cflags = [ | 
| 1597 "-gdwarf-3", | 1603 "-gdwarf-3", | 
| 1598 "-g1", | 1604 "-g1", | 
| 1599 ] | 1605 ] | 
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1631 | 1637 | 
| 1632 if (is_ios || is_mac) { | 1638 if (is_ios || is_mac) { | 
| 1633 # On Mac and iOS, this enables support for ARC (automatic ref-counting). | 1639 # On Mac and iOS, this enables support for ARC (automatic ref-counting). | 
| 1634 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html. | 1640 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html. | 
| 1635 config("enable_arc") { | 1641 config("enable_arc") { | 
| 1636 common_flags = [ "-fobjc-arc" ] | 1642 common_flags = [ "-fobjc-arc" ] | 
| 1637 cflags_objc = common_flags | 1643 cflags_objc = common_flags | 
| 1638 cflags_objcc = common_flags | 1644 cflags_objcc = common_flags | 
| 1639 } | 1645 } | 
| 1640 } | 1646 } | 
| OLD | NEW |