libtool-commit
[Top][All Lists]
Advanced

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

[SCM] GNU Libtool branch, master, updated. 3b98dabaa4c3ed8a07928d1ef8838


From: Ralf Wildenhues
Subject: [SCM] GNU Libtool branch, master, updated. 3b98dabaa4c3ed8a07928d1ef883879a476eac94
Date: Fri, 18 Apr 2008 22:02:22 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  3b98dabaa4c3ed8a07928d1ef883879a476eac94 (commit)
      from  1006ccc48c14d3715c569cca68dab54742207273 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3b98dabaa4c3ed8a07928d1ef883879a476eac94
Author: Ralf Wildenhues <address@hidden>
Date:   Sat Apr 19 00:01:12 2008 +0200

    Avoid redundant rm in compile mode, fix locking.
    
    * libltdl/config/ltmain.m4sh (func_mode_compile): Avoid
    redundant removal of old output files before compilation.
    Do not remove $obj until we have successfully grabbed the
    lockfile (in case the compiler doesn't grok `-c -o'), because
    it might be identical to $output_obj.
    At the end of the function, before we remove the lockfile,
    update $removelist so that if the trap hits after the lockfile
    has been removed, we do not accidentally remove $output_obj that
    does not belong to us.
    (func_write_libtool_object): Use $MV instead of mv.
    
    Signed-off-by: Ralf Wildenhues <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                  |   13 +++++++++++++
 libltdl/config/ltmain.m4sh |   18 +++++++-----------
 2 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e593406..63760ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2008-04-19  Ralf Wildenhues  <address@hidden>
+
+       * libltdl/config/ltmain.m4sh (func_mode_compile): Avoid
+       redundant removal of old output files before compilation.
+       Do not remove $obj until we have successfully grabbed the
+       lockfile (in case the compiler doesn't grok `-c -o'), because
+       it might be identical to $output_obj.
+       At the end of the function, before we remove the lockfile,
+       update $removelist so that if the trap hits after the lockfile
+       has been removed, we do not accidentally remove $output_obj that
+       does not belong to us.
+       (func_write_libtool_object): Use $MV instead of mv.
+
 2008-04-18  Andreas Schwab  <address@hidden>
 
        * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Check optional
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 2802254..8c5c45c 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -650,7 +650,7 @@ pic_object=$write_lobj
 non_pic_object=$write_oldobj
 
 EOF
-      mv -f "${write_libobj}T" "${write_libobj}"
+      $MV "${write_libobj}T" "${write_libobj}"
     }
 }
 
@@ -831,9 +831,6 @@ func_mode_compile ()
       removelist="$lobj $libobj ${libobj}T"
     fi
 
-    $opt_dry_run || $RM $removelist
-    trap "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 1 2 15
-
     # On Cygwin there's no "real" PIC flag so we must build both object types
     case $host_os in
     cygwin* | mingw* | pw32* | os2*)
@@ -850,8 +847,6 @@ func_mode_compile ()
     if test "$compiler_c_o" = no; then
       output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 
's%\.[^.]*$%%'`.${objext}
       lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 1 2 15
     else
       output_obj=
       need_locks=no
@@ -881,17 +876,20 @@ compiler."
        $opt_dry_run || $RM $removelist
        exit $EXIT_FAILURE
       fi
+      removelist="$removelist $output_obj"
       $ECHO "$srcfile" > "$lockfile"
     fi
 
+    $opt_dry_run || $RM $removelist
+    removelist="$removelist $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
     if test -n "$fix_srcfile_path"; then
       eval srcfile=\"$fix_srcfile_path\"
     fi
     func_quote_for_eval "$srcfile"
     qsrcfile=$func_quote_for_eval_result
 
-    $opt_dry_run || $RM "$libobj" "${libobj}T"
-
     # Only build a PIC object if we are building libtool libraries.
     if test "$build_libtool_libs" = yes; then
       # Without this assignment, base_compile gets emptied.
@@ -911,8 +909,6 @@ compiler."
        command="$command -o $lobj"
       fi
 
-      $opt_dry_run || $RM "$lobj" "$output_obj"
-
       func_show_eval_locale "$command" \
           'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
 
@@ -962,7 +958,6 @@ compiler."
 
       # Suppress compiler output if we already did a PIC compilation.
       command="$command$suppress_output"
-      $opt_dry_run || $RM "$obj" "$output_obj"
       func_show_eval_locale "$command" \
         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 
@@ -998,6 +993,7 @@ compiler."
 
       # Unlock the critical section if it was locked
       if test "$need_locks" != no; then
+       removelist=$lockfile
         $RM "$lockfile"
       fi
     }


hooks/post-receive
--
GNU Libtool




reply via email to

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