Commit f9f6402e authored by Anton Khirnov's avatar Anton Khirnov

configure: prettify atomics handling.

Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
parent 0933fd15
......@@ -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; }
......
......@@ -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 \
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment