]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Limit stderr logging for C compiler version.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Mon, 27 Apr 2009 19:38:40 +0000 (21:38 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Fri, 1 May 2009 08:58:58 +0000 (10:58 +0200)
* 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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
THANKS
lib/autoconf/c.m4
lib/autoconf/fortran.m4
lib/autoconf/general.m4

index 0c243cadf6e225b1a16fb4a8a20efb54edbcb897..625bfc91f5dbd38de89101b1bafa739ca906e126 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+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.
diff --git a/THANKS b/THANKS
index 77da1dd1481210f1f3c38a51fd6461c8bd744463..da6da7ef70f87a5b5af691d76f91cd083094f3de 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -72,6 +72,7 @@ Chris Torek                 torek@bsdi.com
 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
@@ -179,6 +180,7 @@ John Calcote                john.calcote@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
index 3fa9c04a84ab17e606296f197163d1526e39cdac..ffdbd455b0960a210c15119ac9986c1503ccc59c 100644 (file)
@@ -471,9 +471,9 @@ test -z "$CC" && AC_MSG_FAILURE([no acceptable C compiler found in \$PATH])
 _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
@@ -706,9 +706,9 @@ fi
 _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
@@ -876,9 +876,9 @@ AC_CHECK_TOOLS(OBJC,
 _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
index f144c0ef4c1fe6d285d8e72b90fde8b06aba6c41..dcffe58e7d90c8c52168ae89aef069f8f874120d 100644 (file)
@@ -354,9 +354,9 @@ AC_CHECK_TOOLS([]_AC_FC[],
 _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
index 83254ed1e2882a12ef4ccaf307233bc1ca755e55..9eaae80bc18a50b4356faf00fc04db1fd2f3f0ba 100644 (file)
@@ -2311,6 +2311,26 @@ AC_DEFUN([_AC_RUN_LOG_STDERR],
   _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.
@@ -2372,6 +2392,15 @@ AC_DEFUN([_AC_DO_TOKENS],
   _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.