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/i386/configure
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
247 lines (218 sloc)
8.24 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
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES | |
# ------------------------------------------------------- | |
# Tests whether HEADER exists and can be compiled using the include files in | |
# INCLUDES, setting the cache variable VAR accordingly. | |
ac_fn_c_check_header_compile () | |
{ | |
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | |
$as_echo_n "checking for $2... " >&6; } | |
if eval \${$3+:} false; then : | |
$as_echo_n "(cached) " >&6 | |
else | |
cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
/* end confdefs.h. */ | |
$4 | |
#include <$2> | |
_ACEOF | |
if ac_fn_c_try_compile "$LINENO"; then : | |
eval "$3=yes" | |
else | |
eval "$3=no" | |
fi | |
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | |
fi | |
eval ac_res=\$$3 | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | |
$as_echo "$ac_res" >&6; } | |
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | |
} # ac_fn_c_check_header_compile | |
# This file is generated from configure.ac by Autoconf. DO NOT EDIT! | |
# Local configure fragment for sysdeps/i386. | |
# We no longer support i386 since it lacks the atomic instructions | |
# required to implement NPTL threading. | |
if test "$config_machine" = i386; then | |
as_fn_error $? " | |
*** ERROR: Support for i386 is deprecated. | |
*** Please use host i786, i686, i585 or i486. | |
*** For example: /src/glibc/configure --host=i686-pc-linux-gnu ...\"" "$LINENO" 5 | |
fi | |
# The GNU C Library can't be built for i386. There are several reasons for | |
# this restriction. The primary reason is that i386 lacks the atomic | |
# operations required to support the current NPTL implementation. While it is | |
# possible that such atomic operations could be emulated in the kernel to date | |
# no such work has been done to enable this. Even with NPTL disabled you still | |
# have no atomic.h implementation. Given the declining use of i386 we disable | |
# support for building with `-march=i386' or `-mcpu=i386.' We don't explicitly | |
# check for i386, instead we make sure the compiler has support for inlining | |
# the builtin __sync_val_compare_and_swap. If it does then we should have no | |
# problem building for i386. | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler support of inlined builtin function __sync_val_compare_and_swap" >&5 | |
$as_echo_n "checking for compiler support of inlined builtin function __sync_val_compare_and_swap... " >&6; } | |
libc_compiler_builtin_inlined=no | |
cat > conftest.c <<EOF | |
int _start (void) { int a, b, c; __sync_val_compare_and_swap (&a, b, c); return 0; } | |
EOF | |
if ! { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS | |
-O0 -nostdlib -nostartfiles | |
-S conftest.c -o - | fgrep "__sync_val_compare_and_swap" | |
1>&5' | |
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | |
(eval $ac_try) 2>&5 | |
ac_status=$? | |
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | |
test $ac_status = 0; }; } | |
then | |
libc_compiler_builtin_inlined=yes | |
fi | |
rm -f conftest* | |
if test $libc_compiler_builtin_inlined = yes; then | |
libc_cv_unsupported_i386=no | |
else | |
as_fn_error $? " | |
*** Building with -march=i386/-mcpu=i386 is not supported. | |
*** Please use host i786, i686, i586, or i486. | |
*** For example: /source/glibc/configure CFLAGS='-O2 -march=i686' ..." "$LINENO" 5 | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_compiler_builtin_inlined" >&5 | |
$as_echo "$libc_compiler_builtin_inlined" >&6; } | |
ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */ | |
" | |
if test "x$ac_cv_header_cpuid_h" = xyes; then : | |
else | |
as_fn_error $? "gcc must provide the <cpuid.h> header" "$LINENO" 5 | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSE4 support" >&5 | |
$as_echo_n "checking for SSE4 support... " >&6; } | |
if ${libc_cv_cc_sse4+:} false; then : | |
$as_echo_n "(cached) " >&6 | |
else | |
if { ac_try='${CC-cc} -msse4 -xc /dev/null -S -o /dev/null' | |
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | |
(eval $ac_try) 2>&5 | |
ac_status=$? | |
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | |
test $ac_status = 0; }; }; then : | |
libc_cv_cc_sse4=yes | |
else | |
libc_cv_cc_sse4=no | |
fi | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_sse4" >&5 | |
$as_echo "$libc_cv_cc_sse4" >&6; } | |
if test $libc_cv_cc_sse4 = yes; then | |
$as_echo "#define HAVE_SSE4_SUPPORT 1" >>confdefs.h | |
fi | |
config_vars="$config_vars | |
config-cflags-sse4 = $libc_cv_cc_sse4" | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler -mtune=i686 support" >&5 | |
$as_echo_n "checking for assembler -mtune=i686 support... " >&6; } | |
if ${libc_cv_as_i686+:} false; then : | |
$as_echo_n "(cached) " >&6 | |
else | |
if { ac_try='${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null' | |
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | |
(eval $ac_try) 2>&5 | |
ac_status=$? | |
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | |
test $ac_status = 0; }; }; then : | |
libc_cv_as_i686=yes | |
else | |
libc_cv_as_i686=no | |
fi | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_i686" >&5 | |
$as_echo "$libc_cv_as_i686" >&6; } | |
config_vars="$config_vars | |
config-asflags-i686 = $libc_cv_as_i686" | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX support" >&5 | |
$as_echo_n "checking for AVX support... " >&6; } | |
if ${libc_cv_cc_avx+:} false; then : | |
$as_echo_n "(cached) " >&6 | |
else | |
if { ac_try='${CC-cc} -mavx -xc /dev/null -S -o /dev/null' | |
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | |
(eval $ac_try) 2>&5 | |
ac_status=$? | |
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | |
test $ac_status = 0; }; }; then : | |
libc_cv_cc_avx=yes | |
else | |
libc_cv_cc_avx=no | |
fi | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_avx" >&5 | |
$as_echo "$libc_cv_cc_avx" >&6; } | |
if test $libc_cv_cc_avx = yes; then | |
$as_echo "#define HAVE_AVX_SUPPORT 1" >>confdefs.h | |
fi | |
config_vars="$config_vars | |
config-cflags-avx = $libc_cv_cc_avx" | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX encoding of SSE instructions" >&5 | |
$as_echo_n "checking for AVX encoding of SSE instructions... " >&6; } | |
if ${libc_cv_cc_sse2avx+:} false; then : | |
$as_echo_n "(cached) " >&6 | |
else | |
if { ac_try='${CC-cc} -msse2avx -xc /dev/null -S -o /dev/null' | |
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | |
(eval $ac_try) 2>&5 | |
ac_status=$? | |
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | |
test $ac_status = 0; }; }; then : | |
libc_cv_cc_sse2avx=yes | |
else | |
libc_cv_cc_sse2avx=no | |
fi | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_sse2avx" >&5 | |
$as_echo "$libc_cv_cc_sse2avx" >&6; } | |
if test $libc_cv_cc_sse2avx = yes; then | |
$as_echo "#define HAVE_SSE2AVX_SUPPORT 1" >>confdefs.h | |
fi | |
config_vars="$config_vars | |
config-cflags-sse2avx = $libc_cv_cc_sse2avx" | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FMA4 support" >&5 | |
$as_echo_n "checking for FMA4 support... " >&6; } | |
if ${libc_cv_cc_fma4+:} false; then : | |
$as_echo_n "(cached) " >&6 | |
else | |
if { ac_try='${CC-cc} -mfma4 -xc /dev/null -S -o /dev/null' | |
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | |
(eval $ac_try) 2>&5 | |
ac_status=$? | |
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | |
test $ac_status = 0; }; }; then : | |
libc_cv_cc_fma4=yes | |
else | |
libc_cv_cc_fma4=no | |
fi | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_fma4" >&5 | |
$as_echo "$libc_cv_cc_fma4" >&6; } | |
if test $libc_cv_cc_fma4 = yes; then | |
$as_echo "#define HAVE_FMA4_SUPPORT 1" >>confdefs.h | |
fi | |
config_vars="$config_vars | |
have-mfma4 = $libc_cv_cc_fma4" | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -mno-vzeroupper support" >&5 | |
$as_echo_n "checking for -mno-vzeroupper support... " >&6; } | |
if ${libc_cv_cc_novzeroupper+:} false; then : | |
$as_echo_n "(cached) " >&6 | |
else | |
if { ac_try='${CC-cc} -mno-vzeroupper -xc /dev/null -S -o /dev/null' | |
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | |
(eval $ac_try) 2>&5 | |
ac_status=$? | |
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | |
test $ac_status = 0; }; }; then : | |
libc_cv_cc_novzeroupper=yes | |
else | |
libc_cv_cc_novzeroupper=no | |
fi | |
fi | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_novzeroupper" >&5 | |
$as_echo "$libc_cv_cc_novzeroupper" >&6; } | |
config_vars="$config_vars | |
config-cflags-novzeroupper = $libc_cv_cc_novzeroupper" | |
$as_echo "#define USE_REGPARMS 1" >>confdefs.h | |
$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h | |