Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
glibc/sysdeps/unix/sysv/linux/configure
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
218 lines (199 sloc)
6.55 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
if test -n "$sysheaders"; then | |
OLD_CPPFLAGS=$CPPFLAGS | |
CPPFLAGS="$CPPFLAGS $SYSINCLUDES" | |
fi | |
echo $ac_n "checking installed Linux kernel header files""... $ac_c" 1>&6 | |
echo "configure:16: checking installed Linux kernel header files" >&5 | |
if eval "test \"`echo '$''{'libc_cv_linux2010'+set}'`\" = set"; then | |
echo $ac_n "(cached) $ac_c" 1>&6 | |
else | |
cat > conftest.$ac_ext <<EOF | |
#line 21 "configure" | |
#include "confdefs.h" | |
#include <linux/version.h> | |
#if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < (2 *65536+ 0 *256+ 10) /* 2.0.10 */ | |
eat flaming death | |
#endif | |
EOF | |
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | |
egrep "eat flaming death" >/dev/null 2>&1; then | |
rm -rf conftest* | |
libc_cv_linux2010='TOO OLD!' | |
else | |
rm -rf conftest* | |
libc_cv_linux2010='2.0.10 or later' | |
fi | |
rm -f conftest* | |
fi | |
echo "$ac_t""$libc_cv_linux2010" 1>&6 | |
if test "$libc_cv_linux2010" != '2.0.10 or later'; then | |
{ echo "configure: error: GNU libc requires kernel header files from | |
Linux 2.0.10 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.10 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." 1>&2; exit 1; } | |
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. | |
case "$machine" in | |
mips*) | |
arch_minimum_kernel=2.2.15 | |
;; | |
sh*) | |
arch_minimum_kernel=2.3.99 | |
;; | |
ia64*) | |
arch_minimum_kernel=2.4.0 | |
;; | |
*) | |
arch_minimum_kernel=2.0.10 | |
;; | |
esac | |
if test -n "$minimum_kernel"; then | |
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_version; then | |
echo "configure: warning: minimum kernel version reset to $arch_minimum_kernel" 1>&2 | |
minimum_kernel=$arch_minimum_kernel | |
fi | |
else | |
if test $arch_minimum_kernel != '2.0.10'; then | |
minimum_kernel=$arch_minimum_kernel | |
fi | |
fi | |
if test -n "$minimum_kernel"; then | |
echo $ac_n "checking for kernel header at least $minimum_kernel""... $ac_c" 1>&6 | |
echo "configure:86: 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 89 "configure" | |
#include "confdefs.h" | |
#include <linux/version.h> | |
#if LINUX_VERSION_CODE < $decnum | |
eat flaming death | |
#endif | |
EOF | |
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | |
egrep "eat flaming death" >/dev/null 2>&1; then | |
rm -rf conftest* | |
libc_minimum_kernel='too old!' | |
else | |
rm -rf conftest* | |
libc_minimum_kernel=ok | |
fi | |
rm -f conftest* | |
echo "$ac_t""$libc_minimum_kernel" 1>&6 | |
if test "$libc_minimum_kernel" = ok; then | |
cat >> confdefs.h <<EOF | |
#define __LINUX_KERNEL_VERSION $decnum | |
EOF | |
else | |
{ echo "configure: error: *** The available kernel headers are older than the requested | |
*** compatible kernel version" 1>&2; exit 1; } | |
fi | |
fi | |
if test -n "$sysheaders"; then | |
CPPFLAGS=$OLD_CPPFLAGS | |
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 configuration files on the root partition | |
# in /lib and /etc. | |
if test "$prefix" = "/usr" -o "$prefix" = "/usr/"; then | |
# 64bit libraries on sparc go to /lib64 and not /lib | |
if test "$machine" = "sparc/sparc64"; then | |
libc_cv_slibdir="/lib64" | |
if test "$libdir" = '${exec_prefix}/lib'; then | |
libdir='${exec_prefix}/lib64'; | |
# Locale data can be shared between 32bit and 64bit libraries | |
libc_cv_localedir='${exec_prefix}/lib/locale' | |
fi | |
else | |
libc_cv_slibdir="/lib" | |
fi | |
# Allow the user to override the path with --sysconfdir | |
if test $sysconfdir = '${prefix}/etc'; then | |
libc_cv_sysconfdir=/etc | |
else | |
libc_cv_sysconfdir=$sysconfdir | |
fi | |
libc_cv_rootsbindir="/sbin" | |
fi | |
# Under Linux the LinuxThreads add-on should be available. | |
case $add_ons in | |
# It is available. Good. | |
*linuxthreads*) | |
message= | |
;; | |
*) | |
message="\ | |
*** WARNING: Are you sure you do not want to use the \`linuxthreads' | |
*** add-on?" | |
;; | |
esac | |
if test "$message"; then | |
if test $enable_sanity = yes; then | |
echo "\ | |
*** You should not compile the GNU libc without the \`linuxthreads' | |
*** add-on. Not using them risks being incompatible with the | |
*** libraries of other systems. Consider getting the add-on and restarting | |
*** the configuration. | |
*** If you really mean to not use this add-on, run configure again | |
*** using the extra parameter \`--disable-sanity-checks'." | |
exit 1 | |
else | |
echo "$message" | |
fi | |
fi | |
# One Linux we use ldconfig. | |
use_ldconfig=yes | |
# We need some extensions to the `ldd' script. | |
case "$machine" in | |
i[3456]86* | m68*) | |
ldd_rewrite_script=../sysdeps/unix/sysv/linux/ldd-rewrite.sed | |
;; | |
sparc*) | |
ldd_rewrite_script=../sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed | |
;; | |
*) | |
;; | |
esac | |
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 | |
echo $ac_n "checking for symlinks in ${ac_prefix}/include""... $ac_c" 1>&6 | |
echo "configure:201: checking for symlinks in ${ac_prefix}/include" >&5 | |
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 | |
{ echo "configure: 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." 1>&2; exit 1; } | |
else | |
echo "$ac_t""ok" 1>&6 | |
fi | |
fi |