adjust link options 4 vc7

This commit is contained in:
cxgeorge 2002-02-07 01:14:20 +00:00
parent b096a827bd
commit 5508773eee
3 changed files with 44 additions and 14 deletions

View File

@ -119,7 +119,7 @@
#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPT1FLAGS]
#defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS]
#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGPDBFLAGS]
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGPDBFLAGS]
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[OPT4FLAGS] $[DEBUGPDBFLAGS]
//#if $[FORCE_DEBUG_FLAGS]
// make them all link with non-debug msvc runtime dlls for this case
@ -130,10 +130,10 @@
//#endif
// NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
#defer LDFLAGS_OPT1 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRT.LIB
#defer LDFLAGS_OPT2 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRT.LIB
#defer LDFLAGS_OPT3 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF
#defer LDFLAGS_OPT4 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF
#defer LDFLAGS_OPT1 $[LINKER_FLAGS] $[LDFLAGS_OPT1]
#defer LDFLAGS_OPT2 $[LINKER_FLAGS] $[LDFLAGS_OPT2]
#defer LDFLAGS_OPT3 $[LINKER_FLAGS] $[LDFLAGS_OPT3]
#defer LDFLAGS_OPT4 $[LINKER_FLAGS] $[LDFLAGS_OPT4]
// $[build_pdbs] will be nonempty (true) if we should expect to
// generate a .pdb file when we build a DLL or EXE.

View File

@ -102,13 +102,12 @@
#defer CFLAGS_OPT1 $[CDEFINES_OPT1:%=/D%] $[COMMONFLAGS] $[OPT1FLAGS] $[DEBUGFLAGS]
#defer CFLAGS_OPT2 $[CDEFINES_OPT2:%=/D%] $[COMMONFLAGS] $[DEBUGFLAGS] $[OPTFLAGS]
#defer CFLAGS_OPT3 $[CDEFINES_OPT3:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGPDBFLAGS]
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[DEBUGPDBFLAGS]
#defer CFLAGS_OPT4 $[CDEFINES_OPT4:%=/D%] $[COMMONFLAGS] $[RELEASEFLAGS] $[OPTFLAGS] $[OPT4FLAGS] $[DEBUGPDBFLAGS]
// NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
#defer LDFLAGS_OPT1 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRT.LIB
#defer LDFLAGS_OPT2 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRT.LIB
#defer LDFLAGS_OPT3 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF
#defer LDFLAGS_OPT4 $[LINKER_FLAGS] /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF
#defer LDFLAGS_OPT1 $[LINKER_FLAGS] $[LDFLAGS_OPT1]
#defer LDFLAGS_OPT2 $[LINKER_FLAGS] $[LDFLAGS_OPT2]
#defer LDFLAGS_OPT3 $[LINKER_FLAGS] $[LDFLAGS_OPT3]
#defer LDFLAGS_OPT4 $[LINKER_FLAGS] $[LDFLAGS_OPT4]
// $[build_pdbs] will be nonempty (true) if we should expect to
// generate a .pdb file when we build a DLL or EXE.

View File

@ -14,6 +14,12 @@
#define WARNING_LEVEL_FLAG /W3
#define CDEFINES_OPT4 UNKNOWN_ALLOCATOR
// NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
#define LDFLAGS_OPT1 /NODEFAULTLIB:MSVCRT.LIB
#define LDFLAGS_OPT2 /NODEFAULTLIB:MSVCRT.LIB
#define LDFLAGS_OPT3 /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF
#define LDFLAGS_OPT4 /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF $[LDFLAGS_OPT4]
#define MAPINFOFLAGS /MAPINFO:EXPORTS /MAPINFO:FIXUPS /MAPINFO:LINES
@ -40,15 +46,29 @@
#define COMPILER cl
#define LINKER link
#define LIBBER lib
// currently wont build pvector stuff, so need this
#define DO_CROSSOBJ_OPT 1
#if $[DO_CROSSOBJ_OPT]
#define OPT4FLAGS /GL
#define LDFLAGS_OPT4 /LTCG
#endif
// remove 1-3 when allocator stuff is rewritten to build with VC7 STL
#define CDEFINES_OPT1 UNKNOWN_ALLOCATOR
#define CDEFINES_OPT2 UNKNOWN_ALLOCATOR
#define CDEFINES_OPT3 UNKNOWN_ALLOCATOR
#define CDEFINES_OPT4 UNKNOWN_ALLOCATOR
// NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
#define LDFLAGS_OPT1 /NODEFAULTLIB:MSVCRT.LIB
#define LDFLAGS_OPT2 /NODEFAULTLIB:MSVCRT.LIB
#define LDFLAGS_OPT3 /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF
#define LDFLAGS_OPT4 /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF $[LDFLAGS_OPT4]
#define COMMONFLAGS /DHAVE_DINKUM
#define OPTFLAGS /O2 /Ob1 /G6 /QIfist
#define OPTFLAGS /O2 /Ob2 /G6 /QIfist
#define OPT1FLAGS /GZ /GS
// #define WARNING_LEVEL_FLAG /Wall //this is scary
@ -91,7 +111,18 @@
#define RELEASEFLAGS /MD
#define WARNING_LEVEL_FLAG /W3
#if $[DO_CROSSOBJ_OPT]
#define OPT4FLAGS /Qipo
#define LDFLAGS_OPT4 /Qipo
#endif
#define CDEFINES_OPT4 UNKNOWN_ALLOCATOR
// NODEFAULTLIB ensures static libs linked in will connect to the correct msvcrt, so no debug/release mixing occurs
#define LDFLAGS_OPT1 /NODEFAULTLIB:MSVCRT.LIB
#define LDFLAGS_OPT2 /NODEFAULTLIB:MSVCRT.LIB
#define LDFLAGS_OPT3 /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF
#define LDFLAGS_OPT4 /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF $[LDFLAGS_OPT4]
// #define OPTFLAGS /O3 /G6 /Qvc6 /Qipo /QaxW /Qvec_report1
#define OPTFLAGS /O3 /G6 /Qvc6 /Qip /QIfist