Browse Source

add debugger info for all opt levels

cxgeorge 24 years ago
parent
commit
47db8d67e0
2 changed files with 14 additions and 11 deletions
  1. 8 5
      dtool/pptempl/Global.msvc.pp
  2. 6 6
      dtool/pptempl/compilerSettings.pp

+ 8 - 5
dtool/pptempl/Global.msvc.pp

@@ -103,8 +103,10 @@
 
 
 #defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[OPT1FLAGS] $[DEBUGFLAGS]
 #defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[OPT1FLAGS] $[DEBUGFLAGS]
 #defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS]
 #defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS]
-#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
+#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGPDBFLAGS]
+#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGPDBFLAGS]
 
 
+#if $[eq 0,1]
 // should be OK to build debug info for all builds, although it increases size of DLL by a tiny amt
 // should be OK to build debug info for all builds, although it increases size of DLL by a tiny amt
 //#define FORCE_DEBUG_FLAGS 0
 //#define FORCE_DEBUG_FLAGS 0
 #if $[FORCE_DEBUG_FLAGS]
 #if $[FORCE_DEBUG_FLAGS]
@@ -117,12 +119,13 @@
 #else
 #else
 #defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] 
 #defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] 
 #endif
 #endif
+#endif
 
 
 // NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
 // NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
-#defer LDFLAGS_OPT1 /debug /incremental:no /NODEFAULTLIB:MSVCRT.LIB /WARN:3 $[LINKER_FLAGS]
-#defer LDFLAGS_OPT2 /debug /incremental:no /NODEFAULTLIB:MSVCRT.LIB /WARN:3 $[LINKER_FLAGS] 
-#defer LDFLAGS_OPT3 /fixed:no /incremental:no /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 $[LINKER_FLAGS] /OPT:REF
-#defer LDFLAGS_OPT4 /fixed:no /incremental:no /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 $[LINKER_FLAGS] /OPT:REF
+#defer LDFLAGS_OPT1 /fixed:no /incremental:no $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRT.LIB /WARN:3 
+#defer LDFLAGS_OPT2 /fixed:no /incremental:no $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRT.LIB /WARN:3 
+#defer LDFLAGS_OPT3 /fixed:no /incremental:no $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 /OPT:REF
+#defer LDFLAGS_OPT4 /fixed:no /incremental:no $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRTD.LIB /WARN:3 /OPT:REF
 
 
 
 
 // $[build_pdbs] will be nonempty (true) if we should expect to
 // $[build_pdbs] will be nonempty (true) if we should expect to

+ 6 - 6
dtool/pptempl/compilerSettings.pp

@@ -6,10 +6,9 @@
   #define COMMONFLAGS /Gi-
   #define COMMONFLAGS /Gi-
   #define OPTFLAGS /O2 /Ob1 /G6
   #define OPTFLAGS /O2 /Ob1 /G6
   #define OPT1FLAGS /GZ 
   #define OPT1FLAGS /GZ 
-  
-//  #defer DEBUGFLAGS /MDd $[BROWSEINFO_FLAG] $[DEBUG_TYPE_FLAGS]
-//  #defer DEBUGINFOFLAGS /Zi /Fd"$[osfilename $[target:%.obj=%.pdb]]"  
-  #defer DEBUGFLAGS /MDd $[BROWSEINFO_FLAG] $[DEBUGINFOFLAGS] /Zi /Fd"$[osfilename $[target:%.obj=%.pdb]]"  
+
+  #defer DEBUGPDBFLAGS /Zi /Fd"$[osfilename $[target:%.obj=%.pdb]]"  
+  #defer DEBUGFLAGS /MDd $[BROWSEINFO_FLAG] $[DEBUGINFOFLAGS] $[DEBUGPDBFLAGS]
   #define RELEASEFLAGS /MD
   #define RELEASEFLAGS /MD
   
   
   #define MAPINFOFLAGS /MAPINFO:EXPORTS /MAPINFO:FIXUPS /MAPINFO:LINES
   #define MAPINFOFLAGS /MAPINFO:EXPORTS /MAPINFO:FIXUPS /MAPINFO:LINES
@@ -20,8 +19,9 @@
   #else
   #else
     #define PROFILE_FLAG 
     #define PROFILE_FLAG 
   #endif
   #endif
-  
-  #define LINKER_FLAGS $[PROFILE_FLAG] /MAP $[MAPINFOFLAGS]
+ 
+  // Note: all Opts will link w/debug info now 
+  #define LINKER_FLAGS /DEBUG /DEBUGTYPE:CV $[PROFILE_FLAG] /MAP $[MAPINFOFLAGS]
   
   
 // in case we have mixed intel/msvc build
 // in case we have mixed intel/msvc build
   #define EXTRA_LIBPATH /ia32/lib
   #define EXTRA_LIBPATH /ia32/lib