aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/bsd/ultrix4/sys/mman.h3
-rw-r--r--sysdeps/unix/sysv/linux/configure39
-rw-r--r--sysdeps/unix/sysv/linux/configure.in25
3 files changed, 65 insertions, 2 deletions
diff --git a/sysdeps/unix/bsd/ultrix4/sys/mman.h b/sysdeps/unix/bsd/ultrix4/sys/mman.h
index d49da02c32..d929ca9e84 100644
--- a/sysdeps/unix/bsd/ultrix4/sys/mman.h
+++ b/sysdeps/unix/bsd/ultrix4/sys/mman.h
@@ -1,5 +1,5 @@
/* Definitions for BSD-style memory management. Ultrix 4 version.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -79,6 +79,7 @@ int munmap __P ((__caddr_t __addr, size_t __len));
/* Change the memory protection of the region starting at ADDR and
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
(and sets errno). */
+int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Ultrix 4 does not implement `msync' or `madvise'. */
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index 62d8538003..8884d555a0 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -1,7 +1,44 @@
-# On Linux, the default is to use libio instead of stdio.
+ # Local configure fragment for sysdeps/unix/sysv/linux.
+# On Linux, the default is to use libio instead of stdio.
test $stdio = default && stdio=libio
# Don't bother trying to generate any glue code to be compatible with the
# existing system library, because we are the only system library.
inhibit_glue=yes
+
+echo $ac_n "checking installed Linux kernel header files""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'libc_cv_linux2'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 16 "configure"
+#include "confdefs.h"
+#include <linux/version.h>
+int main() { return 0; }
+int t() {
+#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 0) /* 2.0.0 */
+eat flaming death
+#endif
+; return 0; }
+EOF
+if { (eval echo configure:26: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ libc_cv_linux2='2.0 or later'
+else
+ rm -rf conftest*
+ libc_cv_linux2='TOO OLD!'
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$libc_cv_linux2" 1>&6
+if test "$libc_cv_linux2" != '2.0 or later'; then
+ { echo "configure: error: GNU libc requires kernel header files from Linux 2.0
+or later to be installed before configuring. The kernel header files
+are found usually in /usr/include/asm and /usr/include/linux; make sure
+these directories use files from Linux 2.0 or later. This check uses
+<linux/version.h>, so make sure that file was built correctly when
+installing the kernel header files." 1>&2; exit 1; }
+fi
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
new file mode 100644
index 0000000000..5686c26153
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -0,0 +1,25 @@
+sinclude(./aclocal.m4)dnl Autoconf lossage
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux.
+
+# On Linux, the default is to use libio instead of stdio.
+test $stdio = default && stdio=libio
+
+# Don't bother trying to generate any glue code to be compatible with the
+# existing system library, because we are the only system library.
+inhibit_glue=yes
+
+AC_CACHE_CHECK(installed Linux kernel header files, libc_cv_linux2, [dnl
+AC_TRY_COMPILE([#include <linux/version.h>],
+[#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 0) /* 2.0.0 */
+eat flaming death
+#endif],
+ libc_cv_linux2='2.0 or later', libc_cv_linux2='TOO OLD!')])
+if test "$libc_cv_linux2" != '2.0 or later'; then
+ AC_MSG_ERROR([GNU libc requires kernel header files from Linux 2.0
+or later to be installed before configuring. The kernel header files
+are found usually in /usr/include/asm and /usr/include/linux; make sure
+these directories use files from Linux 2.0 or later. This check uses
+<linux/version.h>, so make sure that file was built correctly when
+installing the kernel header files.])
+fi