From 4e6dc4dee0e1c6407113597180d9616b4f275f94 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Thu, 2 May 2024 14:02:17 +0200 Subject: [PATCH] link with -latomic when needed Some architecture such as sparc and some flavors of arm needs -latomic to avoid the following build failure: gthread-posix.c:(.text+0xda8): undefined reference to `__atomic_compare_exchange_4' Signed-off-by: Fabrice Fontaine Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/4e6dc4dee0e1c6407113597180d9616b4f275f94 --- glib/meson.build | 1 + meson.build | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/glib/meson.build b/glib/meson.build index 24cbb664d4..b2dd569e1e 100644 --- a/glib/meson.build +++ b/glib/meson.build @@ -419,6 +419,7 @@ libglib = library('glib-2.0', include_directories : configinc, link_with: [charset_lib, gnulib_lib], dependencies : [ + atomic_dep, gnulib_libm_dependency, libiconv, libintl_deps, diff --git a/meson.build b/meson.build index 46c5aa200a..8b42940558 100644 --- a/meson.build +++ b/meson.build @@ -2233,6 +2233,15 @@ libffi_dep = dependency('libffi', version : '>= 3.0.0') libz_dep = dependency('zlib') +libatomic_test_code = ''' + int main (int argc, char ** argv) { + return 0; + }''' +atomic_dep = [] +if cc.links(libatomic_test_code, args : '-latomic', name : 'check for -latomic') + atomic_dep = cc.find_library('atomic') +endif + # First check in libc, fallback to libintl, and as last chance build # proxy-libintl subproject. # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible -- 2.44.0