|
137 | 137 | 'Debug': { |
138 | 138 | 'variables': { |
139 | 139 | 'v8_enable_handle_zapping': 1, |
| 140 | + 'conditions': [ |
| 141 | + ['node_shared != "true"', { |
| 142 | + 'MSVC_runtimeType': 1, # MultiThreadedDebug (/MTd) |
| 143 | + }, { |
| 144 | + 'MSVC_runtimeType': 3, # MultiThreadedDebugDLL (/MDd) |
| 145 | + }], |
| 146 | + ], |
140 | 147 | }, |
141 | 148 | 'defines': [ 'DEBUG', '_DEBUG', 'V8_ENABLE_CHECKS' ], |
142 | 149 | 'cflags': [ '-g', '-O0' ], |
143 | 150 | 'conditions': [ |
144 | | - ['target_arch=="x64"', { |
145 | | - 'msvs_configuration_platform': 'x64', |
146 | | - }], |
147 | 151 | ['OS=="aix"', { |
148 | 152 | 'cflags': [ '-gxcoff' ], |
149 | 153 | 'ldflags': [ '-Wl,-bbigtoc' ], |
|
152 | 156 | 'cflags': [ '-fPIE' ], |
153 | 157 | 'ldflags': [ '-fPIE', '-pie' ] |
154 | 158 | }], |
155 | | - ['node_shared=="true"', { |
156 | | - 'msvs_settings': { |
157 | | - 'VCCLCompilerTool': { |
158 | | - 'RuntimeLibrary': 3, # MultiThreadedDebugDLL (/MDd) |
159 | | - } |
160 | | - } |
161 | | - }], |
162 | | - ['node_shared=="false"', { |
163 | | - 'msvs_settings': { |
164 | | - 'VCCLCompilerTool': { |
165 | | - 'RuntimeLibrary': 1 # MultiThreadedDebug (/MTd) |
166 | | - } |
167 | | - } |
168 | | - }] |
169 | 159 | ], |
170 | 160 | 'msvs_settings': { |
171 | 161 | 'VCCLCompilerTool': { |
172 | | - 'Optimization': 0, # /Od, no optimization |
| 162 | + 'BasicRuntimeChecks': 3, # /RTC1 |
173 | 163 | 'MinimalRebuild': 'false', |
174 | 164 | 'OmitFramePointers': 'false', |
175 | | - 'BasicRuntimeChecks': 3, # /RTC1 |
176 | | - 'MultiProcessorCompilation': 'true', |
177 | | - 'AdditionalOptions': [ |
178 | | - '/bigobj', # prevent error C1128 in VS2015 |
179 | | - ], |
| 165 | + 'Optimization': 0, # /Od, no optimization |
| 166 | + 'RuntimeLibrary': '<(MSVC_runtimeType)', |
180 | 167 | }, |
181 | 168 | 'VCLinkerTool': { |
182 | 169 | 'LinkIncremental': 2, # enable incremental linking |
|
189 | 176 | 'Release': { |
190 | 177 | 'variables': { |
191 | 178 | 'v8_enable_handle_zapping': 0, |
| 179 | + 'pgo_generate': ' -fprofile-generate ', |
| 180 | + 'pgo_use': ' -fprofile-use -fprofile-correction ', |
| 181 | + 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', |
| 182 | + 'conditions': [ |
| 183 | + ['node_shared != "true"', { |
| 184 | + 'MSVC_runtimeType': 0 # MultiThreaded (/MT) |
| 185 | + }, { |
| 186 | + 'MSVC_runtimeType': 2 # MultiThreadedDLL (/MD) |
| 187 | + }], |
| 188 | + ], |
192 | 189 | }, |
193 | 190 | 'cflags': [ '-O3' ], |
194 | 191 | 'conditions': [ |
195 | | - ['target_arch=="x64"', { |
196 | | - 'msvs_configuration_platform': 'x64', |
197 | | - }], |
198 | 192 | ['OS=="solaris"', { |
199 | 193 | # pull in V8's postmortem metadata |
200 | 194 | 'ldflags': [ '-Wl,-z,allextract' ] |
|
203 | 197 | 'cflags': [ '-fno-omit-frame-pointer' ], |
204 | 198 | }], |
205 | 199 | ['OS=="linux"', { |
206 | | - 'variables': { |
207 | | - 'pgo_generate': ' -fprofile-generate ', |
208 | | - 'pgo_use': ' -fprofile-use -fprofile-correction ', |
209 | | - 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', |
210 | | - }, |
211 | 200 | 'conditions': [ |
212 | 201 | ['enable_pgo_generate=="true"', { |
213 | 202 | 'cflags': ['<(pgo_generate)'], |
|
227 | 216 | 'cflags': [ '-fPIE' ], |
228 | 217 | 'ldflags': [ '-fPIE', '-pie' ] |
229 | 218 | }], |
230 | | - ['node_shared=="true"', { |
231 | | - 'msvs_settings': { |
232 | | - 'VCCLCompilerTool': { |
233 | | - 'RuntimeLibrary': 2 # MultiThreadedDLL (/MD) |
234 | | - } |
235 | | - } |
236 | | - }], |
237 | | - ['node_shared=="false"', { |
238 | | - 'msvs_settings': { |
239 | | - 'VCCLCompilerTool': { |
240 | | - 'RuntimeLibrary': 0 # MultiThreaded (/MT) |
241 | | - } |
242 | | - } |
243 | | - }], |
244 | | - ['node_with_ltcg=="true"', { |
245 | | - 'msvs_settings': { |
246 | | - 'VCCLCompilerTool': { |
247 | | - 'WholeProgramOptimization': 'true' # /GL, whole program optimization, needed for LTCG |
248 | | - }, |
249 | | - 'VCLibrarianTool': { |
250 | | - 'AdditionalOptions': [ |
251 | | - '/LTCG:INCREMENTAL', # link time code generation |
252 | | - ] |
253 | | - }, |
254 | | - 'VCLinkerTool': { |
255 | | - 'OptimizeReferences': 2, # /OPT:REF |
256 | | - 'EnableCOMDATFolding': 2, # /OPT:ICF |
257 | | - 'LinkIncremental': 1, # disable incremental linking |
258 | | - 'AdditionalOptions': [ |
259 | | - '/LTCG:INCREMENTAL', # incremental link-time code generation |
260 | | - ] |
261 | | - } |
262 | | - } |
263 | | - }, { |
264 | | - 'msvs_settings': { |
265 | | - 'VCCLCompilerTool': { |
266 | | - 'WholeProgramOptimization': 'false' |
267 | | - }, |
268 | | - 'VCLinkerTool': { |
269 | | - 'LinkIncremental': 2 # enable incremental linking |
270 | | - } |
271 | | - } |
272 | | - }] |
273 | 219 | ], |
274 | 220 | 'msvs_settings': { |
275 | 221 | 'VCCLCompilerTool': { |
276 | | - 'Optimization': 3, # /Ox, full optimization |
277 | | - 'FavorSizeOrSpeed': 1, # /Ot, favor speed over size |
278 | | - 'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible |
279 | | - 'OmitFramePointers': 'true', |
280 | 222 | 'EnableFunctionLevelLinking': 'true', |
281 | 223 | 'EnableIntrinsicFunctions': 'true', |
| 224 | + 'FavorSizeOrSpeed': 1, # /Ot, favor speed over size |
| 225 | + 'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible |
| 226 | + 'OmitFramePointers': 'true', |
| 227 | + 'Optimization': 3, # /Ox, full optimization |
| 228 | + 'RuntimeLibrary': '<(MSVC_runtimeType)', |
282 | 229 | 'RuntimeTypeInfo': 'false', |
283 | | - 'MultiProcessorCompilation': 'true', |
284 | | - 'AdditionalOptions': [ |
285 | | - ], |
286 | 230 | } |
287 | 231 | } |
288 | 232 | } |
|
301 | 245 | 'cflags!': ['-Werror'], |
302 | 246 | 'msvs_settings': { |
303 | 247 | 'VCCLCompilerTool': { |
304 | | - 'StringPooling': 'true', # pool string literals |
305 | | - 'DebugInformationFormat': 1, # /Z7 embed info in .obj files |
306 | | - 'WarningLevel': 3, |
307 | 248 | 'BufferSecurityCheck': 'true', |
| 249 | + 'DebugInformationFormat': 1, # /Z7 embed info in .obj files |
308 | 250 | 'ExceptionHandling': 0, # /EHsc |
| 251 | + 'MultiProcessorCompilation': 'true', |
| 252 | + 'StringPooling': 'true', # pool string literals |
309 | 253 | 'SuppressStartupBanner': 'true', |
310 | 254 | 'WarnAsError': 'false', |
| 255 | + 'WarningLevel': 3, # /W3 |
311 | 256 | }, |
312 | 257 | 'VCLinkerTool': { |
313 | 258 | 'conditions': [ |
|
329 | 274 | }], |
330 | 275 | ], |
331 | 276 | 'GenerateDebugInformation': 'true', |
332 | | - 'GenerateMapFile': 'true', # /MAP |
333 | | - 'MapExports': 'true', # /MAPINFO:EXPORTS |
334 | | - 'RandomizedBaseAddress': 2, # enable ASLR |
335 | | - 'DataExecutionPrevention': 2, # enable DEP |
336 | | - 'AllowIsolation': 'true', |
337 | 277 | 'SuppressStartupBanner': 'true', |
338 | 278 | }, |
339 | 279 | }, |
|
351 | 291 | # - "C4244: conversion from 'type1' to 'type2', possible loss of data" |
352 | 292 | # Ususaly safe. Disable for `dep`, enable for `src` |
353 | 293 | 'msvs_disabled_warnings': [4351, 4355, 4800, 4251, 4275, 4244, 4267], |
| 294 | + 'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin |
| 295 | + |
354 | 296 | 'conditions': [ |
| 297 | + [ 'target_arch=="x64"', { |
| 298 | + 'msvs_configuration_platform': 'x64', |
| 299 | + }], |
355 | 300 | ['asan == 1 and OS != "mac"', { |
356 | 301 | 'cflags+': [ |
357 | 302 | '-fno-omit-frame-pointer', |
|
380 | 325 | ], |
381 | 326 | }], |
382 | 327 | ['OS == "win"', { |
383 | | - 'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin |
384 | 328 | 'defines': [ |
385 | 329 | 'WIN32', |
386 | 330 | # we don't really want VC++ warning us about |
|
0 commit comments