| From 4e6dc4dee0e1c6407113597180d9616b4f275f94 Mon Sep 17 00:00:00 2001 |
| From: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| 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 <fontaine.fabrice@gmail.com> |
| 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 |
| |