From: Fred Morcos Date: Tue, 15 Aug 2023 20:59:28 +0000 (+0200) Subject: Meson: Cleanup atomics module X-Git-Tag: rec-5.1.0-alpha1~80^2~238 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b44bf33437fcae83f852d9cce4423f0750edec27;p=thirdparty%2Fpdns.git Meson: Cleanup atomics module --- diff --git a/meson/atomics/atomic_add_fetch.cc b/meson/atomics/atomic_add_fetch.cc new file mode 100644 index 0000000000..6cd55e8a51 --- /dev/null +++ b/meson/atomics/atomic_add_fetch.cc @@ -0,0 +1,7 @@ +#include + +int main() { + uint64_t val = 0; + __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED); + return 0; +} diff --git a/meson/atomics/meson.build b/meson/atomics/meson.build index 8902b6ea38..6a4138b8c2 100644 --- a/meson/atomics/meson.build +++ b/meson/atomics/meson.build @@ -1,30 +1,19 @@ -# Atomics -# Inputs: deps - -prog = ''' -#include - -int main() { - uint64_t val = 0; - __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED); - return 0; -} -''' - +dep_atomic = declare_dependency() need_latomic = false +prog = fs.read('atomic_add_fetch.cc') if not cxx.links(prog, name: '-latomic is not needed for using __atomic builtins') - atomic = cxx.find_library('atomic', disabler: true, required: false) - if atomic.found() - if cxx.links(prog, name: '-latomic is needed for using __atomic builtins', dependencies: atomic) + lib_atomic = cxx.find_library('atomic', disabler: true, required: false) + if lib_atomic.found() + if cxx.links(prog, name: '-latomic is needed for using __atomic builtins', dependencies: lib_atomic) need_latomic = true - summary('Atomics Library', atomic, section: 'System') - deps += atomic + dep_atomic = declare_dependency(dependencies: lib_atomic) + summary('Atomics Library', lib_atomic, section: 'System') else - error('libatomic needed but could not be found') + error('libatomic is needed and was found, but linking with it failed') endif else - error('libatomic needed and was found, but linking with it failed') + error('libatomic is needed but could not be found') endif endif