summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-27 23:30:33 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-27 23:30:33 +0000
commit13dc0e14fec6715b148de3586f4481175801ba82 (patch)
treeeb873dbabdcb60c816a7e46922f2db1a618eb370 /configure.in
parent4ba88161ee01c804db85a7fd3ecd562eb251d765 (diff)
Refix of r37904
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in18
1 files changed, 14 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index 09645e7a01..935d04656c 100644
--- a/configure.in
+++ b/configure.in
@@ -241,10 +241,9 @@ AC_ARG_WITH(arch,
AC_DEFUN([RUBY_DEFAULT_ARCH], [
AC_MSG_CHECKING([arch option])
-AS_CASE([$1-$target_os],
- [*64-*], [ARCH_FLAG=-m64],
- [[i[3-6]86-linux]], [ARCH_FLAG=-march=$1],
- [[i[3-6]86-*]], [ARCH_FLAG=-m32],
+AS_CASE([$1],
+ [*64], [ARCH_FLAG=-m64],
+ [[i[3-6]86]], [ARCH_FLAG=-m32],
[AC_MSG_ERROR(unknown target architecture: $target_archs)]
)
AC_MSG_RESULT([$ARCH_FLAG])
@@ -1534,6 +1533,17 @@ AS_CASE(["$target_os"],
[hpux*], [AC_DEFINE(SPT_TYPE,SPT_PSTAT) ],
[])
+ AC_CACHE_CHECK([for __sync_val_compare_and_swap], [rb_cv_gcc_compiler_cas], [
+ AC_TRY_LINK([unsigned long atomic_var;],
+ [
+ __sync_val_compare_and_swap(&atomic_var, 0, 1);
+ ],
+ [rb_cv_gcc_compiler_cas=yes],
+ [rb_cv_gcc_compiler_cas=no])])
+ if test "$rb_cv_gcc_compiler_cas" = no; then
+ ARCH_FLAG="-march=i486"
+ fi
+
AC_CACHE_CHECK(for signbit, rb_cv_have_signbit,
[AC_TRY_LINK([