diff --git a/dtool/pptempl/Global.msvc.pp b/dtool/pptempl/Global.msvc.pp index 8d72411cab..a91ca28ac4 100644 --- a/dtool/pptempl/Global.msvc.pp +++ b/dtool/pptempl/Global.msvc.pp @@ -103,8 +103,10 @@ #defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[OPT1FLAGS] $[DEBUGFLAGS] #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 //#define FORCE_DEBUG_FLAGS 0 #if $[FORCE_DEBUG_FLAGS] @@ -117,12 +119,13 @@ #else #defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] #endif +#endif // 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 diff --git a/dtool/pptempl/compilerSettings.pp b/dtool/pptempl/compilerSettings.pp index 5ef86f9312..bd24684001 100644 --- a/dtool/pptempl/compilerSettings.pp +++ b/dtool/pptempl/compilerSettings.pp @@ -6,10 +6,9 @@ #define COMMONFLAGS /Gi- #define OPTFLAGS /O2 /Ob1 /G6 #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 MAPINFOFLAGS /MAPINFO:EXPORTS /MAPINFO:FIXUPS /MAPINFO:LINES @@ -20,8 +19,9 @@ #else #define PROFILE_FLAG #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 #define EXTRA_LIBPATH /ia32/lib