diff options
Diffstat (limited to 'win32/Makefile')
-rw-r--r-- | win32/Makefile | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/win32/Makefile b/win32/Makefile index bc13bd280c..2086a3fc4b 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -138,10 +138,22 @@ CCTYPE = MSVC60 #USE_CPLUSPLUS = define # -# uncomment next line if you want debug version of perl (big,slow) +# uncomment next line if you want debug version of perl (big/slow) # If not enabled, we automatically try to use maximum optimization # with all compilers that are known to have a working optimizer. # +# You can also set CFG = DebugSymbols for a slightly smaller/faster +# debug build without the special debugging code in perl which is +# enabled via -DDEBUGGING; +# +# or you can set CFG = DebugFull for an even fuller (bigger/slower) +# debug build using the debug version of the CRT, and enabling VC++ +# debug features such as extra assertions and invalid parameter warnings +# in perl and CRT code via -D_DEBUG. (Note that the invalid parameter +# handler does get triggered from time to time in this configuration, +# which causes warnings to be printed on STDERR, which in turn causes a +# few tests to fail.) +# #CFG = Debug # @@ -432,12 +444,21 @@ LOCDEFS = -DPERLDLL -DPERL_CORE SUBSYS = console CXX_FLAG = -TP -EHsc -LIBC = msvcrt.lib +LIBC = msvcrt.lib !IF "$(CFG)" == "Debug" OPTIMIZE = -Od -MD -Zi -DDEBUGGING LINK_DBG = -debug !ELSE +!IF "$(CFG)" == "DebugSymbols" +OPTIMIZE = -Od -MD -Zi +LINK_DBG = -debug +!ELSE +!IF "$(CFG)" == "DebugFull" +LIBC = msvcrtd.lib +OPTIMIZE = -Od -MDd -Zi -D_DEBUG -DDEBUGGING +LINK_DBG = -debug +!ELSE # -O1 yields smaller code, which turns out to be faster than -O2 on x86 and x64 OPTIMIZE = -O1 -MD -Zi -DNDEBUG # we enable debug symbols in release builds also @@ -455,6 +476,8 @@ LINK_DBG = $(LINK_DBG) -ltcg LIB_FLAGS = -ltcg ! ENDIF !ENDIF +!ENDIF +!ENDIF !IF "$(WIN64)" == "define" DEFINES = $(DEFINES) -DWIN64 -DCONSERVATIVE |