aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-03-21 16:33:57 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-03-21 16:33:57 +0000
commit40b601fbb774cd2be2f6cbe7155570340fc475a2 (patch)
tree79ec38289fe7e9a56059c8c69e8b212eb218e3f0
parent1a4ac776ebc9bb07287f59f63e473db531318dff (diff)
downloadglibc-40b601fbb774cd2be2f6cbe7155570340fc475a2.zip
glibc-40b601fbb774cd2be2f6cbe7155570340fc475a2.tar.gz
glibc-40b601fbb774cd2be2f6cbe7155570340fc475a2.tar.bz2
Use autoconf macro for testing compiler options with empty input.
-rw-r--r--ChangeLog12
-rw-r--r--aclocal.m46
-rwxr-xr-xconfigure5
-rw-r--r--configure.in5
-rw-r--r--sysdeps/i386/configure18
-rw-r--r--sysdeps/i386/configure.in48
6 files changed, 53 insertions, 41 deletions
diff --git a/ChangeLog b/ChangeLog
index ebffe4f..1daf831 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
2012-03-21 Joseph Myers <joseph@codesourcery.com>
+ * aclocal.m4 (LIBC_TRY_CC_OPTION): New macro.
+ * configure.in (libc_cv_cc_submachine): Use LIBC_TRY_CC_OPTION.
+ * configure: Regenerated.
+ * sysdeps/i386/configure.in (libc_cv_cc_sse4): Use
+ LIBC_TRY_CC_OPTION.
+ (libc_cv_as_i686): Likewise.
+ (libc_cv_cc_avx): Likewise.
+ (libc_cv_cc_sse2avx): Likewise.
+ (libc_cv_cc_fma4): Likewise.
+ (libc_cv_cc_novzeroupper): Likewise.
+ * sysdeps/i386/configure: Regenerated.
+
[BZ #13883]
* sysdeps/i386/fpu/s_cexp.S: Remove.
* sysdeps/i386/fpu/s_cexpf.S: Likewise.
diff --git a/aclocal.m4 b/aclocal.m4
index fb546e4..e899932 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -128,6 +128,12 @@ AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
[$2], [$3])
rm -f conftest*])
+dnl Test a compiler option or options with an empty input file.
+dnl LIBC_TRY_CC_OPTION([options], [action-if-true], [action-if-false])
+AC_DEFUN([LIBC_TRY_CC_OPTION],
+[AS_IF([AC_TRY_COMMAND([${CC-cc} $1 -xc /dev/null -S -o /dev/null])],
+ [$2], [$3])])
+
dnl Find and source sysdeps/*/preconfigure.
dnl LIBC_PRECONFIGURE([$srcdir], [for])
AC_DEFUN([LIBC_PRECONFIGURE], [dnl
diff --git a/configure b/configure
index 3eb7cf1..dc50c16 100755
--- a/configure
+++ b/configure
@@ -7054,10 +7054,11 @@ else
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ test $ac_status = 0; }; }; then :
+
libc_cv_cc_submachine="$opt"
break
- fi
+fi
done
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_submachine" >&5
diff --git a/configure.in b/configure.in
index ee5e856..bb3b057 100644
--- a/configure.in
+++ b/configure.in
@@ -2005,10 +2005,9 @@ if test -n "$submachine"; then
libc_cv_cc_submachine, [dnl
libc_cv_cc_submachine=no
for opt in "-march=$submachine" "-mcpu=$submachine"; do
- if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then
+ LIBC_TRY_CC_OPTION([$opt], [
libc_cv_cc_submachine="$opt"
- break
- fi
+ break], [])
done])
if test "x$libc_cv_cc_submachine" = xno; then
AC_MSG_ERROR([${CC-cc} does not support $submachine])
diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure
index 49330e3..baa6609 100644
--- a/sysdeps/i386/configure
+++ b/sysdeps/i386/configure
@@ -223,11 +223,12 @@ else
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ 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; }
@@ -246,11 +247,12 @@ else
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ 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; }
@@ -265,11 +267,12 @@ else
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ 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; }
@@ -288,11 +291,12 @@ else
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ 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; }
@@ -311,11 +315,12 @@ else
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ 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; }
@@ -334,11 +339,12 @@ else
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ 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; }
diff --git a/sysdeps/i386/configure.in b/sysdeps/i386/configure.in
index f769019..7b4879d 100644
--- a/sysdeps/i386/configure.in
+++ b/sysdeps/i386/configure.in
@@ -40,60 +40,48 @@ fi
dnl Check if -msse4 works.
AC_CACHE_CHECK(for SSE4 support, libc_cv_cc_sse4, [dnl
-if AC_TRY_COMMAND([${CC-cc} -msse4 -xc /dev/null -S -o /dev/null]); then
- libc_cv_cc_sse4=yes
-else
- libc_cv_cc_sse4=no
-fi])
+LIBC_TRY_CC_OPTION([-msse4], [libc_cv_cc_sse4=yes], [libc_cv_cc_sse4=no])
+])
if test $libc_cv_cc_sse4 = yes; then
AC_DEFINE(HAVE_SSE4_SUPPORT)
fi
dnl Check if -Wa,-mtune=i686 works.
AC_CACHE_CHECK(for assembler -mtune=i686 support, libc_cv_as_i686, [dnl
-if AC_TRY_COMMAND([${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null]); then
- libc_cv_as_i686=yes
-else
- libc_cv_as_i686=no
-fi])
+LIBC_TRY_CC_OPTION([-Wa,-mtune=i686],
+ [libc_cv_as_i686=yes],
+ [libc_cv_as_i686=no])
+])
dnl Check if -mavx works.
AC_CACHE_CHECK(for AVX support, libc_cv_cc_avx, [dnl
-if AC_TRY_COMMAND([${CC-cc} -mavx -xc /dev/null -S -o /dev/null]); then
- libc_cv_cc_avx=yes
-else
- libc_cv_cc_avx=no
-fi])
+LIBC_TRY_CC_OPTION([-mavx], [libc_cv_cc_avx=yes], [libc_cv_cc_avx=no])
+])
if test $libc_cv_cc_avx = yes; then
AC_DEFINE(HAVE_AVX_SUPPORT)
fi
dnl Check if -msse2avx works.
AC_CACHE_CHECK(for AVX encoding of SSE instructions, libc_cv_cc_sse2avx, [dnl
-if AC_TRY_COMMAND([${CC-cc} -msse2avx -xc /dev/null -S -o /dev/null]); then
- libc_cv_cc_sse2avx=yes
-else
- libc_cv_cc_sse2avx=no
-fi])
+LIBC_TRY_CC_OPTION([-msse2avx],
+ [libc_cv_cc_sse2avx=yes],
+ [libc_cv_cc_sse2avx=no])
+])
if test $libc_cv_cc_sse2avx = yes; then
AC_DEFINE(HAVE_SSE2AVX_SUPPORT)
fi
dnl Check if -mfma4 works.
AC_CACHE_CHECK(for FMA4 support, libc_cv_cc_fma4, [dnl
-if AC_TRY_COMMAND([${CC-cc} -mfma4 -xc /dev/null -S -o /dev/null]); then
- libc_cv_cc_fma4=yes
-else
- libc_cv_cc_fma4=no
-fi])
+LIBC_TRY_CC_OPTION([-mfma4], [libc_cv_cc_fma4=yes], [libc_cv_cc_fma4=no])
+])
if test $libc_cv_cc_fma4 = yes; then
AC_DEFINE(HAVE_FMA4_SUPPORT)
fi
dnl Check if -mno-vzeroupper works.
AC_CACHE_CHECK(for -mno-vzeroupper support, libc_cv_cc_novzeroupper, [dnl
-if AC_TRY_COMMAND([${CC-cc} -mno-vzeroupper -xc /dev/null -S -o /dev/null]); then
- libc_cv_cc_novzeroupper=yes
-else
- libc_cv_cc_novzeroupper=no
-fi])
+LIBC_TRY_CC_OPTION([-mno-vzeroupper],
+ [libc_cv_cc_novzeroupper=yes],
+ [libc_cv_cc_novzeroupper=no])
+])