diff options
author | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2004-01-06 15:07:46 +0000 |
---|---|---|
committer | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2004-01-06 15:07:46 +0000 |
commit | 6d01bc27d142a3b7f94b0aba50702e016e031289 (patch) | |
tree | ba3070bd6f64e16adefa97b683165d52040778c1 /atomic/unix/apr_atomic.c | |
parent | 0e4867f80d3364d5ae222f455c34b93ed749e9a1 (diff) | |
download | libapr-6d01bc27d142a3b7f94b0aba50702e016e031289.tar.gz |
Clean up configure logic for enabling "nonportable" atomics: don't
export the result via apr.h, and enable use of inline asm by default
on ppc64 and x86_64.
* configure.in: Define USE_GENERIC_ATOMICS on i[456]86 unless
--enable-nonportable-atomics was used.
* include/apr.h.in: Remove APR_FORCE_GENERIC_ATOMICS.
* atomic/unix/apr_atomic.c: Check for !defined(USE_GENERIC_ATOMICS)
rather than defined(APR_FORCE_GENERIC_ATOMICS).
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64861 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'atomic/unix/apr_atomic.c')
-rw-r--r-- | atomic/unix/apr_atomic.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/atomic/unix/apr_atomic.c b/atomic/unix/apr_atomic.c index feaeee11c..8b4296cdf 100644 --- a/atomic/unix/apr_atomic.c +++ b/atomic/unix/apr_atomic.c @@ -56,10 +56,12 @@ #include "apr_atomic.h" #include "apr_thread_mutex.h" +#include "apr_private.h" + #include <stdlib.h> #if (defined(__i386__) || defined(__x86_64__)) \ - && defined(__GNUC__) && !APR_FORCE_ATOMIC_GENERIC + && defined(__GNUC__) && !defined(USE_GENERIC_ATOMICS) APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint32_t with, @@ -142,7 +144,9 @@ APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint #endif /* (__linux__ || __EMX__ || __FreeBSD__) && __i386__ */ -#if (defined(__PPC__) || defined(__ppc__)) && defined(__GNUC__) && !APR_FORCE_ATOMIC_GENERIC +#if (defined(__PPC__) || defined(__ppc__)) && defined(__GNUC__) \ + && !defined(USE_GENERIC_ATOMICS) + APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint32_t swap, apr_uint32_t cmp) |