From 25448dec368e03d11a4ad593732b57c01c49b15d Mon Sep 17 00:00:00 2001
From: Alam Ed Arias <alam@srb2.org>
Date: Mon, 7 Apr 2014 09:58:02 -0400
Subject: [PATCH] Compile Win32 EXE with -gdwarf-2

---
 SRB2.cbp               | 19 ++++++++-----------
 Srb2.dev               | 18 +++++++++---------
 cpdebug.mk             |  4 ++--
 src/win32/Makefile.cfg |  4 ++++
 4 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/SRB2.cbp b/SRB2.cbp
index a6be5757d7..628e7da30a 100644
--- a/SRB2.cbp
+++ b/SRB2.cbp
@@ -41,7 +41,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add option="-DHAVE_BLUA" />
 				</Compiler>
 				<Linker>
-					<Add option="-g" />
 					<Add option="`sdl-config --libs`" />
 					<Add library="SDL_mixer" />
 				</Linker>
@@ -63,7 +62,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add option="-DHAVE_BLUA" />
 				</Compiler>
 				<Linker>
-					<Add option="-g" />
 					<Add option="`sdl-config --libs`" />
 					<Add library="SDL_mixer" />
 				</Linker>
@@ -91,7 +89,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add option="-DHAVE_BLUA" />
 				</Compiler>
 				<Linker>
-					<Add option="-g" />
 					<Add option="`sdl-config --libs`" />
 					<Add option="`libpng-config --libs`" />
 					<Add library="SDL_mixer" />
@@ -120,7 +117,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add option="-DHAVE_BLUA" />
 				</Compiler>
 				<Linker>
-					<Add option="-g" />
 					<Add option="`sdl-config --libs`" />
 					<Add option="`libpng-config --libs`" />
 					<Add library="SDL_mixer" />
@@ -136,6 +132,7 @@ HW3SOUND for 3D hardware sound  support
 				<Compiler>
 					<Add option="-march=i586" />
 					<Add option="-g" />
+					<Add option="-gdwarf-2" />
 					<Add option="-D_GNU_SOURCE=1" />
 					<Add option="-DSTDC_HEADERS" />
 					<Add option="-D__USE_MINGW_ANSI_STDIO=0" />
@@ -157,7 +154,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add directory="libs/gme/include" />
 				</Compiler>
 				<Linker>
-					<Add option="-g" />
 					<Add library="SDL" />
 					<Add library="SDL_mixer" />
 					<Add library="advapi32" />
@@ -183,6 +179,7 @@ HW3SOUND for 3D hardware sound  support
 					<Add option="-march=i586" />
 					<Add option="-O2" />
 					<Add option="-g" />
+					<Add option="-gdwarf-2" />
 					<Add option="-D_GNU_SOURCE=1" />
 					<Add option="-DSTDC_HEADERS" />
 					<Add option="-D__USE_MINGW_ANSI_STDIO=0" />
@@ -203,7 +200,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add directory="libs/gme/include" />
 				</Compiler>
 				<Linker>
-					<Add option="-g" />
 					<Add library="SDL" />
 					<Add library="SDL_mixer" />
 					<Add library="advapi32" />
@@ -229,6 +225,7 @@ HW3SOUND for 3D hardware sound  support
 					<Add option="-march=i586" />
 					<Add option="-O2" />
 					<Add option="-g" />
+					<Add option="-gdwarf-2" />
 					<Add option="-DSTDC_HEADERS" />
 					<Add option="-D_WINDOWS" />
 					<Add option="-DHWRENDER" />
@@ -248,7 +245,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add directory="src/win32" />
 				</ResourceCompiler>
 				<Linker>
-					<Add option="-g" />
 					<Add library="advapi32" />
 					<Add library="dinput" />
 					<Add library="dxguid" />
@@ -278,6 +274,7 @@ HW3SOUND for 3D hardware sound  support
 					<Add option="-march=i586" />
 					<Add option="-O2" />
 					<Add option="-g" />
+					<Add option="-gdwarf-2" />
 					<Add option="-DSTDC_HEADERS" />
 					<Add option="-D_WINDOWS" />
 					<Add option="-DHWRENDER" />
@@ -296,7 +293,6 @@ HW3SOUND for 3D hardware sound  support
 					<Add directory="src/win32" />
 				</ResourceCompiler>
 				<Linker>
-					<Add option="-g" />
 					<Add library="advapi32" />
 					<Add library="dinput" />
 					<Add library="dxguid" />
@@ -877,14 +873,15 @@ HW3SOUND for 3D hardware sound  support
 			<Add directory="src/win32" />
 			<Add directory="src/hardware/r_opengl" />
 		</Compiler>
-		<Linker>
-			<Add option="-g" />
-		</Linker>
 		<ExtraCommands>
 			<Add before="make -f comptime.mk all-before" />
 			<Add after="make -f cpdebug.mk all-after BIN=$(TARGET_OUTPUT_FILE)" />
 			<Mode after="always" />
 		</ExtraCommands>
+		<Unit filename="comptime.bat" />
+		<Unit filename="comptime.mk" />
+		<Unit filename="comptime.sh" />
+		<Unit filename="cpdebug.mk" />
 		<Unit filename="src/am_map.c">
 			<Option compilerVar="CC" />
 			<Option target="Debug Native/SDL" />
diff --git a/Srb2.dev b/Srb2.dev
index 5617038640..00b7811e1d 100644
--- a/Srb2.dev
+++ b/Srb2.dev
@@ -1501,7 +1501,7 @@ CompileCpp=0
 Link=1
 Priority=1000
 OverrideBuildCmd=1
-BuildCmd=$(CC) -g $(CFLAGS) -x assembler-with-cpp -c src/vid_copy.s -o $@
+BuildCmd=$(CC) $(CFLAGS) -x assembler-with-cpp -c src/vid_copy.s -o $@
 
 [Unit152]
 FileName=src\y_inter.h
@@ -2024,8 +2024,8 @@ Includes=libs/libpng-src;libs/zlib;libs/gme/include;libs/fmodex/inc;libs
 Libs=libs/libpng-src/projects;libs/zlib/win32;libs/miniupnpc/mingw32;libs/gme/win32;libs/gme/win32;libs/fmodex/lib
 ResourceIncludes=src/win32
 MakeIncludes=comptime.mk;cpdebug.mk
-Compiler=-DNDEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-Os_@@_-g_@@_-D_WINDOWS_@@_-DHAVE_PNG_@@_-DNOROPENGL_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_-DHAVE_LIBGME_@@_
-CppCompiler=-Os_@@_-g_@@_
+Compiler=-DNDEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-Os_@@_-g_@@_-gdwarf-2_@@_-D_WINDOWS_@@_-DHAVE_PNG_@@_-DNOROPENGL_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_-DHAVE_LIBGME_@@_
+CppCompiler=-Os_@@_-g_@@_-gdwarf-2_@@_
 Linker=-lgdi32_@@_-ldinput_@@_-ldxguid_@@_-lwinmm_@@_-lpng32_@@_-lz32_@@_-lminiupnpc_@@_-lws2_32_@@_-liphlpapi_@@_-mwindows_@@_-lgme.dll_@@_-lfmodex_@@_
 PreprocDefines=NORMALSRB2_@@_
 CompilerSettings=00000000001000000110e1
@@ -2051,8 +2051,8 @@ Includes=libs/libpng-src;libs/zlib;libs/gme/include;libs/fmodex/inc;libs
 Libs=libs/libpng-src/projects;libs/zlib/win32;libs/miniupnpc/mingw32;libs/gme/win32;libs/fmodex/lib
 ResourceIncludes=src/win32
 MakeIncludes=comptime.mk;cpdebug.mk
-Compiler=-D_DEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-O0_@@_-g_@@_-D_WINDOWS_@@_-DHAVE_PNG_@@_-DNOROPENGL_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_-DHAVE_LIBGME_@@_
-CppCompiler=-O0_@@_-g_@@_
+Compiler=-D_DEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-O0_@@_-g_@@_-gdwarf-2_@@_-D_WINDOWS_@@_-DHAVE_PNG_@@_-DNOROPENGL_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_-DHAVE_LIBGME_@@_
+CppCompiler=-O0_@@_-g_@@_-gdwarf-2_@@_
 Linker=-lgdi32_@@_-ldinput_@@_-ldxguid_@@_-lwinmm_@@_-lpng32_@@_-lz32_@@_-lminiupnpc_@@_-lws2_32_@@_-liphlpapi_@@_-mconsole_@@_-lgme.dll_@@_-lfmodex_@@_
 PreprocDefines=NORMALSRB2_@@_
 CompilerSettings=00000000000000100110e1
@@ -2228,8 +2228,8 @@ Includes=libs/libpng-src;libs/zlib;libs
 Libs=libs/libpng-src/projects;libs/zlib/win32;libs/miniupnpc/mingw32
 ResourceIncludes=src/win32
 MakeIncludes=comptime.mk;cpdebug.mk
-Compiler=-DNDEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-Os_@@_-g_@@_-DUSE_WGL_SWAP_@@_-DDIRECTFULLSCREEN_@@_-DSDL_@@_-DHWRENDER_@@_-DHW3SOUND_@@_-DHAVE_MIXER_@@_-DHAVE_PNG_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_
-CppCompiler=-Os_@@_-g_@@_
+Compiler=-DNDEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-Os_@@_-g_@@_-gdwarf-2_@@_-DUSE_WGL_SWAP_@@_-DDIRECTFULLSCREEN_@@_-DSDL_@@_-DHWRENDER_@@_-DHW3SOUND_@@_-DHAVE_MIXER_@@_-DHAVE_PNG_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_
+CppCompiler=-Os_@@_-g_@@_-gdwarf-2_@@_
 Linker=-lSDL_@@_-lSDL_Mixer_@@_-lpng32_@@_-lz32_@@_-lminiupnpc_@@_-lws2_32_@@_-liphlpapi_@@_-mconsole_@@_
 PreprocDefines=NORMALSRB2_@@_
 CompilerSettings=00000000001000000110e1
@@ -2305,8 +2305,8 @@ Includes=libs/libpng-src;libs/zlib;libs
 Libs=libs/libpng-src/projects;libs/zlib/win32;libs/miniupnpc/mingw32
 ResourceIncludes=src/win32
 MakeIncludes=comptime.mk;cpdebug.mk
-Compiler=-D_DEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-O0_@@_-g_@@_-DUSE_WGL_SWAP_@@_-DDIRECTFULLSCREEN_@@_-DSDL_@@_-DHWRENDER_@@_-DHW3SOUND_@@_-DHAVE_MIXER_@@_-DHAVE_PNG_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_
-CppCompiler=-O0_@@_-g_@@_
+Compiler=-D_DEBUG_@@_-fno-exceptions_@@_-DSTDC_HEADERS_@@_-Wall_@@_-O0_@@_-g_@@_-gdwarf-2_@@_-DUSE_WGL_SWAP_@@_-DDIRECTFULLSCREEN_@@_-DSDL_@@_-DHWRENDER_@@_-DHW3SOUND_@@_-DHAVE_MIXER_@@_-DHAVE_PNG_@@_-D__USE_MINGW_ANSI_STDIO=0_@@_-DHAVE_MINIUPNPC_@@_-DSTATIC_MINIUPNPC_@@_-DHAVE_BLUA_@@_
+CppCompiler=-O0_@@_-g_@@_-gdwarf-2_@@_
 Linker=-lSDL_@@_-lSDL_Mixer_@@_-lpng32_@@_-lz32_@@_-lminiupnpc_@@_-lws2_32_@@_-liphlpapi_@@_-mconsole_@@_
 PreprocDefines=NORMALSRB2_@@_
 CompilerSettings=00000000000000100110e1
diff --git a/cpdebug.mk b/cpdebug.mk
index 440ffe3845..6baedf2275 100644
--- a/cpdebug.mk
+++ b/cpdebug.mk
@@ -24,9 +24,9 @@ all-after:
 	$(OBJCOPY) $(BIN) $(DBGNAME)
 	$(OBJCOPY) --strip-debug $(BIN)
 	-$(OBJCOPY) --add-gnu-debuglink=$(DBGNAME) $(BIN)
-	-$(GZIP) $(GZIP_OPTS) $(DBGNAME).txt
+	-$(GZIP) $(GZIP_OPTS) "$(DBGNAME).txt"
 ifndef COMSPEC
-	$(GZIP) $(GZIP_OPT2) $(DBGNAME).txt
+	-$(GZIP) $(GZIP_OPT2) "$(DBGNAME).txt"
 endif
 	-$(UPX) $(UPX_OPTS) $(BIN)
 
diff --git a/src/win32/Makefile.cfg b/src/win32/Makefile.cfg
index 8f4870c6f2..2ebde6b23c 100644
--- a/src/win32/Makefile.cfg
+++ b/src/win32/Makefile.cfg
@@ -27,6 +27,10 @@ ifndef GCC44
 	#OPTS+=-mms-bitfields
 endif
 
+ifndef MINGW64
+	OPTS+=-gdwarf-2
+endif
+
 ifndef SDL
 	OPTS+=-D_WINDOWS
 endif
-- 
GitLab