2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+ 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-05 Stefano Lattarini <stefano.lattarini@gmail.com>
+
tests: more faithful 'installcheck' support in few tests
* tests/ar-lib5a.test: Use the `$am_scriptdir' variable instead
of "$testsrcdir/../lib" or "$top_testsrcdir/lib", to test more
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
# 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
])
$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
:
. ./defs || Exit 1
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
: