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

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

Issue 21114002: Add initial prototype for the GN meta-buildsystem. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add owners and readme Created 7 years, 4 months 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 | Annotate | Revision Log
OLDNEW
(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 }
OLDNEW
« no previous file with comments | « tools/gn/secondary/build/config/BUILDCONFIG.gn ('k') | tools/gn/secondary/build/config/win/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698