diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/configure | 16 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/configure.in | 13 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/direntry.h | 14 |
4 files changed, 33 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog index 04c2fdc2d4..e21f365e1f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ Tue Jul 9 06:19:29 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> + * sysdeps/unix/sysv/linux/configure.in: Use version number in cache + variable name, so new a libc with new requirements won't fail to + notice an insufficient Linux version. + * sysdeps/unix/sysv/linux/direntry.h: New file from David Mosberger. * sysdeps/unix/sysv/linux/configure.in: Check for Linux 2.0.1 headers, diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure index 8884d555a0..7dbb0f9f33 100644 --- a/sysdeps/unix/sysv/linux/configure +++ b/sysdeps/unix/sysv/linux/configure @@ -8,7 +8,7 @@ test $stdio = default && stdio=libio 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 +if eval "test \"`echo '$''{'libc_cv_linux'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF @@ -17,28 +17,28 @@ else #include <linux/version.h> int main() { return 0; } int t() { -#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 0) /* 2.0.0 */ +#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 1) /* 2.0.1 */ 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' + libc_cv_linux='2.0.1 or later' else rm -rf conftest* - libc_cv_linux2='TOO OLD!' + libc_cv_linux='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 +echo "$ac_t""$libc_cv_linux" 1>&6 +if test "$libc_cv_linux" != '2.0.1 or later'; then + { echo "configure: error: GNU libc requires kernel header files from Linux 2.0.1 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 +these directories use files from Linux 2.0.1 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 index 5686c26153..15637fae76 100644 --- a/sysdeps/unix/sysv/linux/configure.in +++ b/sysdeps/unix/sysv/linux/configure.in @@ -9,17 +9,18 @@ test $stdio = default && stdio=libio # 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_CACHE_CHECK(installed Linux kernel header files, libc_cv_linux201, [dnl AC_TRY_COMPILE([#include <linux/version.h>], -[#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 0) /* 2.0.0 */ +[#if LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 1) /* 2.0.1 */ 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 + libc_cv_linux201='2.0.1 or later', + libc_cv_linux201='TOO OLD!')]) +if test "$libc_cv_linux201" != '2.0.1 or later'; then + AC_MSG_ERROR([GNU libc requires kernel header files from Linux 2.0.1 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 +these directories use files from Linux 2.0.1 or later. This check uses <linux/version.h>, so make sure that file was built correctly when installing the kernel header files.]) fi diff --git a/sysdeps/unix/sysv/linux/direntry.h b/sysdeps/unix/sysv/linux/direntry.h new file mode 100644 index 0000000000..1d661d642a --- /dev/null +++ b/sysdeps/unix/sysv/linux/direntry.h @@ -0,0 +1,14 @@ +/* Get `struct dirent' from the Linux kernel header file. */ + +#ifndef _DIRENTRY_H +#define _DIRENTRY_H + +#include <linux/dirent.h> + +#define d_fileno d_ino /* backwards compatibility */ + +#undef _DIRENT_HAVE_D_NAMLEN +#define _DIRENT_HAVE_D_RECLEN +#define _DIRENT_HAVE_D_OFF + +#endif /* _DIRENTRY_H */ |