2008-11-11 09:50:06 +00:00
|
|
|
|
2012-03-19 20:06:14 +00:00
|
|
|
# as_fn_set_status STATUS
|
|
|
|
# -----------------------
|
|
|
|
# Set $? to STATUS, without forking.
|
|
|
|
as_fn_set_status ()
|
|
|
|
{
|
|
|
|
return $1
|
|
|
|
} # as_fn_set_status
|
|
|
|
|
|
|
|
# as_fn_exit STATUS
|
|
|
|
# -----------------
|
|
|
|
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
|
|
|
|
as_fn_exit ()
|
|
|
|
{
|
|
|
|
set +e
|
|
|
|
as_fn_set_status $1
|
|
|
|
exit $1
|
|
|
|
} # as_fn_exit
|
|
|
|
if expr a : '\(a\)' >/dev/null 2>&1 &&
|
|
|
|
test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
|
|
|
as_expr=expr
|
|
|
|
else
|
|
|
|
as_expr=false
|
|
|
|
fi
|
|
|
|
|
|
|
|
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
|
|
|
|
as_basename=basename
|
|
|
|
else
|
|
|
|
as_basename=false
|
|
|
|
fi
|
|
|
|
|
|
|
|
as_me=`$as_basename -- "$0" ||
|
|
|
|
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
|
|
|
|
X"$0" : 'X\(//\)$' \| \
|
|
|
|
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
|
|
|
|
$as_echo X/"$0" |
|
|
|
|
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
|
|
|
s//\1/
|
|
|
|
q
|
|
|
|
}
|
|
|
|
/^X\/\(\/\/\)$/{
|
|
|
|
s//\1/
|
|
|
|
q
|
|
|
|
}
|
|
|
|
/^X\/\(\/\).*/{
|
|
|
|
s//\1/
|
|
|
|
q
|
|
|
|
}
|
|
|
|
s/.*/./; q'`
|
|
|
|
|
|
|
|
|
|
|
|
as_lineno_1=$LINENO as_lineno_1a=$LINENO
|
|
|
|
as_lineno_2=$LINENO as_lineno_2a=$LINENO
|
|
|
|
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
|
|
|
|
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
|
|
|
|
# Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
|
|
|
|
sed -n '
|
|
|
|
p
|
|
|
|
/[$]LINENO/=
|
|
|
|
' <$as_myself |
|
|
|
|
sed '
|
|
|
|
s/[$]LINENO.*/&-/
|
|
|
|
t lineno
|
|
|
|
b
|
|
|
|
:lineno
|
|
|
|
N
|
|
|
|
:loop
|
|
|
|
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
|
|
|
|
t loop
|
|
|
|
s/-\n.*//
|
|
|
|
' >$as_me.lineno &&
|
|
|
|
chmod +x "$as_me.lineno" ||
|
|
|
|
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
|
|
|
|
|
|
|
|
# Don't try to exec as it changes $[0], causing all sort of problems
|
|
|
|
# (the dirname of $[0] is not the place where we might find the
|
|
|
|
# original and so on. Autoconf is especially sensitive to this).
|
|
|
|
. "./$as_me.lineno"
|
|
|
|
# Exit status is that of the last command.
|
|
|
|
exit
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# ac_fn_c_try_compile LINENO
|
|
|
|
# --------------------------
|
|
|
|
# Try to compile conftest.$ac_ext, and return whether this succeeded.
|
|
|
|
ac_fn_c_try_compile ()
|
|
|
|
{
|
|
|
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
|
|
rm -f conftest.$ac_objext
|
|
|
|
if { { ac_try="$ac_compile"
|
|
|
|
case "(($ac_try" in
|
|
|
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
|
|
|
*) ac_try_echo=$ac_try;;
|
|
|
|
esac
|
|
|
|
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
|
|
|
$as_echo "$ac_try_echo"; } >&5
|
|
|
|
(eval "$ac_compile") 2>conftest.err
|
|
|
|
ac_status=$?
|
|
|
|
if test -s conftest.err; then
|
|
|
|
grep -v '^ *+' conftest.err >conftest.er1
|
|
|
|
cat conftest.er1 >&5
|
|
|
|
mv -f conftest.er1 conftest.err
|
|
|
|
fi
|
|
|
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
|
|
test $ac_status = 0; } && {
|
|
|
|
test -z "$ac_c_werror_flag" ||
|
|
|
|
test ! -s conftest.err
|
|
|
|
} && test -s conftest.$ac_objext; then :
|
|
|
|
ac_retval=0
|
|
|
|
else
|
|
|
|
$as_echo "$as_me: failed program was:" >&5
|
|
|
|
sed 's/^/| /' conftest.$ac_ext >&5
|
|
|
|
|
|
|
|
ac_retval=1
|
|
|
|
fi
|
|
|
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
|
|
|
as_fn_set_status $ac_retval
|
|
|
|
|
|
|
|
} # ac_fn_c_try_compile
|
|
|
|
|
|
|
|
# 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.in by Autoconf. DO NOT EDIT!
|
|
|
|
# Local configure fragment for sysdeps/x86_64.
|
|
|
|
|
|
|
|
|
|
|
|
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 if -g produces usable source locations for assembler-with-cpp" >&5
|
|
|
|
$as_echo_n "checking if -g produces usable source locations for assembler-with-cpp... " >&6; }
|
|
|
|
if ${libc_cv_cpp_asm_debuginfo+:} false; then :
|
|
|
|
$as_echo_n "(cached) " >&6
|
|
|
|
else
|
|
|
|
cat > conftest.S <<EOF
|
|
|
|
#include "confdefs.h"
|
|
|
|
|
|
|
|
/* comment on
|
|
|
|
two lines */
|
|
|
|
${libc_cv_dot_text}
|
|
|
|
${libc_cv_asm_global_directive} foo
|
|
|
|
foo:
|
|
|
|
/* Unfortunately this test only works for a real instruction,
|
|
|
|
not for any of the machine-independent pseudo-ops.
|
|
|
|
So we just have to assume everybody has a "nop". */
|
|
|
|
nop
|
|
|
|
/* comment */
|
|
|
|
nop
|
|
|
|
/* comment */
|
|
|
|
nop
|
|
|
|
EOF
|
|
|
|
if { ac_try='${CC-cc} $CPPFLAGS $ASFLAGS -g -c conftest.S 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; }; } && {
|
|
|
|
ac_pattern='conftest\.S'
|
|
|
|
{ ac_try='readelf --debug-dump=line conftest.o |
|
|
|
|
grep $ac_pattern 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_cv_cpp_asm_debuginfo=yes
|
|
|
|
else
|
|
|
|
libc_cv_cpp_asm_debuginfo=no
|
|
|
|
fi
|
|
|
|
rm -f conftest*
|
|
|
|
fi
|
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cpp_asm_debuginfo" >&5
|
|
|
|
$as_echo "$libc_cv_cpp_asm_debuginfo" >&6; }
|
|
|
|
if test $libc_cv_cpp_asm_debuginfo = yes; then
|
|
|
|
$as_echo "#define HAVE_CPP_ASM_DEBUGINFO 1" >>confdefs.h
|
|
|
|
|
|
|
|
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
|
2012-03-28 07:18:28 +00:00
|
|
|
test $ac_status = 0; }; }; then :
|
2012-03-19 20:06:14 +00:00
|
|
|
libc_cv_cc_sse4=yes
|
|
|
|
else
|
|
|
|
libc_cv_cc_sse4=no
|
|
|
|
fi
|
2012-03-28 07:18:28 +00:00
|
|
|
|
2012-03-19 20:06:14 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
{ $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
|
2012-03-28 07:18:28 +00:00
|
|
|
test $ac_status = 0; }; }; then :
|
2012-03-19 20:06:14 +00:00
|
|
|
libc_cv_cc_avx=yes
|
|
|
|
else
|
|
|
|
libc_cv_cc_avx=no
|
|
|
|
fi
|
2012-03-28 07:18:28 +00:00
|
|
|
|
2012-03-19 20:06:14 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
{ $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
|
2012-03-28 07:18:28 +00:00
|
|
|
test $ac_status = 0; }; }; then :
|
2012-03-19 20:06:14 +00:00
|
|
|
libc_cv_cc_sse2avx=yes
|
|
|
|
else
|
|
|
|
libc_cv_cc_sse2avx=no
|
|
|
|
fi
|
2012-03-28 07:18:28 +00:00
|
|
|
|
2012-03-19 20:06:14 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
{ $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
|
2012-03-28 07:18:28 +00:00
|
|
|
test $ac_status = 0; }; }; then :
|
2012-03-19 20:06:14 +00:00
|
|
|
libc_cv_cc_fma4=yes
|
|
|
|
else
|
|
|
|
libc_cv_cc_fma4=no
|
|
|
|
fi
|
2012-03-28 07:18:28 +00:00
|
|
|
|
2012-03-19 20:06:14 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
{ $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
|
2012-03-28 07:18:28 +00:00
|
|
|
test $ac_status = 0; }; }; then :
|
2012-03-19 20:06:14 +00:00
|
|
|
libc_cv_cc_novzeroupper=yes
|
|
|
|
else
|
|
|
|
libc_cv_cc_novzeroupper=no
|
|
|
|
fi
|
2012-03-28 07:18:28 +00:00
|
|
|
|
2012-03-19 20:06:14 +00:00
|
|
|
fi
|
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_novzeroupper" >&5
|
|
|
|
$as_echo "$libc_cv_cc_novzeroupper" >&6; }
|
|
|
|
|
|
|
|
# Check for support of thread-local storage handling in assembler and linker.
|
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86-64 TLS support" >&5
|
|
|
|
$as_echo_n "checking for x86-64 TLS support... " >&6; }
|
|
|
|
if ${libc_cv_x86_64_tls+:} false; then :
|
|
|
|
$as_echo_n "(cached) " >&6
|
|
|
|
else
|
|
|
|
cat > conftest.s <<\EOF
|
|
|
|
.section ".tdata", "awT", @progbits
|
|
|
|
.globl foo
|
|
|
|
foo: .quad 1
|
|
|
|
.section ".tbss", "awT", @nobits
|
|
|
|
.globl bar
|
|
|
|
bar: .skip 8
|
|
|
|
.text
|
|
|
|
baz: leaq bar@TLSLD(%rip), %rdi
|
|
|
|
leaq bar@DTPOFF(%rax), %rcx
|
|
|
|
addq foo@GOTTPOFF(%rip), %rax
|
|
|
|
movq $bar@TPOFF, %rdx
|
|
|
|
EOF
|
|
|
|
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 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_cv_x86_64_tls=yes
|
|
|
|
else
|
|
|
|
libc_cv_x86_64_tls=no
|
|
|
|
fi
|
|
|
|
rm -f conftest*
|
|
|
|
fi
|
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x86_64_tls" >&5
|
|
|
|
$as_echo "$libc_cv_x86_64_tls" >&6; }
|
|
|
|
if test $libc_cv_x86_64_tls = no; then
|
|
|
|
as_fn_error $? "the assembler must support TLS" "$LINENO" 5
|
|
|
|
fi
|
|
|
|
|
|
|
|
$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
|
|
|
|
|
|
|
|
# work around problem with autoconf and empty lines at the end of files
|