libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: include_expsyms clobbers user files.


From: Peter Ekberg
Subject: Re: include_expsyms clobbers user files.
Date: Thu, 29 Sep 2005 19:10:39 +0200
User-agent: Mutt/1.5.10i

* 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
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]