configure: link to libatomic when it's present
C11 atomics in some configurations (e.g. 64bit operations on ppc64 with GCC) require linking to libatomic. Fixes #9275 (cherry picked from commit 2f0a214a6202516b4dda2bb22b6b3ac20e465d6d) Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
a66b58d61c
commit
2bc8c87b2e
25
configure
vendored
25
configure
vendored
@ -3791,20 +3791,20 @@ cws2fws_extralibs="zlib_extralibs"
|
|||||||
|
|
||||||
# libraries, in any order
|
# libraries, in any order
|
||||||
avcodec_deps="avutil"
|
avcodec_deps="avutil"
|
||||||
avcodec_suggest="libm"
|
avcodec_suggest="libm stdatomic"
|
||||||
avdevice_deps="avformat avcodec avutil"
|
avdevice_deps="avformat avcodec avutil"
|
||||||
avdevice_suggest="libm"
|
avdevice_suggest="libm stdatomic"
|
||||||
avfilter_deps="avutil"
|
avfilter_deps="avutil"
|
||||||
avfilter_suggest="libm"
|
avfilter_suggest="libm stdatomic"
|
||||||
avformat_deps="avcodec avutil"
|
avformat_deps="avcodec avutil"
|
||||||
avformat_suggest="libm network zlib"
|
avformat_suggest="libm network zlib stdatomic"
|
||||||
avutil_suggest="clock_gettime ffnvcodec libm libdrm libmfx opencl user32 vaapi vulkan videotoolbox corefoundation corevideo coremedia bcrypt"
|
avutil_suggest="clock_gettime ffnvcodec libm libdrm libmfx opencl user32 vaapi vulkan videotoolbox corefoundation corevideo coremedia bcrypt stdatomic"
|
||||||
postproc_deps="avutil gpl"
|
postproc_deps="avutil gpl"
|
||||||
postproc_suggest="libm"
|
postproc_suggest="libm stdatomic"
|
||||||
swresample_deps="avutil"
|
swresample_deps="avutil"
|
||||||
swresample_suggest="libm libsoxr"
|
swresample_suggest="libm libsoxr stdatomic"
|
||||||
swscale_deps="avutil"
|
swscale_deps="avutil"
|
||||||
swscale_suggest="libm"
|
swscale_suggest="libm stdatomic"
|
||||||
|
|
||||||
avcodec_extralibs="pthreads_extralibs iconv_extralibs dxva2_extralibs"
|
avcodec_extralibs="pthreads_extralibs iconv_extralibs dxva2_extralibs"
|
||||||
avfilter_extralibs="pthreads_extralibs"
|
avfilter_extralibs="pthreads_extralibs"
|
||||||
@ -6321,7 +6321,14 @@ check_headers asm/types.h
|
|||||||
# it seems there are versions of clang in some distros that try to use the
|
# it seems there are versions of clang in some distros that try to use the
|
||||||
# gcc headers, which explodes for stdatomic
|
# gcc headers, which explodes for stdatomic
|
||||||
# so we also check that atomics actually work here
|
# so we also check that atomics actually work here
|
||||||
check_builtin stdatomic stdatomic.h "atomic_int foo, bar = ATOMIC_VAR_INIT(-1); atomic_store(&foo, 0); foo += bar"
|
#
|
||||||
|
# some configurations also require linking to libatomic, so try
|
||||||
|
# both with -latomic and without
|
||||||
|
for LATOMIC in "-latomic" ""; do
|
||||||
|
check_builtin stdatomic stdatomic.h \
|
||||||
|
"atomic_int foo, bar = ATOMIC_VAR_INIT(-1); atomic_store(&foo, 0); foo += bar" \
|
||||||
|
$LATOMIC && eval stdatomic_extralibs="\$LATOMIC" && break
|
||||||
|
done
|
||||||
|
|
||||||
check_lib advapi32 "windows.h" RegCloseKey -ladvapi32
|
check_lib advapi32 "windows.h" RegCloseKey -ladvapi32
|
||||||
check_lib bcrypt "windows.h bcrypt.h" BCryptGenRandom -lbcrypt &&
|
check_lib bcrypt "windows.h bcrypt.h" BCryptGenRandom -lbcrypt &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user