configure: prettify atomics handling.

Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
This commit is contained in:
Anton Khirnov 2013-03-27 19:26:19 +01:00
parent 0933fd1533
commit f9f6402e9c
4 changed files with 20 additions and 7 deletions

13
configure vendored
View File

@ -1122,6 +1122,12 @@ THREADS_LIST='
w32threads
'
ATOMICS_LIST='
atomics_gcc
atomics_win32
atomics_suncc
'
ARCH_LIST='
aarch64
alpha
@ -1226,6 +1232,7 @@ HAVE_LIST="
$HAVE_LIST_CMDLINE
$HAVE_LIST_PUB
$THREADS_LIST
$ATOMICS_LIST
$MATH_FUNCS
aligned_malloc
aligned_stack
@ -1234,6 +1241,7 @@ HAVE_LIST="
arpa_inet_h
asm_mod_q
asm_mod_y
atomics_native
attribute_may_alias
attribute_packed
cdio_paranoia_h
@ -3528,6 +3536,10 @@ for thread in $THREADS_LIST; do
fi
done
enabled sync_val_compare_and_swap && enable atomics_gcc
enabled machine_rw_barrier && enable atomics_suncc
enabled MemoryBarrier && enable atomics_win32
check_lib math.h sin -lm && LIBM="-lm"
enabled vaapi && require vaapi va/va.h vaInitialize -lva
@ -3791,6 +3803,7 @@ case $target_os in
esac
enabled_any $THREADS_LIST && enable threads
enabled_any $ATOMICS_LIST && enable atomics_native
enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }

View File

@ -103,9 +103,9 @@ OBJS += $(COMPAT_OBJS:%=../compat/%)
SKIPHEADERS = old_pix_fmts.h
SKIPHEADERS-$(HAVE_MACHINE_RW_BARRIER) += atomic_suncc.h
SKIPHEADERS-$(HAVE_MEMORYBARRIER) += atomic_win32.h
SKIPHEADERS-$(HAVE_SYNC_VAL_COMPARE_AND_SWAP) += atomic_gcc.h
SKIPHEADERS-$(HAVE_ATOMICS_SUNCC) += atomic_suncc.h
SKIPHEADERS-$(HAVE_ATOMICS_WIN32) += atomic_win32.h
SKIPHEADERS-$(HAVE_ATOMICS_GCC) += atomic_gcc.h
TESTPROGS = adler32 \
aes \

View File

@ -20,7 +20,7 @@
#include "atomic.h"
#if !HAVE_MEMORYBARRIER && !HAVE_SYNC_VAL_COMPARE_AND_SWAP && !HAVE_MACHINE_RW_BARRIER
#if !HAVE_ATOMICS_NATIVE
#if HAVE_PTHREADS

View File

@ -23,11 +23,11 @@
#include "config.h"
#if HAVE_SYNC_VAL_COMPARE_AND_SWAP
#if HAVE_ATOMICS_GCC
#include "atomic_gcc.h"
#elif HAVE_MEMORYBARRIER
#elif HAVE_ATOMICS_WIN32
#include "atomic_win32.h"
#elif HAVE_MACHINE_RW_BARRIER
#elif HAVE_ATOMICS_SUNCC
#include "atomic_suncc.h"
#else