+2009-05-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Limit stderr logging for C compiler version.
+ * lib/autoconf/general.m4 (_AC_RUN_LOG_LIMIT, _AC_DO_LIMIT): New
+ internal macros, equivalent to _AC_RUN_LOG and _AC_DO, but with
+ an optional additional argument to limit the number of lines of
+ stderr output logged, defaulting to 10.
+ * lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Use
+ _AC_DO_LIMIT for capturing compiler version output. Also test
+ -qversion, for the IBM xlc compiler.
+ * lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise.
+ * THANKS: Update.
+ Report by Christian Rössel and John R. Cary against Libtool.
+
2009-04-24 Eric Blake <ebb9@byu.net>
Fix quoting of m4 macros in AT_CHECK.
Christian Cornelssen ccorn@cs.tu-berlin.de
Christian Krackowizer ckrackowiz@std.schuler-ag.com
Christian Krone krischan@sql.de
+Christian Rössel christian.roessel@gmx.de
Christopher Hulbert cchgroupmail@gmail.com
Christopher Lee chrislee@ri.cmu.edu
Clinton Roy clinton.roy@gmail.com
John David Anglin dave@hiauly1.hia.nrc.ca
John Fortin fortinj@attglobal.net
John Interrante interran@uluru.stanford.edu
+John R. Cary cary@txcorp.com
John W. Eaton jwe@bevo.che.wisc.edu
Jonathan Kamens jik@kamens.brookline.ma.us
Josef Tran josef@timetrackertechnology.com
_AS_ECHO_LOG([checking for _AC_LANG compiler version])
set X $ac_compile
ac_compiler=$[2]
-_AC_DO([$ac_compiler --version >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -v >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -V >&AS_MESSAGE_LOG_FD])
+for ac_option in --version -v -V -qversion; do
+ _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
+done
m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
_AS_ECHO_LOG([checking for _AC_LANG compiler version])
set X $ac_compile
ac_compiler=$[2]
-_AC_DO([$ac_compiler --version >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -v >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -V >&AS_MESSAGE_LOG_FD])
+for ac_option in --version -v -V -qversion; do
+ _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
+done
m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
_AS_ECHO_LOG([checking for _AC_LANG compiler version])
set X $ac_compile
ac_compiler=$[2]
-_AC_DO([$ac_compiler --version >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -v >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -V >&AS_MESSAGE_LOG_FD])
+for ac_option in --version -v -V -qversion; do
+ _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
+done
m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
_AS_ECHO_LOG([checking for _AC_LANG compiler version])
set X $ac_compile
ac_compiler=$[2]
-_AC_DO([$ac_compiler --version >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -v >&AS_MESSAGE_LOG_FD])
-_AC_DO([$ac_compiler -V >&AS_MESSAGE_LOG_FD])
+for ac_option in --version -v -V -qversion; do
+ _AC_DO_LIMIT([$ac_compiler $ac_option >&AS_MESSAGE_LOG_FD])
+done
rm -f a.out
m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
_AS_ECHO_LOG([\$? = $ac_status])
test $ac_status = 0; }])
+
+# _AC_RUN_LOG_LIMIT(COMMAND, LOG-COMMANDS, [LINES])
+# -------------------------------------------------
+# Like _AC_RUN_LOG, but only log LINES lines from stderr,
+# defaulting to 10 lines.
+AC_DEFUN([_AC_RUN_LOG_LIMIT],
+[{ { $2; } >&AS_MESSAGE_LOG_FD
+ ($1) 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed 'm4_default([$3], [10])a\
+... rest of stderr output deleted ...
+ m4_default([$3], [10])q' conftest.err >conftest.er1
+ cat conftest.er1 >&AS_MESSAGE_LOG_FD
+ rm -f conftest.er1 conftest.err
+ fi
+ _AS_ECHO_LOG([\$? = $ac_status])
+ test $ac_status = 0; }])
+
+
# _AC_DO_ECHO(COMMAND)
# --------------------
# Echo COMMAND. This is designed to be used just before evaluating COMMAND.
_AC_DO([$ac_try]); }])
+# _AC_DO_LIMIT(COMMAND, [LINES])
+# ------------------------------
+# Like _AC_DO, but limit the amount of stderr lines logged to LINES.
+# For internal use only.
+AC_DEFUN([_AC_DO_LIMIT],
+[_AC_RUN_LOG_LIMIT([eval "$1"],
+ [_AC_DO_ECHO([$1])], [$2])])
+
+
# _AC_EVAL(COMMAND)
# -----------------
# Eval COMMAND, save the exit status in ac_status, and log it.