update from main archive 961207
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / linux / configure.in
index 21079a3..fe499af 100644 (file)
@@ -5,22 +5,77 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # On Linux, the default is to use libio instead of stdio.
 test $stdio = default && stdio=libio
 
+# We also use the new malloc by default.
+test $malloc = default && malloc=new-malloc
+
 # 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_linux, [dnl
+define([LIBC_LINUX_VERSION],[2.0.10])dnl
+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 < (2 *65536+ 0 *256+ 1) /* 2.0.1 */
+[#if LINUX_VERSION_CODE < ]dnl
+patsubst(LIBC_LINUX_VERSION,[^\([^.]*\)\.\([^.]*\)\.\([^.]*\)$],dnl
+[ (\1 *65536+ \2 *256+ \3) /* \1.\2.\3 */])[
 eat flaming death
 #endif],
-              libc_cv_linux='2.0.1 or later',
-              libc_cv_linux='TOO OLD!')])
-if test "$libc_cv_linux" != '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.1 or later.  This check uses
-<linux/version.h>, so make sure that file was built correctly when
-installing the kernel header files.])
+              libc_cv_linuxVER='LIBC_LINUX_VERSION or later',
+              libc_cv_linuxVER='TOO OLD!')])
+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.
+The kernel header files are found usually in /usr/include/asm and
+/usr/include/linux; make sure these directories use files from
+Linux LIBC_LINUX_VERSION or later.  This check uses <linux/version.h>, so
+make sure that file was built correctly when installing the kernel header
+files.])
+fi
+
+# The Linux filesystem standard prescribes where to place "essential"
+# files.  I.e., when the installation prefix is "/usr" we have to place
+# shared library objects and the configuation files on the root partition
+# in /lib and /etc.
+if test "$prefix" = "/usr"; then
+  libc_cv_slibdir="/lib"
+  libc_cv_sysconfdir="/etc"
+fi
+
+# Under Linux the LinuxThreads and crypt add-on should be available.
+case $add_ons in
+  # Both are available.  Good.
+  *linuxthreads*des-crypt* | *des-crypt*linuxthreads*)
+    message=
+    ;;
+  *linuxthreads*)
+    message="\
+*** WARNING:
+*** Are you sure you do not want to use the \`crypt' add-on?"
+    ;;
+  *des-crypt*)
+    message="\
+*** WARNING:
+*** Are you sure you do not want to use the \`LinuxThread' add-on?"
+    ;;
+  *)
+    message="\
+*** WARNING: Are you sure you do not want to use the \`LinuxThreads'
+*** and \`crypt' add-ons?"
+    ;;
+esac
+
+if test "$message"; then
+  if test $enable_sanity = yes; then
+    echo "\
+*** You should not compile the GNU libc without the \`LinuxThreads' and
+*** \`crypt' add-on.  Not using them risks to be incompatible with the
+*** libraries of other systems.  Consider getting the add-ons and restart
+*** the configuration.
+*** If you really mean to avoid those add-ons run configure again, now
+*** using the extra parameter \`--disable-sanity-checks'."
+    exit 1
+  else
+    echo "$message"
+  fi
 fi