76 MSVCRNN_DLL = msvcr100.dll |
76 MSVCRNN_DLL = msvcr100.dll |
77 MSVCPNN_DLL = msvcp100.dll |
77 MSVCPNN_DLL = msvcp100.dll |
78 MS_RUNTIME_LIBRARIES = $(MSVCRNN_DLL) |
78 MS_RUNTIME_LIBRARIES = $(MSVCRNN_DLL) |
79 endif |
79 endif |
80 |
80 |
81 EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH) |
81 EXTRA_LFLAGS += -LIBPATH:$(DXSDK_LIB_PATH) |
82 |
82 |
83 # Full Debug Symbols has been enabled on Windows since JDK1.4.1. |
83 # Full Debug Symbols has been enabled on Windows since JDK1.4.1. |
84 # The Full Debug Symbols (FDS) default for VARIANT == OPT builds is |
84 # The Full Debug Symbols (FDS) default for VARIANT == OPT builds is |
85 # enabled with debug info files ZIP'ed to save space. For VARIANT != |
85 # enabled with debug info files ZIP'ed to save space. For VARIANT != |
86 # OPT builds, FDS is always enabled, after all a debug build without |
86 # OPT builds, FDS is always enabled, after all a debug build without |
196 # -MDd Use debug version (don't use, doesn't mix with -MD DLL's) |
196 # -MDd Use debug version (don't use, doesn't mix with -MD DLL's) |
197 # -MT Use static multi-threaded runtime library (-ML is going away) |
197 # -MT Use static multi-threaded runtime library (-ML is going away) |
198 # -MTd Use static debug version (better than -MDd, no runtime issues) |
198 # -MTd Use static debug version (better than -MDd, no runtime issues) |
199 # -D_DEBUG Change use of malloc/free/etc to use special debug ones (-MTd) |
199 # -D_DEBUG Change use of malloc/free/etc to use special debug ones (-MTd) |
200 # |
200 # |
201 # NOTE: We also will use /D _STATIC_CPPLIB so we don't need msvcpnn.dll |
201 # NOTE: We also will use -D _STATIC_CPPLIB so we don't need msvcpnn.dll |
202 # |
202 # |
203 # If MS_RUNTIME_STATIC is requested we may have a problem, it is no longer |
203 # If MS_RUNTIME_STATIC is requested we may have a problem, it is no longer |
204 # supported by VS2010 |
204 # supported by VS2010 |
205 ifneq ($(MS_RUNTIME_STATIC),true) |
205 ifneq ($(MS_RUNTIME_STATIC),true) |
206 MS_RUNTIME_OPTION=-MD |
206 MS_RUNTIME_OPTION=-MD |
221 MS_RUNTIME_DEBUG_OPTION= -D_DEBUG |
221 MS_RUNTIME_DEBUG_OPTION= -D_DEBUG |
222 MS_RC_DEBUG_OPTION= -d _DEBUG |
222 MS_RC_DEBUG_OPTION= -d _DEBUG |
223 endif |
223 endif |
224 |
224 |
225 # Always add _STATIC_CPPLIB definition |
225 # Always add _STATIC_CPPLIB definition |
226 STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB |
226 STATIC_CPPLIB_OPTION = -D _STATIC_CPPLIB |
227 |
227 |
228 # Silence the warning about using _STATIC_CPPLIB |
228 # Silence the warning about using _STATIC_CPPLIB |
229 ifneq ($(SHOW_ALL_WARNINGS),true) |
229 ifneq ($(SHOW_ALL_WARNINGS),true) |
230 # Needed with VS2010 to turn off the deprecated warning. |
230 # Needed with VS2010 to turn off the deprecated warning. |
231 STATIC_CPPLIB_OPTION += /D _DISABLE_DEPRECATE_STATIC_CPPLIB |
231 STATIC_CPPLIB_OPTION += -D _DISABLE_DEPRECATE_STATIC_CPPLIB |
232 endif |
232 endif |
233 |
233 |
234 MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION) |
234 MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION) |
235 |
235 |
236 ifeq ($(CC_VERSION),msvc) |
236 ifeq ($(CC_VERSION),msvc) |
240 # -Zd Basic debug, no local variables? In the .obj |
240 # -Zd Basic debug, no local variables? In the .obj |
241 # -Zl Don't add runtime library name to obj file? |
241 # -Zl Don't add runtime library name to obj file? |
242 # -Od Turns off optimization and speeds compilation |
242 # -Od Turns off optimization and speeds compilation |
243 # -YX -Fp/.../foobar.pch Use precompiled headers (try someday?) |
243 # -YX -Fp/.../foobar.pch Use precompiled headers (try someday?) |
244 # -nologo Don't print out startup message |
244 # -nologo Don't print out startup message |
245 # /D _STATIC_CPPLIB |
245 # -D _STATIC_CPPLIB |
246 # Use static link for the C++ runtime (so msvcpnn.dll not needed) |
246 # Use static link for the C++ runtime (so msvcpnn.dll not needed) |
247 # |
247 # |
248 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
248 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
249 CFLAGS_COMMON += -Zi |
249 CFLAGS_COMMON += -Zi |
250 endif |
250 endif |
256 |
256 |
257 # All builds get the same runtime setting |
257 # All builds get the same runtime setting |
258 CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION)) |
258 CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION)) |
259 |
259 |
260 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
260 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) |
261 LDEBUG = /debug |
261 LDEBUG = -debug |
262 endif |
262 endif |
263 |
263 |
264 ifeq ($(VTUNE_SUPPORT), true) |
264 ifeq ($(VTUNE_SUPPORT), true) |
265 OTHER_CFLAGS = -Z7 -Ox |
265 OTHER_CFLAGS = -Z7 -Ox |
266 LDEBUG += /pdb:NONE |
266 LDEBUG += -pdb:NONE |
267 endif |
267 endif |
268 |
268 |
269 # VS2010, always need safe exception handlers, not needed on 64bit |
269 # VS2010, always need safe exception handlers, not needed on 64bit |
270 ifeq ($(ARCH_DATA_MODEL), 32) |
270 ifeq ($(ARCH_DATA_MODEL), 32) |
271 LFLAGS_VS2010 += -SAFESEH |
271 LFLAGS_VS2010 += -SAFESEH |
272 endif |
272 endif |
273 |
273 |
274 # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file |
274 # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file |
275 BASELFLAGS = -nologo /opt:REF /incremental:no |
275 BASELFLAGS = -nologo -opt:REF -incremental:no |
276 |
276 |
277 LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION)) |
277 LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION)) |
278 LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION)) |
278 LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION)) |
279 |
279 |
280 endif |
280 endif |