Browse Source

o fix early evaluation problem with LDFLAGS_OPT3/4 not allowing selection of static or dynamic library linking
o support cdefs with MIDL_COMMAND through new IDL_CDEFS

Joseph Lee 17 years ago
parent
commit
d571f24a62
1 changed files with 13 additions and 1 deletions
  1. 13 1
      dtool/pptempl/Template.gmsvc.pp

+ 13 - 1
dtool/pptempl/Template.gmsvc.pp

@@ -28,6 +28,18 @@
 #define dtool_ver_dir $[osfilename $[dtool_ver_dir_cyg]]
 #define dtool_ver_dir $[osfilename $[dtool_ver_dir_cyg]]
 #endif
 #endif
 
 
+//
+// Correct LDFLAGS_OPT 3,4 here to get around early evaluation of, even
+// if deferred
+//
+#defer nodefaultlib_cstatic \
+  $[if $[ne $[LINK_FORCE_STATIC_RELEASE_C_RUNTIME],], \
+     /NODEFAULTLIB:MSVCRT.LIB, \
+     /NODEFAULTLIB:LIBCMT.LIB \
+   ]
+#defer LDFLAGS_OPT3 $[LDFLAGS_OPT3] $[nodefaultlib_cstatic]
+#defer LDFLAGS_OPT4 $[LDFLAGS_OPT4] $[nodefaultlib_cstatic]
+
 //////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////
 #if $[or $[eq $[DIR_TYPE], src],$[eq $[DIR_TYPE], metalib]]
 #if $[or $[eq $[DIR_TYPE], src],$[eq $[DIR_TYPE], metalib]]
 //////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////
@@ -554,7 +566,7 @@ $[TAB] $[VERHEADER_GENERATOR_RULE]
 $[VERHEADER_DEPENDENTS] : $[verhdr_to_gen]
 $[VERHEADER_DEPENDENTS] : $[verhdr_to_gen]
 #endif
 #endif
 
 
-#define MIDL_COMMAND $[COMPILE_IDL] /out $[ODIR] $[ODIR]/$[IDL_BASENAME].idl
+#define MIDL_COMMAND $[COMPILE_IDL] /out $[ODIR] $[ODIR]/$[IDL_BASENAME].idl $[IDL_CDEFS:%=/D%]
 
 
 #define idl_to_gen $[filter %.idl, $[GENERATED_SOURCES]]
 #define idl_to_gen $[filter %.idl, $[GENERATED_SOURCES]]
 #if $[idl_to_gen]
 #if $[idl_to_gen]