winemaker: Naming fixes
Francois Gouget
fgouget at codeweavers.com
Wed Sep 25 20:26:37 CDT 2002
Martin Wilck: note that I did not test the wrapper case so that may be
slightly broken.
Changelog:
Francois Gouget <fgouget at codeweavers.com>
* tools/winemaker
Bring the naming of libraries and executable up to current standards
Install dlls and executables in dlldir
It is no longer necessary to import ntdll.dll
--
Francois Gouget
fgouget at codeweavers.com
-------------- next part --------------
Index: tools/winemaker
===================================================================
RCS file: /home/wine/wine/tools/winemaker,v
retrieving revision 1.53
diff -u -r1.53 winemaker
--- tools/winemaker 18 Sep 2002 18:30:29 -0000 1.53
+++ tools/winemaker 26 Sep 2002 01:21:29 -0000
@@ -548,11 +548,7 @@
# resulting executable/library. They should not contain anything else.
my @candidates=grep /\.(exe|dll)$/i, @{get_directory_contents("$fullentry")};
foreach my $candidate (@candidates) {
- if ($candidate =~ s/\.exe$//i) {
- $targets{$candidate}=1;
- } elsif ($candidate =~ s/^(.*)\.dll$/lib$1.so/i) {
- $targets{$candidate}=1;
- }
+ $targets{$candidate}=1;
}
} elsif ($dentry =~ /^include/i) {
# This directory must contain headers we're going to need
@@ -565,9 +561,7 @@
source_scan_directory($project,"$fullentry/","$dentry/",$no_target);
}
} elsif (-f "$fullentry") {
- if ($dentry =~ s/\.exe$//i) {
- $targets{$dentry}=1;
- } elsif ($dentry =~ s/^(.*)\.dll$/lib$1.so/i) {
+ if ($dentry =~ /\.(exe|dll)$/i) {
$targets{$dentry}=1;
} elsif ($dentry =~ /\.c$/i and $dentry !~ /\.spec\.c$/) {
push @sources_c,"$dentry";
@@ -653,7 +647,7 @@
foreach my $filename (@$prj_list) {
$filename =~ s/\.(dsp|mak)$//i;
if ($opt_target_type == $TT_DLL) {
- $filename = "lib$filename.so";
+ $filename = "$filename.dll";
}
$targets{$filename}=1;
}
@@ -682,7 +676,7 @@
}
$name =~ s+(/|\.[^.]*)$++;
if ($opt_target_type == $TT_DLL) {
- $name = "lib$name.so";
+ $name = "$name.dll";
}
$targets{$name}=1;
}
@@ -713,9 +707,6 @@
foreach my $target (split /,/,$target_list) {
$target =~ s+^\s*++;
$target =~ s+\s*$++;
- # Also accept .exe and .dll as a courtesy
- $target =~ s+(.*)\.dll$+lib$1.so+;
- $target =~ s+\.exe$++;
$targets{$target}=1;
}
}
@@ -786,28 +777,26 @@
my @exe_list=();
foreach my $target_name (map (lc, (sort { $b cmp $a } keys %targets))) {
# Create the target...
- my $basename;
my $target=[];
target_init($target);
@$target[$T_NAME]=$target_name;
@$target[$T_FLAGS]|=@$project_settings[$T_FLAGS];
- if ($target_name =~ /^lib(.*)\.so$/) {
+ if ($target_name =~ /\.dll$/) {
@$target[$T_TYPE]=$TT_DLL;
@$target[$T_INIT]=get_default_init($TT_DLL);
@$target[$T_FLAGS]&=~$TF_WRAP;
- $basename=$1;
- push @local_depends,$target_name;
- push @local_dlls,$basename;
+ push @local_depends,"$target_name.so";
+ push @local_dlls,$target_name;
} else {
@$target[$T_TYPE]=$opt_target_type;
@$target[$T_INIT]=get_default_init($opt_target_type);
- $basename=$target_name;
push @exe_list,$target;
}
+ my $basename=$target_name;
+ $basename=~ s/\.(dll|exe)$//i;
# This is the default link list of Visual Studio, except odbccp32
- # which we don't have in Wine. Also I add ntdll which seems
- # necessary for Winelib.
- my @std_dlls=qw(advapi32.dll comdlg32.dll gdi32.dll kernel32.dll ntdll.dll odbc32.dll ole32.dll oleaut32.dll shell32.dll user32.dll winspool.drv);
+ # which we don't have in Wine.
+ my @std_dlls=qw(advapi32.dll comdlg32.dll gdi32.dll kernel32.dll odbc32.dll ole32.dll oleaut32.dll shell32.dll user32.dll winspool.drv);
if ((@$target[$T_FLAGS] & $TF_NODLLS) == 0) {
@$target[$T_DLLS]=\@std_dlls;
} else {
@@ -946,11 +935,7 @@
if (@local_dlls > 0 and @exe_list > 0) {
foreach my $target (@exe_list) {
push @{@$target[$T_DLL_PATH]},"-L.";
- push @{@$target[$T_DLLS]},map { "$_.dll" } @local_dlls;
- # Also link in the Unix sense since none of the functions
- # will be exported.
- push @{@$target[$T_LIBRARY_PATH]},"-L.";
- push @{@$target[$T_LIBRARIES]}, at local_dlls;
+ push @{@$target[$T_DLLS]}, at local_dlls;
push @{@$target[$T_DEPENDS]}, at local_depends;
}
}
@@ -965,11 +950,7 @@
# Create the main target
my $main_target=[];
target_init($main_target);
- if ($opt_target_type == $TT_DLL) {
- @$main_target[$T_NAME]="lib$opt_single_target.so";
- } else {
- @$main_target[$T_NAME]="$opt_single_target";
- }
+ @$main_target[$T_NAME]=$opt_single_target;
@$main_target[$T_TYPE]=$opt_target_type;
# Add it to the list
@@ -1018,7 +999,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_DLLS]=[ "kernel32.dll", "ntdll.dll", "user32.dll" ];
+ @$wrapper[$T_DLLS]=[ "kernel32.dll", "user32.dll" ];
push @{@$wrapper[$T_LIBRARIES]}, "dl";
push @{@$wrapper[$T_SOURCES_C]},"@$wrapper[$T_NAME]_wrapper.c";
@@ -1026,7 +1007,8 @@
if (defined $index) {
splice(@{@$target[$T_SOURCES_C]},$index,1);
}
- @$target[$T_NAME]="lib@$target[$T_NAME].so";
+ @$target[$T_NAME]=@$target[$T_NAME];
+ @$target[$T_NAME]=~ s/.exe$/.dll/;
@$target[$T_TYPE]=$TT_DLL;
push @{@$project[$P_TARGETS]},$wrapper;
@@ -1627,23 +1609,16 @@
# Generates a target's .spec file
sub generate_spec_file($$$)
{
- if ($opt_no_generated_specs) {
- return;
- }
+ return if ($opt_no_generated_specs);
+
my $path=$_[0];
my $target=$_[1];
my $project_settings=$_[2];
my $basename=@$target[$T_NAME];
- $basename =~ s+\.so$++;
- if (@$target[$T_FLAGS] & $TF_WRAP) {
- $basename =~ s+^lib++;
- } elsif (@$target[$T_FLAGS] & $TF_WRAPPER) {
+ if (@$target[$T_FLAGS] & $TF_WRAPPER) {
$basename.="_wrapper";
}
- if (@$target[$T_TYPE] != $TT_DLL) {
- $basename .= '.exe';
- }
if (!open(FILEO,">$path$basename.spec")) {
print STDERR "error: could not open \"$path$basename.spec\" for writing\n";
@@ -1783,7 +1758,7 @@
});
generate_list("EXES",1,\@exe_list,sub
{
- return "@{$_[0]}[$T_NAME].exe";
+ return "@{$_[0]}[$T_NAME]";
});
print FILEO "\n\n\n";
@@ -1818,18 +1793,7 @@
generate_list("${canon}_C_SRCS",1,@$target[$T_SOURCES_C]);
generate_list("${canon}_CXX_SRCS",1,@$target[$T_SOURCES_CXX]);
generate_list("${canon}_RC_SRCS",1,@$target[$T_SOURCES_RC]);
- my $basename=@$target[$T_NAME];
- $basename =~ s+\.so$++;
- if (@$target[$T_FLAGS] & $TF_WRAP) {
- $basename =~ s+^lib++;
- } elsif (@$target[$T_FLAGS] & $TF_WRAPPER) {
- $basename.="_wrapper";
- }
- if (@$target[$T_TYPE] != $TT_DLL) {
- generate_list("${canon}_SPEC_SRCS",1,[ "$basename.exe.spec" ]);
- } else {
- generate_list("${canon}_SPEC_SRCS",1,[ "$basename.spec" ]);
- }
+ generate_list("${canon}_SPEC_SRCS",1,[ "@$target[$T_NAME].spec" ]);
generate_list("${canon}_DLL_PATH",1,@$target[$T_DLL_PATH]);
generate_list("${canon}_DLLS",1,@$target[$T_DLLS]);
generate_list("${canon}_LIBRARY_PATH",1,@$target[$T_LIBRARY_PATH]);
@@ -1883,7 +1847,7 @@
print FILEO " \$(SUBDIRS)";
}
if (@{@$project[$P_TARGETS]} > 0) {
- print FILEO " \$(DLLS) \$(EXES:%=%.so)";
+ print FILEO " \$(DLLS:%=%.so) \$(EXES:%=%.so)";
}
print FILEO "\n\n";
if (@$project[$P_PATH] eq "") {
@@ -1902,8 +1866,8 @@
print FILEO "\t_list=\"\$(SUBDIRS)\"; for i in \$\$_list; do (cd \$\$i; \$(MAKE) install) || exit 1; done\n";
}
if (@{@$project[$P_TARGETS]} > 0) {
- print FILEO "\t_list=\"\$(EXES:%=%.so)\"; for i in \$\$_list; do \$(INSTALL_PROGRAM) \$\$i \$(dlldir); done\n";
- print FILEO "\t_list=\"\$(DLLS)\"; for i in \$\$_list; do \$(INSTALL_PROGRAM) \$\$i \$(libdir); done\n";
+ print FILEO "\t_list=\"\$(EXES)\"; for i in \$\$_list; do \$(INSTALL_SCRIPT) \$\$i \$(bindir); done\n";
+ print FILEO "\t_list=\"$(EXES:%=%.so) \$(DLLS:%=%.so)\"; for i in \$\$_list; do \$(INSTALL_PROGRAM) \$\$i \$(dlldir); done\n";
}
print FILEO "\n";
print FILEO "uninstall::\n";
@@ -1913,8 +1877,8 @@
print FILEO "\t_list=\"\$(SUBDIRS)\"; for i in \$\$_list; do (cd \$\$i; \$(MAKE) uninstall) || exit 1; done\n";
}
if (@{@$project[$P_TARGETS]} > 0) {
- print FILEO "\t_list=\"\$(EXES:%=%.so)\"; for i in \$\$_list; do \$(RM) \$(dlldir)/\$\$i;done\n";
- print FILEO "\t_list=\"\$(DLLS)\"; for i in \$\$_list; do \$(RM) \$(libdir)/\$\$i;done\n";
+ print FILEO "\t_list=\"\$(EXES)\"; for i in \$\$_list; do \$(RM) \$(bindir)/\$\$i;done\n";
+ print FILEO "\t_list=\"$(EXES:%=%.so) \$(DLLS:%=%.so)\"; for i in \$\$_list; do \$(RM) \$(dlldir)/\$\$i;done\n";
}
print FILEO "\n";
print FILEO "clean::\n";
@@ -1952,20 +1916,20 @@
$all_libs="\$(${canon}_LIBRARIES:%=-l%) \$(ALL_LIBRARIES)";
}
- print FILEO "\$(${canon}_SPEC_SRCS:.spec=.spec.c): \$(${canon}_SPEC_SRCS) \$(${canon}_OBJS) \$(${canon}_RC_SRCS:.rc=.res)\n";
- print FILEO "\t\$(LD_PATH) \$(WINEBUILD) -fPIC \$(${canon}_DLL_PATH) \$(ALL_DLL_PATH) $all_dlls \$(${canon}_RC_SRCS:%.rc=-res %.res) $mode \$(${canon}_OBJS) -o \$\@ -spec \$(SRCDIR)/\$(${canon}_SPEC_SRCS)\n";
+ print FILEO "@$target[$T_NAME].spec.c: \$(${canon}_SPEC_SRCS) \$(${canon}_RC_SRCS:.rc=.res) \$(${canon}_OBJS)\n";
+ print FILEO "\t\$(LD_PATH) \$(WINEBUILD) -fPIC -o \$\@ \$(${canon}_SPEC_SRCS:%=-spec %) \$(${canon}_RC_SRCS:%.rc=-res %.res) \$(${canon}_DLL_PATH) \$(WINE_DLL_PATH) \$(GLOBAL_DLL_PATH) $all_dlls $mode \$(${canon}_OBJS)\n";
print FILEO "\n";
my $t_name=@$target[$T_NAME];
if (@$target[$T_TYPE]!=$TT_DLL) {
$t_name.=".exe.so";
}
- print FILEO "$t_name: \$(${canon}_SPEC_SRCS:.spec=.spec.o) \$(${canon}_OBJS) \$(${canon}_DEPENDS) \n";
+ print FILEO "@$target[$T_NAME].so: @$target[$T_NAME].spec.o \$(${canon}_OBJS) \$(${canon}_DEPENDS) \n";
if (@{@$target[$T_SOURCES_CXX]} > 0 or @{@$project_settings[$T_SOURCES_CXX]} > 0) {
print FILEO "\t\$(LDXXSHARED)";
} else {
print FILEO "\t\$(LDSHARED)";
}
- print FILEO " \$(LDDLLFLAGS) -o \$\@ \$(${canon}_OBJS) \$(${canon}_SPEC_SRCS:.spec=.spec.o) \$(${canon}_LIBRARY_PATH) \$(ALL_LIBRARY_PATH) $all_libs \$(LIBS)\n";
+ print FILEO " \$(LDDLLFLAGS) -o \$\@ \$(${canon}_OBJS) @$target[$T_NAME].spec.o \$(${canon}_LIBRARY_PATH) \$(ALL_LIBRARY_PATH) $all_libs \$(LIBS)\n";
if (@$target[$T_TYPE] ne $TT_DLL) {
print FILEO "\ttest -f @$target[$T_NAME] || \$(INSTALL_SCRIPT) wineapploader @$target[$T_NAME]\n";
}
@@ -3165,7 +3129,7 @@
-cd `dirname $@` && $(RM) $(CLEAN_FILES)
clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
- $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(OBJS) $(EXES) $(EXES:%=%.so) $(DLLS)
+ $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(OBJS) $(EXES:%.exe=%) $(EXES:%=%.so) $(EXES:%=%.spec.o) $(DLLS:%=%.so) $(DLLS:%=%.spec.o)
# Rules for installing
More information about the wine-patches
mailing list