From 83c0669bea5b4881d2729ef91bce01c59f362e0b Mon Sep 17 00:00:00 2001 From: georges <> Date: Wed, 27 Dec 2000 22:22:50 +0000 Subject: [PATCH] link win32 versioning resources --- dtool/pptempl/Global.gmsvc.pp | 4 +++- dtool/pptempl/Global.msvc.pp | 5 ++++- dtool/pptempl/Template.gmsvc.pp | 25 +++++++++++++++++++++---- dtool/pptempl/Template.msvc.pp | 20 +++++++++++++++++++- 4 files changed, 47 insertions(+), 7 deletions(-) diff --git a/dtool/pptempl/Global.gmsvc.pp b/dtool/pptempl/Global.gmsvc.pp index e1d9598e03..b702ca71e6 100644 --- a/dtool/pptempl/Global.gmsvc.pp +++ b/dtool/pptempl/Global.gmsvc.pp @@ -96,7 +96,9 @@ #defer STATIC_LIB_C lib /nologo $[sources] /OUT:"$[osfilename $[target]]" #defer STATIC_LIB_C++ $[STATIC_LIB_C] -#defer SHARED_LIB_C link /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" +#defer ver_resource $[directory]\ver.res + +#defer SHARED_LIB_C link /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] "$[ver_resource]" $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" #defer SHARED_LIB_C++ $[SHARED_LIB_C] #defer LINK_BIN_C link /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" diff --git a/dtool/pptempl/Global.msvc.pp b/dtool/pptempl/Global.msvc.pp index da92ba2619..6722ddf315 100644 --- a/dtool/pptempl/Global.msvc.pp +++ b/dtool/pptempl/Global.msvc.pp @@ -100,7 +100,10 @@ #defer STATIC_LIB_C lib /nologo $[sources] /OUT:"$[osfilename $[target]]" #defer STATIC_LIB_C++ $[STATIC_LIB_C] -#defer SHARED_LIB_C link /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" +#defer ver_resource $[directory]\ver.res + +#defer SHARED_LIB_C link /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] "$[ver_resource]" $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" +//#defer SHARED_LIB_C link /nologo /dll $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" #defer SHARED_LIB_C++ $[SHARED_LIB_C] #defer LINK_BIN_C link /nologo $[LDFLAGS_OPT$[OPTIMIZE]] $[sources] $[decygwin %,/LIBPATH:"%",$[lpath]] $[patsubst %.lib,%.lib,%,lib%.lib,$[libs]] /OUT:"$[osfilename $[target]]" diff --git a/dtool/pptempl/Template.gmsvc.pp b/dtool/pptempl/Template.gmsvc.pp index 1c534c8c93..92e2c2a1b2 100644 --- a/dtool/pptempl/Template.gmsvc.pp +++ b/dtool/pptempl/Template.gmsvc.pp @@ -18,11 +18,23 @@ // $DTOOL/pptempl/System.pp // The user's PPREMAKE_CONFIG file. // $DTOOL/pptempl/Global.pp -// $DTOOL/pptempl/Global.msvc.pp +// $DTOOL/pptempl/Global.gmsvc.pp // All of the Sources.pp files in the current source hierarchy // $DTOOL/Depends.pp, once for each Sources.pp file -// Template.msvc.pp (this file), once for each Sources.pp file +// Template.gmsvc.pp (this file), once for each Sources.pp file +#defun decygwin frompat,topat,path + #foreach file $[path] + #if $[isfullpath $[file]] + $[patsubstw $[frompat],$[topat],$[cygpath_w $[file]]] + #else + $[patsubstw $[frompat],$[topat],$[osfilename $[file]]] + #endif + #end file +#end decygwin + +#define dtool_ver_dir_cyg $[DTOOL_INSTALL]/src/dtoolbase +#define dtool_ver_dir $[decygwin %,%,$[dtool_ver_dir_cyg]] ////////////////////////////////////////////////////////////////////// #if $[or $[eq $[DIR_TYPE], src],$[eq $[DIR_TYPE], metalib]] @@ -320,10 +332,15 @@ $[directory]/stamp : $[varname] = $[sources] #define target $[so_dir]/lib$[TARGET]$[dllext].dll #define sources $($[varname]) -$[target] : $[sources] $[so_dir]/stamp + #define flags $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%] +$[target] : $[sources] $[so_dir]/stamp $[dtool_ver_dir_cyg]/version.rc + // first generate builddate for rc compiler + cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp" > "$[dtool_ver_dir]\verdate.h" + rc /n /fo"$[ver_resource]" $[filter /D%, $[flags]] "$[dtool_ver_dir]\version.rc" + rm -f "$[dtool_ver_dir]\verdate.h" #if $[filter %.cxx %.yxx %.lxx,$[get_sources]] $[SHARED_LIB_C++] - #else + #else $[SHARED_LIB_C] #endif diff --git a/dtool/pptempl/Template.msvc.pp b/dtool/pptempl/Template.msvc.pp index 27f30ac3f3..f25e92ed7c 100644 --- a/dtool/pptempl/Template.msvc.pp +++ b/dtool/pptempl/Template.msvc.pp @@ -25,6 +25,19 @@ // Template.msvc.pp (this file), once for each Sources.pp file +#defun decygwin frompat,topat,path + #foreach file $[path] + #if $[isfullpath $[file]] + $[patsubstw $[frompat],$[topat],$[cygpath_w $[file]]] + #else + $[patsubstw $[frompat],$[topat],$[osfilename $[file]]] + #endif + #end file +#end decygwin + +#define dtool_ver_dir_cyg $[DTOOL_INSTALL]/src/dtoolbase +#define dtool_ver_dir $[decygwin %,%,$[dtool_ver_dir_cyg]] + ////////////////////////////////////////////////////////////////////// #if $[or $[eq $[DIR_TYPE], src],$[eq $[DIR_TYPE], metalib]] ////////////////////////////////////////////////////////////////////// @@ -302,7 +315,12 @@ $[osfilename $[directory]] : $[varname] = $[osfilename $[sources]] #define target $[so_dir]\lib$[TARGET]$[dllext].dll #define sources $($[varname]) -$[target] : $[sources] + #define flags $[get_cflags] $[C++FLAGS] $[CFLAGS_OPT$[OPTIMIZE]] $[CFLAGS_SHARED] $[building_var:%=/D%] +$[target] : $[sources] "$[dtool_ver_dir]\version.rc" + // first generate builddate for rc compiler + cl /nologo /EP "$[dtool_ver_dir]\verdate.cpp" > "$[dtool_ver_dir]\verdate.h" + rc /n /fo"$[ver_resource]" $[filter /D%, $[flags]] "$[dtool_ver_dir]\version.rc" + rm -f "$[dtool_ver_dir]\verdate.h" #if $[filter %.cxx %.yxx %.lxx,$[get_sources]] $[SHARED_LIB_C++] #else