42 # /GS Inserts security stack checks in some functions (VS2005 default) |
42 # /GS Inserts security stack checks in some functions (VS2005 default) |
43 # /Oi Use intrinsics (in /O2) |
43 # /Oi Use intrinsics (in /O2) |
44 # /Od Disable all optimizations |
44 # /Od Disable all optimizations |
45 # |
45 # |
46 # NOTE: Normally following any of the above with a '-' will turn off that flag |
46 # NOTE: Normally following any of the above with a '-' will turn off that flag |
|
47 # |
|
48 # 6655385: For VS2003/2005 we now specify /Oy- (disable frame pointer |
|
49 # omission.) This has little to no effect on performance while vastly |
|
50 # improving the quality of crash log stack traces involving jvm.dll. |
47 |
51 |
48 # These are always used in all compiles |
52 # These are always used in all compiles |
49 CPP_FLAGS=/nologo /W3 /WX |
53 CPP_FLAGS=/nologo /W3 /WX |
50 |
54 |
51 # Let's add debug information always too. |
55 # Let's add debug information always too. |
139 FASTDEBUG_OPT_OPTION = /Ox /Os /Gy /GF |
143 FASTDEBUG_OPT_OPTION = /Ox /Os /Gy /GF |
140 DEBUG_OPT_OPTION = /Od |
144 DEBUG_OPT_OPTION = /Od |
141 !endif |
145 !endif |
142 |
146 |
143 !if "$(COMPILER_NAME)" == "VS2003" |
147 !if "$(COMPILER_NAME)" == "VS2003" |
144 PRODUCT_OPT_OPTION = /O2 |
148 PRODUCT_OPT_OPTION = /O2 /Oy- |
145 FASTDEBUG_OPT_OPTION = /O2 |
149 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
146 DEBUG_OPT_OPTION = /Od |
150 DEBUG_OPT_OPTION = /Od |
147 !endif |
151 !endif |
148 |
152 |
149 !if "$(COMPILER_NAME)" == "VS2005" |
153 !if "$(COMPILER_NAME)" == "VS2005" |
150 PRODUCT_OPT_OPTION = /O2 |
154 PRODUCT_OPT_OPTION = /O2 /Oy- |
151 FASTDEBUG_OPT_OPTION = /O2 |
155 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
152 DEBUG_OPT_OPTION = /Od |
156 DEBUG_OPT_OPTION = /Od |
153 GX_OPTION = /EHsc |
157 GX_OPTION = /EHsc |
154 # This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib |
158 # This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib |
155 # on the link command line, otherwise we get missing __security_check_cookie |
159 # on the link command line, otherwise we get missing __security_check_cookie |
156 # externals at link time. Even with /GS-, you need bufferoverflowU.lib. |
160 # externals at link time. Even with /GS-, you need bufferoverflowU.lib. |
163 !endif |
167 !endif |
164 !endif |
168 !endif |
165 |
169 |
166 # Compile for space above time. |
170 # Compile for space above time. |
167 !if "$(Variant)" == "kernel" |
171 !if "$(Variant)" == "kernel" |
168 PRODUCT_OPT_OPTION = /O1 |
172 PRODUCT_OPT_OPTION = /O1 /Oy- |
169 FASTDEBUG_OPT_OPTION = /O1 |
173 FASTDEBUG_OPT_OPTION = /O1 /Oy- |
170 DEBUG_OPT_OPTION = /Od |
174 DEBUG_OPT_OPTION = /Od |
171 !endif |
175 !endif |
172 |
176 |
173 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off |
177 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off |
174 !ifdef NO_OPTIMIZATIONS |
178 !ifdef NO_OPTIMIZATIONS |