123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
- # Local configure fragment for sysdeps/unix/sysv/linux.
- define([LIBC_LINUX_VERSION],[3.2.0])dnl
- if test -n "$sysheaders"; then
- OLD_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $SYSINCLUDES"
- 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 !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < ]dnl
- patsubst(LIBC_LINUX_VERSION,[^\([^.]*\)\.\([^.]*\)\.\([^.]*\)$],dnl
- [ (\1 *65536+ \2 *256+ \3) /* \1.\2.\3 */])[
- # error kernel headers missing or too old
- #endif], [],
- [libc_cv_linuxVER='LIBC_LINUX_VERSION or later'],
- [libc_cv_linuxVER='missing or 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. To use kernel headers not from /usr/include/linux, use the
- configure option --with-headers.])
- fi
- # If the user gave a minimal version number test whether the available
- # kernel headers are young enough. Additionally we have minimal
- # kernel versions for some architectures. If a previous configure fragment
- # set arch_minimum_kernel already, let that override our defaults here.
- # Note that we presume such a fragment has set libc_cv_gcc_unwind_find_fde
- # if appropriate too.
- test -n "$arch_minimum_kernel" || arch_minimum_kernel=3.2.0
- if test -n "$minimum_kernel"; then
- changequote(,)
- 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/'`))
- changequote([,])
- if test $user_version -lt $arch_version; then
- AC_MSG_WARN([minimum kernel version reset to $arch_minimum_kernel])
- minimum_kernel=$arch_minimum_kernel
- fi
- else
- minimum_kernel=$arch_minimum_kernel
- fi
- 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)/'`;
- abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
- changequote([,])dnl
- AC_TRY_COMPILE([#include <linux/version.h>
- #if LINUX_VERSION_CODE < $decnum
- # error kernel headers too old
- #endif], [], [libc_minimum_kernel=ok], [libc_minimum_kernel='too old!'])
- AC_MSG_RESULT($libc_minimum_kernel)
- if test "$libc_minimum_kernel" = ok; then
- AC_DEFINE_UNQUOTED(__LINUX_KERNEL_VERSION, $decnum)
- AC_DEFINE_UNQUOTED(__ABI_TAG_VERSION, $abinum)
- else
- AC_MSG_ERROR([*** The available kernel headers are older than the requested
- *** compatible kernel version])
- fi
- if test -n "$sysheaders"; then
- CPPFLAGS=$OLD_CPPFLAGS
- fi
- if test "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
- if test $enable_sanity = yes; then
- echo "\
- *** On GNU/Linux systems the GNU C Library should not be installed into
- *** /usr/local since this might make your system totally unusable.
- *** We strongly advise to use a different prefix. For details read the FAQ.
- *** If you really mean to do this, run configure again using the extra
- *** parameter \`--disable-sanity-checks'."
- exit 1
- else
- echo "\
- *** WARNING: Do you really want to install the GNU C Library into /usr/local?
- *** This might make your system totally unusable, for details read the FAQ."
- fi
- fi
- # One Linux we use ldconfig.
- use_ldconfig=yes
- if test $host = $build; then
- # If $prefix/include/{net,scsi} are symlinks, make install will
- # clobber what they're linked to (probably a kernel tree).
- # test -L ought to work on all Linux boxes.
- if test "x$prefix" != xNONE; then
- ac_prefix=$prefix
- else
- ac_prefix=$ac_default_prefix
- fi
- AC_MSG_CHECKING([for symlinks in ${ac_prefix}/include])
- ac_message=
- if test -L ${ac_prefix}/include/net; then
- ac_message="$ac_message
- ${ac_prefix}/include/net is a symlink"
- fi
- if test -L ${ac_prefix}/include/scsi; then
- ac_message="$ac_message
- ${ac_prefix}/include/scsi is a symlink"
- fi
- if test -n "$ac_message"; then
- AC_MSG_ERROR([$ac_message
- \`make install' will destroy the target of the link(s).
- Delete the links and re-run configure, or better still, move the entire
- ${ac_prefix}/include directory out of the way.])
- else
- AC_MSG_RESULT(ok)
- fi
- fi
- # We have inlined syscalls.
- AC_DEFINE(HAVE_INLINED_SYSCALLS)
|