about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--aclocal.m41
-rw-r--r--malloc/malloc.h2
-rw-r--r--sysdeps/unix/sysv/linux/configure.in26
4 files changed, 24 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index b53fdddacb..42c69c01ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* malloc/malloc.h: Properly handle future GCC versions.
+
+1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* sysdeps/unix/sysv/linux/configure.in: Change version checks to
+	use AC_EGREP_CPP.  Change sed pattern to not use alternation.  Fix
+	text of error message.
+
+	* aclocal.m4 (GLIBC_PROVIDES): Define AC_LANG to `C'.
+
 1999-05-29  Ulrich Drepper  <drepper@cygnus.com>
 
 	* manual/filesys.texi: Extend (f)truncate documentation.
diff --git a/aclocal.m4 b/aclocal.m4
index 8a1819d6f9..5affe451c4 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -10,6 +10,7 @@ AC_PROVIDE([AC_PROG_INSTALL])dnl
 AC_PROVIDE([AC_PROG_RANLIB])dnl
 AC_PROVIDE([AC_PROG_CC])dnl
 AC_PROVIDE([AC_PROG_CPP])dnl
+define([AC_LANG], [C])dnl
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
 ])dnl
 dnl
diff --git a/malloc/malloc.h b/malloc/malloc.h
index a93c77a853..eeb33a2949 100644
--- a/malloc/malloc.h
+++ b/malloc/malloc.h
@@ -60,7 +60,7 @@
 /* GCC can always grok prototypes.  For C++ programs we add throw()
    to help it optimize the function calls.  But this works only with
    gcc 2.8.x and egcs.  */
-# if defined __cplusplus && __GNUC_MINOR__ >= 8
+# if defined __cplusplus && (__GNUC__ >= 3 || __GNUC_MINOR__ >= 8)
 #  define __THROW	throw ()
 # else
 #  define __THROW
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 021b4731eb..3f3d02131a 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -16,14 +16,14 @@ if test -n "$sysheaders"; then
 fi
 define([libc_cv_linuxVER], [libc_cv_linux]patsubst(LIBC_LINUX_VERSION,[\.]))dnl
 AC_CACHE_CHECK(installed Linux kernel header files, libc_cv_linuxVER, [dnl
-AC_TRY_COMPILE([#include <linux/version.h>],
-[#if LINUX_VERSION_CODE < ]dnl
+AC_EGREP_CPP([eat flaming death], [#include <linux/version.h>
+#if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < ]dnl
 patsubst(LIBC_LINUX_VERSION,[^\([^.]*\)\.\([^.]*\)\.\([^.]*\)$],dnl
 [ (\1 *65536+ \2 *256+ \3) /* \1.\2.\3 */])[
 eat flaming death
 #endif],
-	       libc_cv_linuxVER='LIBC_LINUX_VERSION or later',
-	       libc_cv_linuxVER='TOO OLD!')])
+	     libc_cv_linuxVER='TOO OLD!',
+	     libc_cv_linuxVER='LIBC_LINUX_VERSION or later')])
 if test "$libc_cv_linuxVER" != 'LIBC_LINUX_VERSION or later'; then
   AC_MSG_ERROR([GNU libc requires kernel header files from
 Linux LIBC_LINUX_VERSION or later to be installed before configuring.
@@ -40,25 +40,19 @@ fi
 if test -n "$minimum_kernel"; then
   AC_MSG_CHECKING(for kernel header at least $minimum_kernel)
 changequote(,)dnl
-  decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\(\([0-9]*\)\|\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
+  decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
 changequote([,])dnl
-  cat > conftest.$ac_ext <<EOF
-#include <linux/version.h>
-int main() {
+  AC_EGREP_CPP([eat flaming death], [#include <linux/version.h>
 #if LINUX_VERSION_CODE < $decnum
 eat flaming death
-#endif
-; return 0; }
-EOF
-  if { (eval echo configure:30: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+#endif], libc_minimum_kernel='too old!', libc_minimum_kernel=ok)
+  AC_MSG_RESULT($libc_minimum_kernel)
+  if test "$libc_minimum_kernel" = ok; then
     AC_DEFINE_UNQUOTED(__LINUX_KERNEL_VERSION, $decnum)
-    AC_MSG_RESULT(ok)
   else
-    AC_MSG_RESULT(too old!)
-    AC_MSG_ERROR([*** The available kernel headers are not at least as old as the requested
+    AC_MSG_ERROR([*** The available kernel headers are older than the requested
 *** compatible kernel version])
   fi
-  rm -f conftest*
 fi
 
 if test -n "$sysheaders"; then