Since this is a C11 feature, it requires -std=c11. Not actually used for anything yet, that will be added in the following commits. --- configure | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/configure b/configure index f12fa6f..e09d366 100755 --- a/configure +++ b/configure @@ -985,6 +985,19 @@ check_cpp_condition(){ EOF } +test_cflags_cpp(){ + log test_cflags_cpp "$@" + flags=$1 + condition=$2 + shift 2 + set -- $($cflags_filter "$flags") + check_cpp "$@" <<EOF +#if !($condition) +#error "unsatisfied condition: $condition" +#endif +EOF +} + check_lib(){ log check_lib "$@" header="$1" @@ -1504,6 +1517,7 @@ HEADERS_LIST=" poll_h sndio_h soundcard_h + stdatomic_h sys_mman_h sys_param_h sys_resource_h @@ -3669,7 +3683,15 @@ if test "$?" != 0; then fi add_cppflags -D_ISOC99_SOURCE -check_cflags -std=c99 + +# some compilers silently accept -std=c11, so we also need to check that the +# version macro is defined properly +if test_cflags_cpp -std=c11 "__STDC_VERSION__ >= 201112L"; then + add_cflags -std=c11 +else + check_cflags -std=c99 +fi + check_cc -D_FILE_OFFSET_BITS=64 <<EOF && add_cppflags -D_FILE_OFFSET_BITS=64 #include <stdlib.h> EOF @@ -4512,6 +4534,12 @@ check_header VideoDecodeAcceleration/VDADecoder.h check_header windows.h check_header X11/extensions/XvMClib.h +# it seems there are versions of clang in some distros that try to use the +# gcc headers, which explodes for stdatomic +# so we also check that atomics actually work here +check_header stdatomic.h && + check_code cc "stdatomic.h" "atomic_int foo; atomic_store(&foo, 0)" || disable stdatomic_h + check_lib2 "windows.h shellapi.h" CommandLineToArgvW -lshell32 check_lib2 "windows.h wincrypt.h" CryptGenRandom -ladvapi32 check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi -- 2.0.0 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel