[FFmpeg-cvslog] configure: prettify atomics handling.

Anton Khirnov git at videolan.org
Wed Apr 3 14:56:18 CEST 2013


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Mar 27 19:26:19 2013 +0100| [f9f6402e9c9ce3642df981b48507df3a2d956f65] | committer: Anton Khirnov

configure: prettify atomics handling.

Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f9f6402e9c9ce3642df981b48507df3a2d956f65
---

 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 1326c44..7f77b00 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 68a8386..8a7e680 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 37e796f..add489a 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 773c5df..a5c5fe8 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
 



More information about the ffmpeg-cvslog mailing list