]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Meson: Cleanup atomics module
authorFred Morcos <fred.morcos@open-xchange.com>
Tue, 15 Aug 2023 20:59:28 +0000 (22:59 +0200)
committerFred Morcos <fred.morcos@open-xchange.com>
Wed, 20 Mar 2024 12:28:38 +0000 (13:28 +0100)
meson/atomics/atomic_add_fetch.cc [new file with mode: 0644]
meson/atomics/meson.build

diff --git a/meson/atomics/atomic_add_fetch.cc b/meson/atomics/atomic_add_fetch.cc
new file mode 100644 (file)
index 0000000..6cd55e8
--- /dev/null
@@ -0,0 +1,7 @@
+#include <stdint.h>
+
+int main() {
+  uint64_t val = 0;
+  __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED);
+  return 0;
+}
index 8902b6ea3801695b825bcaf3714861739203bf46..6a4138b8c202af3b76a94ec580f0c93bb7023999 100644 (file)
@@ -1,30 +1,19 @@
-# Atomics
-# Inputs: deps
-
-prog = '''
-#include <stdint.h>
-
-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