diff options
author | Dudemanguy <random342@airmail.cc> | 2022-11-20 20:37:12 -0600 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2022-11-22 02:37:10 +0000 |
commit | ead8469454afa63e6e1fdd9e978af765f89379ce (patch) | |
tree | 66e4baee2b39c812454b3c1b3c895c69583abfc0 | |
parent | e1a04cd8ac407cd188a9e6064677d232ae409e9c (diff) | |
download | mpv-ead8469454afa63e6e1fdd9e978af765f89379ce.tar.bz2 mpv-ead8469454afa63e6e1fdd9e978af765f89379ce.tar.xz |
meson: fix stdatomic detection on bsd
BSDs use compiler-rt instead of libatomic for atomic types. In this
case, we can handle it similar to how dl is detected. Check for the
library (allowing for it to fail), and then check for a header symbol
while linking latomic. Fixes #10906.
-rw-r--r-- | meson.build | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/meson.build b/meson.build index c2916d5fb9..0eb10d4fe1 100644 --- a/meson.build +++ b/meson.build @@ -716,10 +716,11 @@ if features['sdl2-gamepad'] sources += files('input/sdl_gamepad.c') endif -stdatomic = cc.find_library('atomic', required: get_option('stdatomic')) -features += {'stdatomic': stdatomic.found()} +stdatomic_dep = cc.find_library('atomic', required: false) +features += {'stdatomic': cc.has_header_symbol('stdatomic.h', 'atomic_int', dependencies: stdatomic_dep, + required: get_option('stdatomic'))} if features['stdatomic'] - dependencies += stdatomic + dependencies += stdatomic_dep endif uchardet_opt = get_option('uchardet').require( |