]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Apr 2013 12:46:48 +0000 (14:46 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 3 Apr 2013 12:46:48 +0000 (14:46 +0200)
* commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65':
  configure: prettify atomics handling.

Conflicts:
configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
configure
libavutil/Makefile
libavutil/atomic.c
libavutil/atomic.h

index f5196e115cc1c24ec9adf2d6f62daf423c8490fd..051b216be5d90e984b064c924ec8a1661783a1b9 100755 (executable)
--- a/configure
+++ b/configure
@@ -1264,6 +1264,12 @@ THREADS_LIST='
     os2threads
 '
 
+ATOMICS_LIST='
+    atomics_gcc
+    atomics_win32
+    atomics_suncc
+'
+
 ARCH_LIST='
     aarch64
     alpha
@@ -1374,6 +1380,7 @@ HAVE_LIST="
     $HAVE_LIST_CMDLINE
     $HAVE_LIST_PUB
     $THREADS_LIST
+    $ATOMICS_LIST
     $MATH_FUNCS
     access
     aligned_malloc
@@ -1384,6 +1391,7 @@ HAVE_LIST="
     asm_mod_q
     asm_mod_y
     asm_types_h
+    atomics_native
     attribute_may_alias
     attribute_packed
     cdio_paranoia_h
@@ -3909,6 +3917,10 @@ if enabled pthreads; then
   check_func pthread_cancel
 fi
 
+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"
 disabled crystalhd || check_lib libcrystalhd/libcrystalhd_if.h DtsCrystalHDVersion -lcrystalhd || disable crystalhd
 enabled vaapi && require vaapi va/va.h vaInitialize -lva
@@ -4248,8 +4260,9 @@ case $target_os in
     ;;
 esac
 
-enabled_any $THREADS_LIST      && enable threads
 enable frame_thread_encoder
+enabled_any $THREADS_LIST      && enable threads
+enabled_any $ATOMICS_LIST      && enable atomics_native
 
 enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
 
index b520473d9b7dea28727a469dc8bf1ec9d0eb3686..92dea3b1ab01e8d742e67d1194f864849217749a 100644 (file)
@@ -114,9 +114,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                                                         \
index 0780d8a679f80d307de1085b58d84650ce11348e..04182f2330b226b46db76de1cea70aa470969ad6 100644 (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
 
index 1d2a34548e8c78b9fcbac78da08751c9900cd4f7..fd7d8fc03e0b9aea0de4d061ab706cf034573228 100644 (file)
 
 #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