automake-patches
[Top][All Lists]
Advanced

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

[FYI] {msvc} ar-lib: fix configure output for "unrecognized archiver int


From: Stefano Lattarini
Subject: [FYI] {msvc} ar-lib: fix configure output for "unrecognized archiver interface"
Date: Sat, 5 Nov 2011 21:37:14 +0100

* m4/ar-lib.m4: Ensure that, even when an error is hit while trying
to determine the archiver interface kind, the "checking archiver
interface" message from configure is properly terminated before
an error message is printed, to avoid slightly garbled output.
* tests/ar4.test: Enhance.
* tests/ar5.test: Likewise.
---
 ChangeLog      |   10 ++++++++++
 m4/ar-lib.m4   |    7 +++++--
 tests/ar4.test |    8 ++++++--
 tests/ar5.test |   13 +++++++++++--
 4 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d3e3502..6a86113 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2011-11-05  Stefano Lattarini  <address@hidden>
+
+       ar-lib: fix configure output for "unrecognized archiver interface"
+       * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
+       to determine the archiver interface kind, the "checking archiver
+       interface" message from configure is properly terminated before
+       an error message is printed, to avoid slightly garbled output.
+       * tests/ar4.test: Enhance.
+       * tests/ar5.test: Likewise.
+
 2011-11-04  Stefano Lattarini  <address@hidden>
 
        warnings: fix buglets for portability warnings
diff --git a/m4/ar-lib.m4 b/m4/ar-lib.m4
index 822ca60..e45c558 100644
--- a/m4/ar-lib.m4
+++ b/m4/ar-lib.m4
@@ -33,8 +33,7 @@ AC_CACHE_CHECK([the archiver ($AR) interface], 
[am_cv_ar_interface],
         if test "$ac_status" -eq 0; then
           am_cv_ar_interface=lib
         else
-          m4_default([$1],
-            [AC_MSG_ERROR([could not determine $AR interface])])
+          am_cv_ar_interface=unknown
         fi
       fi
       rm -f conftest.lib libconftest.a
@@ -53,6 +52,10 @@ lib)
   # similar.
   AR="$am_aux_dir/ar-lib $AR"
   ;;
+unknown)
+  m4_default([$1],
+             [AC_MSG_ERROR([could not determine $AR interface])])
+  ;;
 esac
 AC_SUBST([AR])dnl
 ])
diff --git a/tests/ar4.test b/tests/ar4.test
index ebd8c57..bb18111 100755
--- a/tests/ar4.test
+++ b/tests/ar4.test
@@ -27,9 +27,13 @@ END
 $ACLOCAL
 $AUTOCONF
 
-./configure AR=/bin/false 2>stderr && { cat stderr >&2; Exit 1; }
+st=0; ./configure AR=/bin/false >stdout 2>stderr || st=$?
+cat stdout
 cat stderr >&2
+test $st -eq 1
 
-grep 'configure: error: could not determine /bin/false interface' stderr
+grep '^checking.* archiver .*interface.*\.\.\. unknown' stdout
+grep '^configure: error: could not determine /bin/false interface' stderr
+ls *conftest* && Exit 1
 
 :
diff --git a/tests/ar5.test b/tests/ar5.test
index d00f421..865e0bf 100755
--- a/tests/ar5.test
+++ b/tests/ar5.test
@@ -21,13 +21,22 @@
 set -e
 
 cat >> configure.in << 'END'
-AM_PROG_AR([echo spy > bad-archiver-interface-detected])
+AM_PROG_AR([
+  echo spy > bad-archiver-interface-detected
+  AC_MSG_CHECKING([for something else])
+  AC_MSG_RESULT([found it])
+  echo Grep This
+])
 END
 
 $ACLOCAL
 $AUTOCONF
 
-./configure AR=/bin/false
+./configure AR=/bin/false >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep '^checking.* archiver .*interface.*\.\.\. unknown$' stdout
+grep '^checking for something else\.\.\. found it$' stdout
+grep '^Grep This$' stdout
 test -f bad-archiver-interface-detected
 
 :
-- 
1.7.2.3




reply via email to

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