From c1ee1a99bcaffff753a6b12c5864bf14385c0d69 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Sat, 12 Nov 2022 19:12:16 +0000 Subject: [PATCH] gio: Use hidden symbol visibility in static libraries Building GLib 2.75.0 on Linux adds various inotify-related internal symbols to the ABI, which doesn't seem to have been intentional. I went through the other libraries in the build system, and it looks as though the BSD kqueue backend would have the same problem. GNU symbol visibility probably doesn't do anything for gio/win32, but for completeness I've set that to use hidden symbols too, on the basis that it'll be easier to get this right if we're consistent. Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/2811 Signed-off-by: Simon McVittie --- gio/inotify/meson.build | 1 + gio/kqueue/meson.build | 1 + gio/win32/meson.build | 1 + 3 files changed, 3 insertions(+) diff --git a/gio/inotify/meson.build b/gio/inotify/meson.build index a1d542a24..0221c9703 100644 --- a/gio/inotify/meson.build +++ b/gio/inotify/meson.build @@ -11,5 +11,6 @@ inotify_lib = static_library('inotify', sources : inotify_sources, include_directories : [configinc, glibinc, gmoduleinc], dependencies : [gioenumtypes_dep, libglib_dep, libgobject_dep], + gnu_symbol_visibility : 'hidden', pic : true, c_args : [gio_c_args, gio_c_args_internal]) diff --git a/gio/kqueue/meson.build b/gio/kqueue/meson.build index c800ce3c3..04e48aad3 100644 --- a/gio/kqueue/meson.build +++ b/gio/kqueue/meson.build @@ -9,5 +9,6 @@ kqueue_lib = static_library('kqueue', sources : kqueue_sources, include_directories : [configinc, glibinc, gmoduleinc], dependencies : [gioenumtypes_dep], + gnu_symbol_visibility : 'hidden', pic : true, c_args : [gio_c_args, gio_c_args_internal]) diff --git a/gio/win32/meson.build b/gio/win32/meson.build index c44bb8195..0a896aca0 100644 --- a/gio/win32/meson.build +++ b/gio/win32/meson.build @@ -11,5 +11,6 @@ giowin32_lib = static_library('giowin32', sources : [giowin32_sources], include_directories : [configinc, glibinc, gioinc, gmoduleinc], dependencies : [libintl, gioenumtypes_dep], + gnu_symbol_visibility : 'hidden', pic : true, c_args : [gio_c_args, gio_c_args_internal])