* On Thu, Sep 29, 2005 at 05:24:47PM +0200, Ralf Wildenhues wrote: > Hi Peter, > > * Peter Ekberg wrote on Wed, Sep 28, 2005 at 06:33:41PM CEST: > > On Wed, Sep 28, 2005 at 11:03:49AM +0200, Ralf Wildenhues wrote: > > > * Peter Ekberg wrote on Tue, Sep 27, 2005 at 02:13:46PM CEST: > > > > * Ralf Wildenhues wrote on Sunday, September 25, 2005 15:10 CEST: > > > > > > > > > > That's just because you try to avoid any extra copy, which requires > > > > > quite some logic, as seen in your proposed patch. > > > > > > > > I you don't mind the extra copy, here's a patch which does that instead. > > > > > > Hmm. The improved simplicity is very appealing. However, I think the > > > *.uexp file should be removed after linking (see $delfiles). > > > > Fixed in this patch, I also cleaned up the temporary files used to > > filter the dll symbols. > > Great!
Yes, I'm satisfied with this one, and as always, thanks for all your reviews! Hmmm, now that I think about it I think I forgot to credit you in the ChangeLog and I think I have forgot that before on occation. Sorry about that, it's not intentional, but I get the feeling it's not a big thing... *snip* > > > Well, which approach do you like better? I'd have a slight preference > > > for this one, but don't care too much. > > > > I can certainly live without the entangled maze that was the first attempt. > > OK then. The patch looks good, please install after looking at the > following miniscule nit. Thank you! Ok, did that change also, why not... Commited this: Index: libltdl/config/ltmain.m4sh =================================================================== RCS file: /cvsroot/libtool/libtool/libltdl/config/ltmain.m4sh,v retrieving revision 1.11 diff -u -r1.11 ltmain.m4sh --- libltdl/config/ltmain.m4sh 25 Sep 2005 07:35:58 -0000 1.11 +++ libltdl/config/ltmain.m4sh 29 Sep 2005 16:57:00 -0000 @@ -4932,6 +4932,13 @@ # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + delfiles= + if test -n "$export_symbols$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols="$output_objdir/$libname.uexp" + delfiles="$delfiles $export_symbols" + fi + orig_export_symbols= case $host_os in cygwin* | mingw*) @@ -4984,7 +4991,7 @@ fi fi - if test -n "$export_symbols" && test -n "$include_expsyms"; then + if test -n "$export_symbols$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' @@ -4999,6 +5006,7 @@ # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[[ ,]]DATA/!d;s,\(.*\)\([[ \,]].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi @@ -5084,7 +5092,6 @@ test_cmds= concat_cmds= objlist= - delfiles= last_robj= k=1 @@ -5211,9 +5218,10 @@ cmds=$archive_cmds fi fi + fi - # Append the command to remove the reloadable object files - # to the just-reset $cmds. + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi