libtool-patches
[Top][All Lists]
Advanced

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

Fix archiver @FILE support test


From: Ralf Wildenhues
Subject: Fix archiver @FILE support test
Date: Sat, 28 Aug 2010 12:24:16 +0200
User-agent: Mutt/1.5.20 (2010-04-22)

Yay for IRIX ar handing back a useless exit status:

configure:6118: checking for archiver @FILE support
configure:6135: cc -c -g  conftest.c >&5
configure:6135: $? = 0
configure:6138: ar cru libconftest.a @conftest.lst
ar: Error: @conftest.lst cannot open
configure:6141: $? = 0
configure:6152: result: @

This makes the pdemo* tests fail, and I bet the new testsuite too, but I
didn't wait for that.  I'm pushing the following fix to make the test a
bit more reliable, and get ourselves out of the Automake namespace
again.

Peter, can you check whether ar-lib, lib, and 'link -lib' reliably fail
when an @file contains a nonexistent file name?

Thanks,
Ralf

    Fix response file test for unreliable exit status of IRIX ar.
    
    * libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail
    over a command-line argument specifying a nonexistent file (such
    as address@hidden'), so ensure failure with a reponse file containing
    a nonexistent file.  Also, use lt_* variable prefix for
    temporary variables.

diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index efb20de..305e2d8 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -1359,10 +1359,15 @@ AC_CACHE_CHECK([for archiver @FILE support], 
[lt_cv_ar_at_file],
   [lt_cv_ar_at_file=no
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
      [echo conftest.$ac_objext > conftest.lst
-      am_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst'
-      AC_TRY_EVAL([am_ar_try])
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst'
+      AC_TRY_EVAL([lt_ar_try])
       if test "$ac_status" -eq 0; then
-        lt_cv_ar_at_file=@
+       # Ensure the archiver fails upon bogus file names.
+       rm -f conftest.$ac_objext libconftest.a
+       AC_TRY_EVAL([lt_ar_try])
+       if test "$ac_status" -ne 0; then
+          lt_cv_ar_at_file=@
+        fi
       fi
       rm -f conftest.* libconftest.a
      ])




reply via email to

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