mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
use dllbase addresses, dont forcedebugflag for opt4
This commit is contained in:
parent
de3a4194c8
commit
4d4833e601
@ -94,6 +94,10 @@
|
||||
// single-processor case will act like nmake, conditionally renaming .pdb each file in Template.gmsvc.pp
|
||||
#defer DEBUGFLAGS $[patsubst /Fd%,,$[subst /Zi,/Z7, $[DEBUGFLAGS]]]
|
||||
#define NO_PDB 1
|
||||
#else
|
||||
// on multi-proc, since /Z7 opt required by precomp hdrs on multi-proc puts debug info into dlls,
|
||||
// dont want to force debug flag by default since it expands dll size
|
||||
#define FORCE_DEBUG_FLAGS 1
|
||||
#endif
|
||||
|
||||
#define WARNING_LEVEL_FLAG /W3
|
||||
@ -114,16 +118,15 @@
|
||||
// /GZ disables OPT flags, so OPT1 only
|
||||
#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPT1FLAGS]
|
||||
#defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS]
|
||||
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
|
||||
|
||||
#if $[FORCE_DEBUG_FLAGS]
|
||||
// make them all link with non-debug msvc runtime dlls for this case
|
||||
#defer DEBUGFLAGS $[subst /MDd,,$[DEBUGFLAGS]]
|
||||
#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGFLAGS]
|
||||
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGFLAGS]
|
||||
#define LINKER_FLAGS $[LINKER_FLAGS] /debug
|
||||
#else
|
||||
#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
|
||||
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
|
||||
#endif
|
||||
|
||||
// NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
|
||||
@ -168,9 +171,14 @@
|
||||
#defer STATIC_LIB_C $[LIBBER] /nologo $[sources] /OUT:"$[osfilename $[target]]"
|
||||
#defer STATIC_LIB_C++ $[STATIC_LIB_C]
|
||||
|
||||
// use predefined bases to speed dll loading and simplify debugging
|
||||
#defer DLLNAMEBASE lib$[TARGET]$[dllext]
|
||||
#defer DLLBASEADDRFILENAME dllbase.txt
|
||||
#defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
|
||||
|
||||
//#defer ver_resource $[directory]\ver.res
|
||||
//#defer SHARED_LIB_C link /nologo /dll /VERBOSE:LIB $[LDFLAGS_OPT$[OPTIMIZE]] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]]
|
||||
#defer SHARED_LIB_C $[LINKER] /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]]
|
||||
#defer SHARED_LIB_C $[LINKER] /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[DLLBASEARG] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]]
|
||||
#defer SHARED_LIB_C++ $[SHARED_LIB_C]
|
||||
|
||||
#defer LINK_BIN_C $[LINKER] /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]"
|
||||
|
@ -103,16 +103,18 @@
|
||||
|
||||
#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] $[DEBUGFLAGS]
|
||||
|
||||
// should be OK to build debug info for all builds, although it increases size of DLL by a tiny amt
|
||||
#define FORCE_DEBUG_FLAGS 1
|
||||
|
||||
#if $[FORCE_DEBUG_FLAGS]
|
||||
// make them all link with non-debug msvc runtime dlls for this case
|
||||
#defer DEBUGFLAGS $[subst /MDd,,$[DEBUGFLAGS]]
|
||||
#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGFLAGS]
|
||||
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGFLAGS]
|
||||
#define LINKER_FLAGS $[LINKER_FLAGS] /debug
|
||||
#else
|
||||
#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
|
||||
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS]
|
||||
#endif
|
||||
|
||||
// NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
|
||||
@ -143,7 +145,6 @@
|
||||
|
||||
#defer extra_cflags /EHsc /Zm250 /DWIN32_VC /DWIN32 $[WARNING_LEVEL_FLAG] $[END_CFLAGS]
|
||||
|
||||
|
||||
#defer MAIN_C_COMPILE_ARGS /nologo /c $[decygwin %,/I"%",$[EXTRA_INCPATH] $[ipath]] $[flags] $[extra_cflags] $[source]
|
||||
|
||||
#defer COMPILE_C $[COMPILER] /Fo"$[osfilename $[target]]" $[MAIN_C_COMPILE_ARGS]
|
||||
@ -165,7 +166,12 @@
|
||||
#define ver_resource
|
||||
#endif
|
||||
|
||||
#defer SHARED_LIB_C $[LINKER] /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[ver_resource] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]"
|
||||
// use predefined bases to speed dll loading and simplify debugging
|
||||
#defer DLLNAMEBASE lib$[TARGET]$[dllext]
|
||||
#defer DLLBASEADDRFILENAME dllbase.txt
|
||||
#defer DLLBASEARG "/BASE:@$[dtool_ver_dir]\$[DLLBASEADDRFILENAME],$[DLLNAMEBASE]"
|
||||
|
||||
#defer SHARED_LIB_C $[LINKER] /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[DLLBASEARG] $[sources] $[ver_resource] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]"
|
||||
#defer SHARED_LIB_C++ $[SHARED_LIB_C]
|
||||
|
||||
#defer LINK_BIN_C $[LINKER] /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]"
|
||||
|
@ -376,13 +376,13 @@ $[varname] = $[sources]
|
||||
#define mybasename $[basename $[notdir $[target]]]
|
||||
#define tmpdirname_cyg $[directory]/$[mybasename]
|
||||
#define tmpdirname_win $[directory]\$[mybasename]
|
||||
|
||||
|
||||
// not parallel (requires gmake 3.79) because of link.exe conflicts in TMP dir (see audiotraits dir)
|
||||
#if $[GENERATE_BUILDDATE]
|
||||
.NOTPARALLEL $[target] : $[sources] $[so_dir]/stamp $[dtool_ver_dir_cyg]/version.rc
|
||||
.NOTPARALLEL $[target] : $[sources] $[so_dir]/stamp $[dtool_ver_dir_cyg]/version.rc $[dtool_ver_dir_cyg]/$[DLLBASEADDRFILENAME]
|
||||
// first generate builddate for rc compiler using compiler preprocessor
|
||||
$[TAB] mkdir -p $[tmpdirname_cyg] // this dir-creation-stuff is leftover from trying to resolve parallel link difficulties
|
||||
#define VER_RESOURCE "$[tmpdirname_win]\$[mybasename].res"
|
||||
#define VER_RESOURCE "$[tmpdirname_win]\$[mybasename].res"
|
||||
$[TAB] cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp" > "$[tmpdirname_win]\verdate.h"
|
||||
$[TAB] rc /n /i"$[tmpdirname_win]" /fo$[VER_RESOURCE] $[filter /D%, $[flags]] "$[dtool_ver_dir]\version.rc"
|
||||
#if $[filter %.cxx %.yxx %.lxx,$[get_sources]]
|
||||
@ -391,7 +391,7 @@ $[TAB] $[SHARED_LIB_C++] $[VER_RESOURCE]
|
||||
$[TAB] $[SHARED_LIB_C] $[VER_RESOURCE]
|
||||
#endif
|
||||
#else
|
||||
.NOTPARALLEL $[target] : $[sources] $[so_dir]/stamp
|
||||
.NOTPARALLEL $[target] : $[sources] $[so_dir]/stamp $[dtool_ver_dir_cyg]/$[DLLBASEADDRFILENAME]
|
||||
#if $[filter %.cxx %.yxx %.lxx,$[get_sources]]
|
||||
$[TAB] $[SHARED_LIB_C++]
|
||||
#else
|
||||
|
@ -359,9 +359,9 @@ $[varname] = $[osfilename $[sources]]
|
||||
#define sources $($[varname])
|
||||
#define flags $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%]
|
||||
#if $[GENERATE_BUILDDATE]
|
||||
$[target] : $[sources] "$[dtool_ver_dir]\version.rc"
|
||||
$[target] : $[sources] "$[dtool_ver_dir]\version.rc" "$[dtool_ver_dir]\$[DLLBASEADDRFILENAME]"
|
||||
// first generate builddate for rc compiler
|
||||
$[TAB] cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp" > "$[TEMP]\verdate.h"
|
||||
$[TAB] cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp" > "$[TEMP]\verdate.h"
|
||||
$[TAB] rc /n /I$[TEMP] /fo$[ver_resource] $[filter /D%, $[flags]] "$[dtool_ver_dir]\version.rc"
|
||||
$[TAB] rm -f "$[dtool_ver_dir]\verdate.h"
|
||||
#else
|
||||
|
@ -8,7 +8,8 @@
|
||||
#define OPT1FLAGS /GZ
|
||||
|
||||
// #defer DEBUGFLAGS /MDd $[BROWSEINFO_FLAG] $[DEBUG_TYPE_FLAGS]
|
||||
#defer DEBUGFLAGS /MDd $[BROWSEINFO_FLAG] /Zi /Fd"$[osfilename $[target:%.obj=%.pdb]]"
|
||||
// #defer DEBUGINFOFLAGS /Zi /Fd"$[osfilename $[target:%.obj=%.pdb]]"
|
||||
#defer DEBUGFLAGS /MDd $[BROWSEINFO_FLAG] $[DEBUGINFOFLAGS] /Zi /Fd"$[osfilename $[target:%.obj=%.pdb]]"
|
||||
#define RELEASEFLAGS /MD
|
||||
|
||||
#define MAPINFOFLAGS /MAPINFO:EXPORTS /MAPINFO:FIXUPS /MAPINFO:LINES
|
||||
|
Loading…
x
Reference in New Issue
Block a user