On Thu, Mar 28, 2013 at 10:54 AM, Anton Khirnov <[email protected]> wrote:
> 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 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
>


While you're in there, maybe make configure already fail if !atomics
&& threads && !pthreads?
Better then having a build failure later on.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to