Added handling of .hpp files (another extension for C++ headers).
The wrapper code needs to import dlls too.
All the generated wrapper files were identical, the 'variable'
subsitution was done on the template itself. Oups!
diff --git a/tools/winemaker b/tools/winemaker
index fb8f5a5..58a9157 100755
--- a/tools/winemaker
+++ b/tools/winemaker
@@ -3,7 +3,7 @@
# Copyright 2000 Francois Gouget for CodeWeavers
# fgouget@codeweavers.com
#
-my $version="0.5.6";
+my $version="0.5.7";
use Cwd;
use File::Basename;
@@ -519,7 +519,7 @@
}
} elsif ($dentry =~ /\.rc$/i) {
push @sources_rc,"$dentry";
- } elsif ($dentry =~ /\.(h|hxx|inl|rc2|dlg)$/i) {
+ } elsif ($dentry =~ /\.(h|hxx|hpp|inl|rc2|dlg)$/i) {
push @sources_misc,"$dentry";
if ($dentry =~ /^stdafx.h$/i) {
@$project_settings[$T_FLAGS]|=$TF_MFC;
@@ -949,6 +949,7 @@
@$wrapper[$T_TYPE]=@$target[$T_TYPE];
@$wrapper[$T_INIT]=get_default_init(@$target[$T_TYPE]);
@$wrapper[$T_FLAGS]=$TF_WRAPPER | (@$target[$T_FLAGS] & $TF_MFC);
+ @$wrapper[$T_IMPORTS]=[ "kernel32.dll", "ntdll.dll", "user32.dll" ];
push @{@$wrapper[$T_SOURCES_C]},"@$wrapper[$T_NAME]_wrapper.c";
my $index=bsearch(@$target[$T_SOURCES_C],"@$wrapper[$T_NAME]_wrapper.c");
@@ -1507,11 +1508,12 @@
my $app_init=(@$target[$T_TYPE]==$TT_GUIEXE?"\"WinMain\"":"\"main\"");
my $app_mfc=(@$target[$T_FLAGS] & $TF_MFC?"\"mfc\"":NULL);
foreach $line (@{$templates{"wrapper.c"}}) {
- $line =~ s/\#\#WINEMAKER_APP_NAME\#\#/$app_name/;
- $line =~ s/\#\#WINEMAKER_APP_TYPE\#\#/$app_type/;
- $line =~ s/\#\#WINEMAKER_APP_INIT\#\#/$app_init/;
- $line =~ s/\#\#WINEMAKER_APP_MFC\#\#/$app_mfc/;
- print FILEO $line;
+ my $l=$line;
+ $l =~ s/\#\#WINEMAKER_APP_NAME\#\#/$app_name/;
+ $l =~ s/\#\#WINEMAKER_APP_TYPE\#\#/$app_type/;
+ $l =~ s/\#\#WINEMAKER_APP_INIT\#\#/$app_init/;
+ $l =~ s/\#\#WINEMAKER_APP_MFC\#\#/$app_mfc/;
+ print FILEO $l;
}
close(FILEO);
}