OLD | NEW |
| (Empty) |
1 # Copyright (c) 2006-2008 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 __doc__ = """ | |
6 Essential settings for Chromium builds. | |
7 """ | |
8 | |
9 Import("env") | |
10 | |
11 env.Append( | |
12 CPPPATH = [ | |
13 '$CHROME_SRC_DIR', | |
14 ], | |
15 CCFLAGS = [ | |
16 '$CHROMIUM_CC_OPT_FLAGS', | |
17 ], | |
18 LINKFLAGS = [ | |
19 '$CHROMIUM_LINK_OPT_FLAGS', | |
20 '$CHROMIUM_INCREMENTAL_FLAGS', | |
21 ], | |
22 ) | |
23 | |
24 if env.Bit('windows'): | |
25 incremental = env.get('INCREMENTAL') | |
26 if incremental is not None: | |
27 if incremental: | |
28 env['CHROMIUM_INCREMENTAL_FLAGS'] = '/INCREMENTAL' | |
29 else: | |
30 env['CHROMIUM_INCREMENTAL_FLAGS'] = '/INCREMENTAL:NO' | |
31 env.Append( | |
32 ARFLAGS = [ | |
33 '/ignore:4221', | |
34 ], | |
35 CPPDEFINES = [ | |
36 ('_WIN32_WINNT', '0x0600'), | |
37 ('WINVER', '0x0600'), | |
38 'WIN32', | |
39 '_WINDOWS', | |
40 ('_HAS_EXCEPTIONS', 0), | |
41 'NOMINMAX', | |
42 '_CRT_RAND_S', | |
43 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS', | |
44 'WIN32_LEAN_AND_MEAN', | |
45 '_SECURE_ATL', | |
46 ('_HAS_TR1', 0), | |
47 ], | |
48 CPPPATH = [ | |
49 '$PLATFORMSDK_6_1/Include', | |
50 '$VISUAL_STUDIO/VC/atlmfc/include', | |
51 ], | |
52 CCFLAGS = [ | |
53 '/GR-', # VCCLCompilerTool.RuntimeTypeInfo="false" | |
54 '/Gs', # VCCLCompilerTool.BufferSecurityCheck="true" | |
55 '/Gy', # VCCLCompilerTool.EnableFunctionLevelLinking="true" | |
56 '/W3', # VCCLCompilerTool.WarningLevel="3" | |
57 | |
58 # TODO(sgk): re-enable this | |
59 #'/WX', # WarnAsError="true" | |
60 | |
61 # In the old Visual Studio build, we used /Zi (edit and continue), | |
62 # VCCLComilerTool.DebugInformationFormat="3". | |
63 # | |
64 # /Zi ends up with multiple compiler invocations trying to updat | |
65 # the same vc80.pdb file at the same time, with race conditions | |
66 # and permission problems. We're using /Z7 because it makes things | |
67 # work even in parallel builds, without special config to avoid | |
68 # multiple simultaneous updates the vc80.pdb file. All the | |
69 # debugging information and capability still end up in the | |
70 # executables. | |
71 '/Z7', # VCCLCompilerTool.DebugInformationFormat="1" | |
72 | |
73 # VCCLCompilerTool.DisableSpecificWarnings="4503; 4819" | |
74 '/wd4503', | |
75 '/wd4819', | |
76 ], | |
77 LIBPATH = [ | |
78 '$PLATFORMSDK_6_1/Lib', | |
79 '$VISUAL_STUDIO/VC/atlmfc/lib', | |
80 ], | |
81 LIBS = [ | |
82 'msimg32', | |
83 'psapi', | |
84 'usp10.lib', | |
85 'version', | |
86 'wininet', | |
87 'ws2_32', | |
88 ], | |
89 LINKFLAGS = [ | |
90 '/DEBUG', | |
91 | |
92 '/MANIFEST', | |
93 '/DELAYLOAD:"dwmapi.dll"', | |
94 '/DELAYLOAD:"uxtheme.dll"', | |
95 '/MACHINE:X86', | |
96 '/FIXED:No', | |
97 | |
98 '/safeseh', | |
99 '/dynamicbase', | |
100 '/ignore:4199', | |
101 '/ignore:4221', | |
102 '/nxcompat', | |
103 ], | |
104 ) | |
105 env.FilterOut( | |
106 CCFLAGS = [ | |
107 '/GM', # VCCLCompilerTool.MinimalRebuild="false" | |
108 '/EH', # VCCLCompilerTool.ExceptionHandling="0" | |
109 ], | |
110 ) | |
111 elif env.Bit('linux'): | |
112 pass | |
113 elif env.Bit('mac'): | |
114 pass | |
OLD | NEW |