| OLD | NEW |
| (Empty) |
| 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 | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 # runtime_library ------------------------------------------------------------- | |
| 6 # | |
| 7 # Sets the runtime library and associated options. | |
| 8 # | |
| 9 # We don't bother making multiple versions that are toggle-able since there | |
| 10 # is more than one axis of control (which makes it complicated) and there's | |
| 11 # no practical reason for anybody to change this since the CRT must agree. | |
| 12 | |
| 13 config("runtime_library") { | |
| 14 if (is_component_build) { | |
| 15 # Component mode: dynamic CRT. | |
| 16 defines = [ "COMPONENT_BUILD" ] | |
| 17 if (is_win) { | |
| 18 # Since the library is shared, it requires exceptions or will give errors | |
| 19 # about things not matching, so keep exceptions on. | |
| 20 if (is_debug) { | |
| 21 cflags = [ "/MDd" ] | |
| 22 } else { | |
| 23 cflags = [ "/MD" ] | |
| 24 } | |
| 25 } | |
| 26 } else { | |
| 27 # Static CRT. | |
| 28 if (is_win) { | |
| 29 # We don't use exceptions, and when we link statically we can just get | |
| 30 # rid of them entirely. | |
| 31 defines = [ "_HAS_EXCEPTIONS=0" ] | |
| 32 if (is_debug) { | |
| 33 cflags = [ "/MTd" ] | |
| 34 } else { | |
| 35 cflags = [ "/MT" ] | |
| 36 } | |
| 37 } | |
| 38 } | |
| 39 | |
| 40 if (is_win) { | |
| 41 defines += [ | |
| 42 "__STD_C", | |
| 43 "__STDC_CONSTANT_MACROS", | |
| 44 "__STDC_FORMAT_MACROS", | |
| 45 "_CRT_RAND_S", | |
| 46 "_CRT_SECURE_NO_DEPRECATE", | |
| 47 "_SCL_SECURE_NO_DEPRECATE", | |
| 48 "_UNICODE", | |
| 49 "UNICODE", | |
| 50 ] | |
| 51 } | |
| 52 } | |
| 53 | |
| 54 # chromium_code --------------------------------------------------------------- | |
| 55 # | |
| 56 # Toggles between higher and lower warnings for code that is (or isn't) | |
| 57 # part of Chromium. | |
| 58 | |
| 59 config("chromium_code") { | |
| 60 if (is_win) { | |
| 61 cflags = [ | |
| 62 "/W4", # Warning level 4. | |
| 63 ] | |
| 64 } | |
| 65 } | |
| 66 config("no_chromium_code") { | |
| 67 if (is_win) { | |
| 68 cflags = [ | |
| 69 "/W3", # Warning level 3. | |
| 70 "/wd4800", # Disable warning when forcing value to bool. | |
| 71 ] | |
| 72 defines = [ | |
| 73 "_CRT_NONSTDC_NO_WARNINGS", | |
| 74 "_CRT_NONSTDC_NO_DEPRECATE", | |
| 75 ] | |
| 76 } | |
| 77 } | |
| 78 | |
| 79 # rtti ------------------------------------------------------------------------ | |
| 80 # | |
| 81 # Allows turning Run-Time Type Identification on or off. | |
| 82 | |
| 83 config("rtti") { | |
| 84 if (is_win) { | |
| 85 cflags = [ "/GR" ] | |
| 86 } | |
| 87 } | |
| 88 config("no_rtti") { | |
| 89 if (is_win) { | |
| 90 cflags = [ "/GR-" ] | |
| 91 } | |
| 92 } | |
| 93 | |
| 94 # Warnings --------------------------------------------------------------------- | |
| 95 | |
| 96 config("disable_annoying_warnings") { | |
| 97 if (is_win) { | |
| 98 # Please keep ordered and add names if you add more. | |
| 99 cflags = [ | |
| 100 "/wd4018", # Comparing signed and unsigned values. | |
| 101 "/wd4100", # Unreferenced formal function parameter. | |
| 102 "/wd4121", # Alignment of a member was sensitive to packing. | |
| 103 "/wd4125", # Decimal digit terminates octal escape sequence. | |
| 104 "/wd4127", # Conditional expression is constant. | |
| 105 "/wd4130", # Logical operation on address of string constant. | |
| 106 # TODO(brettw) is this necessary? If so, it should probably be on whoever | |
| 107 # is silly enough to be doing this rather than globally. | |
| 108 #"/wd4131", # Function uses old-style declarator. | |
| 109 "/wd4189", # A variable was declared and initialized but never used. | |
| 110 "/wd4201", # Nonstandard extension used: nameless struct/union. | |
| 111 "/wd4238", # Nonstandard extension used: class rvalue used as lvalue. | |
| 112 "/wd4244", # Conversion: possible loss of data. | |
| 113 "/wd4245", # Conversion: signed/unsigned mismatch, | |
| 114 "/wd4251", # Class needs to have dll-interface. | |
| 115 "/wd4310", # Cast truncates constant value. | |
| 116 "/wd4351", # Elements of array will be default initialized. | |
| 117 "/wd4355", # 'this' used in base member initializer list. | |
| 118 "/wd4396", # Inline friend template thing. | |
| 119 "/wd4428", # Universal character name encountered in source. | |
| 120 "/wd4481", # Nonstandard extension: override specifier. | |
| 121 "/wd4503", # Decorated name length exceeded, name was truncated. | |
| 122 "/wd4505", # Unreferenced local function has been removed. | |
| 123 "/wd4510", # Default constructor could not be generated. | |
| 124 "/wd4512", # Assignment operator could not be generated. | |
| 125 "/wd4530", # Exception handler used, but unwind semantics not enabled. | |
| 126 "/wd4610", # Class can never be instantiated, constructor required. | |
| 127 "/wd4611", # C++ object destruction and 'catch'. | |
| 128 "/wd4701", # Potentially uninitialized local variable name used. | |
| 129 "/wd4702", # Unreachable code. | |
| 130 "/wd4706", # Assignment within conditional expression. | |
| 131 "/wd4819", # Character not in the current code page. | |
| 132 ] | |
| 133 } | |
| 134 } | |
| OLD | NEW |