From ec25c072b23be335ed591b8545a68d02fa38c9c7 Mon Sep 17 00:00:00 2001 From: Steve Hay Date: Tue, 23 Mar 2004 10:42:12 +0000 Subject: [PATCH] various win32 build fixes Subject: Re: [PATCH] Re: MinGW/GCC vs MSVC++ on Win32 Date: Tue, 23 Mar 2004 10:42:12 +0000 Message-ID: <40601484.7040905@uk.radan.com> Subject: [PATCH] distclean on Win32 should delete perl.base From: Steve Hay Date: Tue, 23 Mar 2004 11:35:56 +0000 Message-ID: <4060211C.8020704@uk.radan.com> Subject: Re: [PATCH] Create debug symbols files on Windows even for release From: Steve Hay Date: Fri, 26 Mar 2004 10:46:07 +0000 Message-ID: <406409EF.9020404@uk.radan.com> p4raw-id: //depot/perl@22610 --- win32/Makefile | 15 ++++++++++++--- win32/makefile.mk | 23 ++++++++++++++++------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/win32/Makefile b/win32/Makefile index 65f0fa5..7319709 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -357,8 +357,15 @@ OPTIMIZE = -Od -MD -Zi -DDEBUGGING ! ENDIF LINK_DBG = -debug !ELSE -OPTIMIZE = -MD -DNDEBUG -LINK_DBG = -release +OPTIMIZE = -MD -Zi -DNDEBUG +# we enable debug symbols in release builds also +LINK_DBG = -debug -opt:ref,icf +# you may want to enable this if you want COFF symbols in the executables +# in addition to the PDB symbols. The default Dr. Watson that ships with +# Windows can use the the former but not latter. The free WinDbg can be +# installed to get better stack traces from just the PDB symbols, so we +# avoid the bloat of COFF symbols by default. +#LINK_DBG = $(LINK_DBG) -debugtype:both ! IF "$(WIN64)" == "define" # enable Whole Program Optimizations (WPO) and Link Time Code Generation (LTCG) OPTIMIZE = $(OPTIMIZE) -Ox -GL @@ -1113,7 +1120,7 @@ distclean: realclean -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new -del /f $(CONFIGPM) -del /f bin\*.bat - -del /f $(PERLEXE_ICO) + -del /f $(PERLEXE_ICO) perl.base -cd .. && del /s *.lib *.map *.pdb *.ilk *.bs *$(o) .exists pm_to_blib -cd $(EXTDIR) && del /s *.def Makefile Makefile.old -if exist $(AUTODIR) rmdir /s /q $(AUTODIR) @@ -1127,6 +1134,8 @@ installbare : utils $(PERLEXE) ..\installperl if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.* $(XCOPY) $(GLOBEXE) $(INST_BIN)\*.* + if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\*.* + if exist ..\x2p\a2p.pdb $(XCOPY) ..\x2p\a2p.pdb $(INST_BIN)\*.* $(XCOPY) bin\*.bat $(INST_SCRIPT)\*.* installhtml : doc diff --git a/win32/makefile.mk b/win32/makefile.mk index 2121227..97c989d 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -34,7 +34,7 @@ INST_TOP *= $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -INST_VER *= \5.9.2 +#INST_VER *= \5.9.2 # # Comment this out if you DON'T want your perl installation to have @@ -45,7 +45,7 @@ INST_VER *= \5.9.2 # the same location. Commenting it out gives you a simpler # installation that is easier to understand for beginners. # -INST_ARCH *= \$(ARCHNAME) +#INST_ARCH *= \$(ARCHNAME) # # uncomment to enable multiple interpreters. This is need for fork() @@ -413,8 +413,8 @@ LIBFILES = $(CRYPT_LIB) $(LIBC) \ OPTIMIZE = -g -O2 -DDEBUGGING LINK_DBG = -g .ELSE -OPTIMIZE = -g -O2 -LINK_DBG = -g +OPTIMIZE = -s -O2 +LINK_DBG = -s .ENDIF CFLAGS = $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE) @@ -458,8 +458,15 @@ OPTIMIZE = -O1 -MD -Zi -DDEBUGGING .ENDIF LINK_DBG = -debug .ELSE -OPTIMIZE = -MD -DNDEBUG -LINK_DBG = -release +OPTIMIZE = -MD -Zi -DNDEBUG +# we enable debug symbols in release builds also +LINK_DBG = -debug -opt:ref,icf +# you may want to enable this if you want COFF symbols in the executables +# in addition to the PDB symbols. The default Dr. Watson that ships with +# Windows can use the the former but not latter. The free WinDbg can be +# installed to get better stack traces from just the PDB symbols, so we +# avoid the bloat of COFF symbols by default. +#LINK_DBG = $(LINK_DBG) -debugtype:both .IF "$(WIN64)" == "define" # enable Whole Program Optimizations (WPO) and Link Time Code Generation (LTCG) OPTIMIZE += -Ox -GL @@ -1245,7 +1252,7 @@ distclean: realclean -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new -del /f $(CONFIGPM) -del /f bin\*.bat - -del /f $(PERLEXE_ICO) + -del /f $(PERLEXE_ICO) perl.base -cd .. && del /s *$(a) *.map *.pdb *.ilk *.bs *$(o) .exists pm_to_blib -cd $(EXTDIR) && del /s *.def Makefile Makefile.old -if exist $(AUTODIR) rmdir /s /q $(AUTODIR) @@ -1259,6 +1266,8 @@ installbare : $(RIGHTMAKE) utils $(PERLEXE) ..\installperl if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.* $(XCOPY) $(GLOBEXE) $(INST_BIN)\*.* + if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\*.* + if exist ..\x2p\a2p.pdb $(XCOPY) ..\x2p\a2p.pdb $(INST_BIN)\*.* $(XCOPY) bin\*.bat $(INST_SCRIPT)\*.* installhtml : doc -- 2.7.4