summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in29
1 files changed, 20 insertions, 9 deletions
diff --git a/configure.in b/configure.in
index ea9a9337a..8edcb0845 100644
--- a/configure.in
+++ b/configure.in
@@ -836,21 +836,28 @@ void main(void)
fi
fi
+force_generic_atomics=no
+force_generic_atomics64=no
+AC_CHECK_SIZEOF(void*, 4)
+if test "x$ac_cv_sizeof_voidp" = "x"; then
+ force_generic_atomics64=yes
+elif test $ac_cv_sizeof_voidp -lt 8; then
+ force_generic_atomics64=yes
+fi
AC_ARG_ENABLE(nonportable-atomics,
[ --enable-nonportable-atomics Use optimized atomic code which may produce nonportable binaries],
-[if test $enableval = yes; then
- force_generic_atomics=no
- else
+[if test "$enableval" = "upto32bit"; then
+ force_generic_atomics64=yes
+ elif test "$enableval" != "yes"; then
force_generic_atomics=yes
fi
],
-[force_generic_atomics=no
-case $host_cpu in
- i[[34]]86) force_generic_atomics=yes;;
+[case $host_cpu in
+ i[[34]]86)
+ force_generic_atomics=yes
+ ;;
i[[56]]86)
- if test $has_atomic_builtins != yes; then
- force_generic_atomics=yes
- fi
+ force_generic_atomics64=yes
;;
*) case $host in
*solaris2.10*)
@@ -871,6 +878,10 @@ if test $force_generic_atomics = yes; then
AC_DEFINE([USE_ATOMICS_GENERIC], 1,
[Define if use of generic atomics is requested])
fi
+if test $force_generic_atomics = yes -o $force_generic_atomics64 = yes; then
+ AC_DEFINE([USE_ATOMICS_GENERIC64], 1,
+ [Define if use of 64bit generic atomics is requested])
+fi
AC_SUBST(proc_mutex_is_global)
AC_SUBST(eolstr)