about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/unix/sysv/linux/configure36
-rw-r--r--sysdeps/unix/sysv/linux/configure.in30
3 files changed, 62 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index e01a054c9f..9158fde02f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-06-12  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/unix/sysv/linux/configure.in: Allow architecture
+	specific minimal supported kernel versions to be specified.
+
 	* libio/iofwide.c (_IO_fwide): Initialize transliteration part of
 	step data structure.
 	* wcsmbs/btowc.c: Likewise.
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index e66768430e..e8d884df82 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -49,13 +49,39 @@ configure option --with-headers." 1>&2; exit 1; }
 fi
 
 # If the user gave a minimal version number test whether the available
-# kernel headers are young enough.
+# kernel headers are young enough.  Additionally we have minimal
+# kernel versions for some architectures.
+if test -n "$minimum_kernel"; then
+  case "$machine" in
+    sh*)
+      arch_minimum_kernel=2.3.99
+      ;;
+    *)
+      ;;
+  esac
+
+  user_version=$((`echo $minimum_kernel.0.0.0 | sed 's/\(0-9*\)\.\(0-9*\)\.\(0-9*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+  arch_version=$((`echo $arch_minimum_kernel.0.0.0 | sed 's/\(0-9*\)\.\(0-9*\)\.\(0-9*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+  if test $user_version -lt $arch_minimum_kernel; then
+    echo "configure: warning: minimum kernel version reset to $arch_minimum_kernel" 1>&2
+    minimum_kernel=$arch_minimum_kernel
+  fi
+else
+  case "$machine" in
+    sh*)
+      minimum_kernel = 2.3.99
+      ;;
+    *)
+      ;;
+  esac
+fi
+
 if test -n "$minimum_kernel"; then
   echo $ac_n "checking for kernel header at least $minimum_kernel""... $ac_c" 1>&6
-echo "configure:56: checking for kernel header at least $minimum_kernel" >&5
+echo "configure:82: checking for kernel header at least $minimum_kernel" >&5
   decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
   cat > conftest.$ac_ext <<EOF
-#line 59 "configure"
+#line 85 "configure"
 #include "confdefs.h"
 #include <linux/version.h>
 #if LINUX_VERSION_CODE < $decnum
@@ -109,7 +135,7 @@ fi
 
 # Under Linux the LinuxThreads add-on should be available.
 case $add_ons in
-  # Both are available.  Good.
+  # It is available.  Good.
   *linuxthreads*)
     message=
     ;;
@@ -162,7 +188,7 @@ if test $host = $build; then
     ac_prefix=$ac_default_prefix
   fi
   echo $ac_n "checking for symlinks in ${ac_prefix}/include""... $ac_c" 1>&6
-echo "configure:166: checking for symlinks in ${ac_prefix}/include" >&5
+echo "configure:192: checking for symlinks in ${ac_prefix}/include" >&5
   ac_message=
   if test -L ${ac_prefix}/include/net; then
     ac_message="$ac_message
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index a05bed564f..e89d8b4c1b 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -36,7 +36,33 @@ configure option --with-headers.])
 fi
 
 # If the user gave a minimal version number test whether the available
-# kernel headers are young enough.
+# kernel headers are young enough.  Additionally we have minimal
+# kernel versions for some architectures.
+if test -n "$minimum_kernel"; then
+  case "$machine" in
+    sh*)
+      arch_minimum_kernel=2.3.99
+      ;;
+    *)
+      ;;
+  esac
+
+  user_version=$((`echo $minimum_kernel.0.0.0 | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+  arch_version=$((`echo $arch_minimum_kernel.0.0.0 | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
+  if test $user_version -lt $arch_minimum_kernel; then
+    AC_MSG_WARN([minimum kernel version reset to $arch_minimum_kernel])
+    minimum_kernel=$arch_minimum_kernel
+  fi
+else
+  case "$machine" in
+    sh*)
+      minimum_kernel = 2.3.99
+      ;;
+    *)
+      ;;
+  esac
+fi
+
 if test -n "$minimum_kernel"; then
   AC_MSG_CHECKING(for kernel header at least $minimum_kernel)
 changequote(,)dnl
@@ -80,7 +106,7 @@ fi
 
 # Under Linux the LinuxThreads add-on should be available.
 case $add_ons in
-  # Both are available.  Good.
+  # It is available.  Good.
   *linuxthreads*)
     message=
     ;;