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

Unified Diff: build/common.gypi

Issue 8966025: 3 additions to common.gypi to control FPO and general cflags for Windows tool builds (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: make it clear win_{release,debug}_OmitFramePointers are both tri-state Created 9 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/common.gypi
diff --git a/build/common.gypi b/build/common.gypi
index c59f9316facf2004d1c707198e1090c8e0e5c695..855450d3409d9d546ee648e82fd2311cff4d9a3e 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -927,7 +927,10 @@
'win_debug_Optimization%': '0', # 0 = /Od
# See http://msdn.microsoft.com/en-us/library/2kxx5t2c(v=vs.80).aspx
+ # Tri-state: blank is default, 1 on, 0 off
'win_release_OmitFramePointers%': '1',
+ # Tri-state: blank is default, 1 on, 0 off
+ 'win_debug_OmitFramePointers%': '',
# See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx
'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off
@@ -947,6 +950,10 @@
'debug_extra_cflags%': '',
'release_valgrind_build%': 0,
+ # the non-qualified versions are widely assumed to be *nix-only
+ 'win_release_extra_cflags%': '',
+ 'win_debug_extra_cflags%': '',
+
# TODO(thakis): Make this a blacklist instead, http://crbug.com/101600
'enable_wexit_time_destructors%': '<(enable_wexit_time_destructors)',
@@ -1439,7 +1446,22 @@
['win_debug_disable_iterator_debugging==1', {
'PreprocessorDefinitions': ['_HAS_ITERATOR_DEBUGGING=0'],
}],
+
+ # if win_debug_OmitFramePointers is blank, leave as default
M-A Ruel 2011/12/16 21:33:01 There are cases where we enable optimizations in d
Derek Bruening 2011/12/16 22:01:14 We are now building Debug chrome with /O1 when we
M-A Ruel 2011/12/16 22:44:32 This is a bit sad, I would have preferred to assum
+ ['win_debug_OmitFramePointers==1', {
+ 'OmitFramePointers': 'true',
+ }],
+ ['win_debug_OmitFramePointers==0', {
+ 'OmitFramePointers': 'false',
brettw 2011/12/16 21:32:42 Just curious: would it be better to change OmitFra
Derek Bruening 2011/12/16 22:01:14 Yes, if we could, but we don't control that: Micro
+ # The above is not sufficient (http://crbug.com/106711): it
+ # simply eliminates an explicit "/Oy", but both /O2 and /Ox
+ # perform FPO regardless, so we must explicitly disable.
+ # We still want the false setting above to avoid having
+ # "/Oy /Oy-" and warnings about overriding.
+ 'AdditionalOptions': ['/Oy-'],
+ }],
],
+ 'AdditionalOptions': [ '<@(win_debug_extra_cflags)', ],
},
'VCLinkerTool': {
'LinkIncremental': '<(msvs_debug_link_incremental)',
@@ -1498,13 +1520,21 @@
'<(win_release_InlineFunctionExpansion)',
}],
+ # if win_release_OmitFramePointers is blank, leave as default
['win_release_OmitFramePointers==1', {
'OmitFramePointers': 'true',
}],
['win_release_OmitFramePointers==0', {
'OmitFramePointers': 'false',
+ # The above is not sufficient (http://crbug.com/106711): it
+ # simply eliminates an explicit "/Oy", but both /O2 and /Ox
+ # perform FPO regardless, so we must explicitly disable.
+ # We still want the false setting above to avoid having
+ # "/Oy /Oy-" and warnings about overriding.
+ 'AdditionalOptions': ['/Oy-'],
}],
],
+ 'AdditionalOptions': [ '<@(win_release_extra_cflags)', ],
},
'VCLinkerTool': {
# LinkIncremental is a tri-state boolean, where 0 means default
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698