From f9f6402e9c9ce3642df981b48507df3a2d956f65 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 27 Mar 2013 19:26:19 +0100 Subject: [PATCH] configure: prettify atomics handling. Add simpler names and a shorthand for native atomics (as opposed to pthreads fallback). --- configure | 13 +++++++++++++ libavutil/Makefile | 6 +++--- libavutil/atomic.c | 2 +- libavutil/atomic.h | 6 +++--- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/configure b/configure index 1326c448ef..7f77b007e6 100755 --- a/configure +++ b/configure @@ -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; } diff --git a/libavutil/Makefile b/libavutil/Makefile index 68a8386751..8a7e680ab3 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -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 \ diff --git a/libavutil/atomic.c b/libavutil/atomic.c index 37e796f05f..add489a26e 100644 --- a/libavutil/atomic.c +++ b/libavutil/atomic.c @@ -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 diff --git a/libavutil/atomic.h b/libavutil/atomic.h index 773c5df1bd..a5c5fe86bf 100644 --- a/libavutil/atomic.h +++ b/libavutil/atomic.h @@ -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