From ead8469454afa63e6e1fdd9e978af765f89379ce Mon Sep 17 00:00:00 2001 From: Dudemanguy Date: Sun, 20 Nov 2022 20:37:12 -0600 Subject: [PATCH] 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. --- meson.build | 7 ++++--- 1 file 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(