Browse Source

configure: prettify atomics handling.

Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
tags/n2.0
Anton Khirnov 12 years ago
parent
commit
f9f6402e9c
4 changed files with 20 additions and 7 deletions
  1. +13
    -0
      configure
  2. +3
    -3
      libavutil/Makefile
  3. +1
    -1
      libavutil/atomic.c
  4. +3
    -3
      libavutil/atomic.h

+ 13
- 0
configure 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; }



+ 3
- 3
libavutil/Makefile 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 \


+ 1
- 1
libavutil/atomic.c 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



+ 3
- 3
libavutil/atomic.h 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



Loading…
Cancel
Save