From 35246cbb8d63e0d96853f7579a851ed175844005 Mon Sep 17 00:00:00 2001 From: Francois Gouget Date: Mon, 7 May 2001 18:19:57 +0000 Subject: [PATCH] Remove the anonymous function parameter from generate_list calls when it is unnecessary. Modify the .spec.c rule to allow compilation out of $(TOPSRCDIR). --- tools/winemaker | 81 +++++++++++++++---------------------------------- 1 file changed, 24 insertions(+), 57 deletions(-) diff --git a/tools/winemaker b/tools/winemaker index 58d7f3b70ce..b254ee0a4f0 100755 --- a/tools/winemaker +++ b/tools/winemaker @@ -1751,11 +1751,11 @@ sub generate_project_files }); } if (@{@$project[$P_TARGETS]} > 0) { - generate_list("DLLS",1,\@dll_list,sub + generate_list("DLLS",1,\@dll_list,sub { return @{$_[0]}[$T_NAME]; }); - generate_list("EXES",1,\@exe_list,sub + generate_list("EXES",1,\@exe_list,sub { return "@{$_[0]}[$T_NAME]"; }); @@ -1763,50 +1763,26 @@ sub generate_project_files print FILEO "### Global settings\n\n"; # Make it so that the project-wide settings override the global settings - generate_list("DEFINES",0,@$project_settings[$T_DEFINES],sub + generate_list("DEFINES",0,@$project_settings[$T_DEFINES]); + generate_list("",1,$global_settings[$T_DEFINES]); + generate_list("INCLUDE_PATH",$no_extra,@$project_settings[$T_INCLUDE_PATH]); + generate_list("",1,$global_settings[$T_INCLUDE_PATH],sub { - return "$_[0]"; - }); - generate_list("",1,$global_settings[$T_DEFINES],sub - { - return "$_[0]"; - }); - generate_list("INCLUDE_PATH",$no_extra,@$project_settings[$T_INCLUDE_PATH],sub - { - return "$_[0]"; - }); - generate_list("",1,$global_settings[$T_INCLUDE_PATH],sub - { - if ($_[0] !~ /^-I/) { - return "$_[0]"; - } - if (is_absolute($')) { + if ($_[0] !~ /^-I/ or is_absolute($')) { return "$_[0]"; } return "-I\$(TOPSRCDIR)/$'"; }); - generate_list("LIBRARY_PATH",$no_extra,@$project_settings[$T_LIBRARY_PATH],sub + generate_list("LIBRARY_PATH",$no_extra,@$project_settings[$T_LIBRARY_PATH]); + generate_list("",1,$global_settings[$T_LIBRARY_PATH],sub { - return "$_[0]"; - }); - generate_list("",1,$global_settings[$T_LIBRARY_PATH],sub - { - if ($_[0] !~ /^-L/) { - return "$_[0]"; - } - if (is_absolute($')) { + if ($_[0] !~ /^-L/ or is_absolute($')) { return "$_[0]"; } return "-L\$(TOPSRCDIR)/$'"; }); - generate_list("LIBRARIES",$no_extra,@$project_settings[$T_LIBRARIES],sub - { - return "$_[0]"; - }); - generate_list("",1,$global_settings[$T_LIBRARIES],sub - { - return "$_[0]"; - }); + generate_list("LIBRARIES",$no_extra,@$project_settings[$T_LIBRARIES]); + generate_list("",1,$global_settings[$T_LIBRARIES]); print FILEO "\n\n"; my $extra_source_count=@{@$project_settings[$T_SOURCES_C]}+ @@ -1822,7 +1798,7 @@ sub generate_project_files generate_list("EXTRA_OBJS",1,["\$(EXTRA_C_SRCS:.c=.o)","\$(EXTRA_CXX_SRCS:.cpp=.o)"]); print FILEO "\n\n\n"; } - + # Iterate over all the targets... foreach $target (@{@$project[$P_TARGETS]}) { print FILEO "### @$target[$T_NAME] sources and settings\n\n"; @@ -1838,25 +1814,16 @@ sub generate_project_files } elsif (@$target[$T_FLAGS] & $TF_WRAPPER) { $basename.="_wrapper"; } - generate_list("${canon}_SPEC_SRCS",1,[ "$basename.spec"]); - generate_list("${canon}_LIBRARY_PATH",1,@$target[$T_LIBRARY_PATH],sub - { - return "$_[0]"; - }); - generate_list("${canon}_LIBRARIES",1,@$target[$T_LIBRARIES],sub - { - return "$_[0]"; - }); - generate_list("${canon}_DEPENDS",1,@$target[$T_DEPENDS],sub - { - return "$_[0]"; - }); + generate_list("${canon}_SPEC_SRCS",1,[ "$basename.spec" ]); + generate_list("${canon}_LIBRARY_PATH",1,@$target[$T_LIBRARY_PATH]); + generate_list("${canon}_LIBRARIES",1,@$target[$T_LIBRARIES]); + generate_list("${canon}_DEPENDS",1,@$target[$T_DEPENDS]); print FILEO "\n"; generate_list("${canon}_OBJS",1,["\$(${canon}_C_SRCS:.c=.o)","\$(${canon}_CXX_SRCS:.cpp=.o)","\$(EXTRA_OBJS)"]); print FILEO "\n\n\n"; } print FILEO "### Global source lists\n\n"; - generate_list("C_SRCS",$no_extra,@$project[$P_TARGETS],sub + generate_list("C_SRCS",$no_extra,@$project[$P_TARGETS],sub { my $canon=canonize(@{$_[0]}[$T_NAME]); $canon =~ s+_so$++; @@ -1865,7 +1832,7 @@ sub generate_project_files if (!$no_extra) { generate_list("",1,[ "\$(EXTRA_C_SRCS)" ]); } - generate_list("CXX_SRCS",$no_extra,@$project[$P_TARGETS],sub + generate_list("CXX_SRCS",$no_extra,@$project[$P_TARGETS],sub { my $canon=canonize(@{$_[0]}[$T_NAME]); $canon =~ s+_so$++; @@ -1874,7 +1841,7 @@ sub generate_project_files if (!$no_extra) { generate_list("",1,[ "\$(EXTRA_CXX_SRCS)" ]); } - generate_list("RC_SRCS",$no_extra,@$project[$P_TARGETS],sub + generate_list("RC_SRCS",$no_extra,@$project[$P_TARGETS],sub { my $canon=canonize(@{$_[0]}[$T_NAME]); $canon =~ s+_so$++; @@ -1883,7 +1850,7 @@ sub generate_project_files if (!$no_extra) { generate_list("",1,[ "\$(EXTRA_RC_SRCS)" ]); } - generate_list("SPEC_SRCS",1,@$project[$P_TARGETS],sub + generate_list("SPEC_SRCS",1,@$project[$P_TARGETS],sub { my $canon=canonize(@{$_[0]}[$T_NAME]); $canon =~ s+_so$++; @@ -1925,7 +1892,7 @@ sub generate_project_files print FILEO "\tfor i in \$(EXES:%=%.so) \$(DLLS); do \$(RM) \$(libdir)/\$\$i;done\n"; } print FILEO "\n\n\n"; - + if (@{@$project[$P_TARGETS]} > 0) { print FILEO "### Target specific build rules\n\n"; foreach $target (@{@$project[$P_TARGETS]}) { @@ -1936,7 +1903,7 @@ sub generate_project_files print FILEO "\t-\$(STRIP) \$(STRIPFLAGS) \$\@\n"; print FILEO "\n"; print FILEO "\$(${canon}_SPEC_SRCS:.spec=.spec.c): \$(${canon}_SPEC_SRCS:.spec) \$(${canon}_SPEC_SRCS:.spec=.tmp.o) \$(${canon}_RC_SRCS:.rc=.res)\n"; - print FILEO "\t\$(LD_PATH) \$(WINEBUILD) -fPIC \$(${canon}_LIBRARY_PATH) \$(WINE_LIBRARY_PATH) -sym \$(${canon}_SPEC_SRCS:.spec=.tmp.o) -o \$\@ -spec \$(${canon}_SPEC_SRCS)\n"; + print FILEO "\t\$(LD_PATH) \$(WINEBUILD) -fPIC \$(${canon}_LIBRARY_PATH) \$(WINE_LIBRARY_PATH) -sym \$(${canon}_SPEC_SRCS:.spec=.tmp.o) -o \$\@ -spec \$(SRCDIR)/\$(${canon}_SPEC_SRCS)\n"; print FILEO "\n"; my $t_name=@$target[$T_NAME]; if (@$target[$T_TYPE]!=$TT_DLL) { @@ -1956,7 +1923,7 @@ sub generate_project_files } } close(FILEO); - + foreach $target (@{@$project[$P_TARGETS]}) { generate_spec_file(@$project[$P_PATH],$target,$project_settings); if (@$target[$T_FLAGS] & $TF_WRAPPER) {