Browse Source

now supports MSVC9

Chris Brunner 17 years ago
parent
commit
3cc659cde4
3 changed files with 25 additions and 16 deletions
  1. 2 4
      dtool/pptempl/Global.gmsvc.pp
  2. 6 4
      dtool/pptempl/Template.gmsvc.pp
  3. 17 8
      dtool/pptempl/compilerSettings.pp

+ 2 - 4
dtool/pptempl/Global.gmsvc.pp

@@ -161,12 +161,10 @@
 
 #defer LINKER_DEF_FILE_ARG $[if $[LINKER_DEF_FILE],/DEF:"$[LINKER_DEF_FILE]",]
 
-//#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 $[LINKER_DEF_FILE_ARG] $[LDFLAGS_OPT$[OPTIMIZE]] $[DLLBASEARG] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH] $[tau_lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] $[tau_libs]
+#defer SHARED_LIB_C $[LINKER] /nologo /DLL $[LINKER_DEF_FILE_ARG] $[LDFLAGS_OPT$[OPTIMIZE]] $[DLLBASEARG] /OUT:"$[osfilename $[target]]" $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH] $[tau_lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] $[tau_libs] $[VER_RESOURCE]$[if $[eq $[USE_COMPILER], MSVC9],; $[MT_BIN] -nologo -manifest $[target].manifest -outputresource:$[target]\;2,]
 #defer SHARED_LIB_C++ $[SHARED_LIB_C]
 
-#defer LINK_BIN_C $[LINKER] /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH] $[tau_lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] $[tau_libs] /OUT:"$[osfilename $[target]]"
+#defer LINK_BIN_C $[LINKER] /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath] $[EXTRA_LIBPATH] $[tau_lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] $[tau_libs] /OUT:"$[osfilename $[target]]"$[if $[eq $[USE_COMPILER], MSVC9],; $[MT_BIN] -nologo -manifest $[target].manifest -outputresource:$[target]\;1,]
 #defer LINK_BIN_C++ $[LINK_BIN_C]
 
 #if $[ne $[LINK_ALL_STATIC],]

+ 6 - 4
dtool/pptempl/Template.gmsvc.pp

@@ -375,11 +375,12 @@ $[TAB]  mkdir -p $[tmpdirname_cyg]  // this dir-creation-stuff is leftover from
 $[TAB]  cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp"  > "$[tmpdirname_win]\verdate.h"
 $[TAB]  rc /n /I"$[tmpdirname_win]" $[DECYGWINED_INC_PATHLIST_ARGS] /fo$[VER_RESOURCE] $[filter /D%, $[flags]]  "$[dtool_ver_dir]\version.rc"
   #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
-$[TAB] $[shared_lib_c++] $[VER_RESOURCE]
+$[TAB] $[shared_lib_c++]
   #else
-$[TAB] $[shared_lib_c] $[VER_RESOURCE]
+$[TAB] $[shared_lib_c]
   #endif
 #else
+  #define VER_RESOURCE
 .NOTPARALLEL $[target] : $[sources] $[DLLBASEADDRFILENAME:%=$[dtool_ver_dir_cyg]/%]
   #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
 $[TAB] $[shared_lib_c++]
@@ -506,11 +507,12 @@ $[TAB] $[INTERROGATE_MODULE] -oc $[target] -module "$[igatemod]" -library "$[iga
 $[varname] = $[patsubst %,$[%_obj],$[compile_sources]]
 #define target $[ODIR]/$[get_dllname $[TARGET]].$[dlllib]
 #define sources $($[varname])
+#define $[VER_RESOURCE] $[COMPILED_RESOURCES]
 $[target] : $[sources] $[static_lib_dependencies] $[GENERATED_SOURCES]
 #if $[filter %.cxx %.cpp %.yxx %.lxx,$[get_sources]]
-$[TAB] $[shared_lib_c++] $[COMPILED_RESOURCES]
+$[TAB] $[shared_lib_c++]
 #else
-$[TAB] $[shared_lib_c] $[COMPILED_RESOURCES]
+$[TAB] $[shared_lib_c]
 #endif
 
 #if $[build_dlls]

+ 17 - 8
dtool/pptempl/compilerSettings.pp

@@ -1,5 +1,9 @@
 #print Generating for $[USE_COMPILER]
 
+
+//////////////////////////////
+// MICROSOFT VISUAL C++ 6.0 //
+//////////////////////////////
 #if $[eq $[USE_COMPILER], MSVC]
   #define COMPILER cl
   #define LINKER link
@@ -48,6 +52,10 @@
   // ensure pdbs are copied to install dir
   #define build_pdbs yes
 
+
+////////////////////////////////////////////////////////////////////
+// MICROSOFT VISUAL C++ 7.0, 7.1, & 8.0 (.NET, .NET 2003, & 2005) //
+////////////////////////////////////////////////////////////////////
 #elif $[or $[or $[eq $[USE_COMPILER], MSVC7], $[eq $[USE_COMPILER], MSVC7_1]], $[eq $[USE_COMPILER],MSVC8]]
   #define COMPILER cl
   #define LINKER link
@@ -134,10 +142,15 @@
   // ensure pdbs are copied to install dir
   #define build_pdbs yes
 
+
+/////////////////////////////////////
+// MICROSOFT VISUAL C++ 9.0 (2008) //
+/////////////////////////////////////
 #elif $[eq $[USE_COMPILER], MSVC9]
   #define COMPILER cl
   #define LINKER link
   #define LIBBER lib
+  #define MT_BIN mt
 
   #if $[eq $[NO_CROSSOBJ_OPT],]
      #define DO_CROSSOBJ_OPT 1
@@ -162,7 +175,6 @@
   #define LDFLAGS_OPT2 /NODEFAULTLIB:MSVCRT.LIB
   #define LDFLAGS_OPT3 /NODEFAULTLIB:MSVCRTD.LIB /NODEFAULTLIB:LIBCMT.LIB /OPT:REF
   #define LDFLAGS_OPT4 /NODEFAULTLIB:MSVCRTD.LIB /NODEFAULTLIB:LIBCMT.LIB /OPT:REF $[LDFLAGS_OPT4]
-//  #define LDFLAGS_OPT4 /NODEFAULTLIB:MSVCRTD.LIB /OPT:REF $[LDFLAGS_OPT4]
 
   #define COMMONFLAGS /DHAVE_DINKUM /Zc:forScope
 
@@ -175,8 +187,6 @@
   #define OPT1FLAGS /RTCs /GS
 
   #define WARNING_LEVEL_FLAG /W3   // WL
-  //#define WARNING_LEVEL_FLAG /Wall
-  //#define WARNING_LEVEL_FLAG /W4 /WX
 
   // Note: Zi cannot be used on multiproc builds with precomp hdrs, Z7 must be used instead
   #defer DEBUGPDBFLAGS /Zi /Fd"$[osfilename $[patsubst %.obj,%.pdb, $[target]]]"
@@ -210,15 +220,14 @@
   #define LINKER_FLAGS $[LINKER_FLAGS] /NODEFAULTLIB:LIBCI.LIB
   // Added to make pandatool function in VS 9
   #define LINKER_FLAGS $[LINKER_FLAGS] /NOD:MFC90.LIB /NOD:libcmtd /NOD:libc
-//  #define LINKER_FLAGS $[LINKER_FLAGS] /NODEFAULTLIB:LIBCI.LIB /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcprt.lib
-
-// in case we have mixed intel/msvc build
-//  #define EXTRA_LIBPATH /ia32/lib
-//  #define EXTRA_INCPATH /ia32/include
 
   // ensure pdbs are copied to install dir
   #define build_pdbs yes
 
+
+////////////////////
+// INTEL COMPILER //
+////////////////////
 #elif $[eq $[USE_COMPILER], INTEL]
   #define COMPILER icl
   #define LINKER xilink