summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (TreviƱo) <mail@3v1n0.net>2023-04-19 21:06:34 +0200
committerMarco Trevisan <mail@3v1n0.net>2023-04-21 10:00:34 -0400
commit4ed5539d0afb7b11ab5cfac4f89445c5b94da98e (patch)
tree335a3b397655a3d83967344cc70daa4151bad903
parente82348db620d5048779971efa399b728cbf17efe (diff)
downloadglib-4ed5539d0afb7b11ab5cfac4f89445c5b94da98e.tar.gz
gmodule: Define a gmodule include dependency and use it in gio modules
Various gio modules include gmodule.h that requires the gmodule-visibility.h to be already built. To make this easier, just provide a dependency and use it where we are building modules that do not depend on libgio_dep (that already includes that). Fixes: https://gitlab.gnome.org/GNOME/glib/-/issues/2982 (cherry picked from commit fe38a02c62c2ceff43a539efa3a31fe2ee72b4fe)
-rw-r--r--gio/inotify/meson.build11
-rw-r--r--gio/kqueue/meson.build9
-rw-r--r--gio/win32/meson.build8
-rw-r--r--gmodule/meson.build9
4 files changed, 26 insertions, 11 deletions
diff --git a/gio/inotify/meson.build b/gio/inotify/meson.build
index e5c811520..8c7d6aaa0 100644
--- a/gio/inotify/meson.build
+++ b/gio/inotify/meson.build
@@ -8,9 +8,14 @@ inotify_sources = [
]
inotify_lib = static_library('inotify',
- sources : [inotify_sources, gmodule_visibility_h],
- include_directories : [configinc, glibinc, gmoduleinc],
- dependencies : [gioenumtypes_dep, libglib_dep, libgobject_dep],
+ sources : [inotify_sources],
+ include_directories : [configinc, glibinc],
+ dependencies : [
+ gioenumtypes_dep,
+ libglib_dep,
+ libgobject_dep,
+ gmodule_inc_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 04e48aad3..7447e5631 100644
--- a/gio/kqueue/meson.build
+++ b/gio/kqueue/meson.build
@@ -6,9 +6,12 @@ kqueue_sources = [
]
kqueue_lib = static_library('kqueue',
- sources : kqueue_sources,
- include_directories : [configinc, glibinc, gmoduleinc],
- dependencies : [gioenumtypes_dep],
+ sources : [kqueue_sources],
+ include_directories : [configinc, glibinc],
+ dependencies : [
+ gioenumtypes_dep,
+ gmodule_inc_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 0a896aca0..08be6b09e 100644
--- a/gio/win32/meson.build
+++ b/gio/win32/meson.build
@@ -9,8 +9,12 @@ giowin32_sources = [
giowin32_lib = static_library('giowin32',
sources : [giowin32_sources],
- include_directories : [configinc, glibinc, gioinc, gmoduleinc],
- dependencies : [libintl, gioenumtypes_dep],
+ include_directories : [configinc, glibinc, gioinc],
+ dependencies : [
+ libintl,
+ gioenumtypes_dep,
+ gmodule_inc_dep,
+ ],
gnu_symbol_visibility : 'hidden',
pic : true,
c_args : [gio_c_args, gio_c_args_internal])
diff --git a/gmodule/meson.build b/gmodule/meson.build
index 4b0778e70..da4d06cfb 100644
--- a/gmodule/meson.build
+++ b/gmodule/meson.build
@@ -135,10 +135,13 @@ pkg.generate(libraries : [libgmodule, export_dynamic_ldflags],
description : 'Dynamic module loader for GLib',
)
+gmodule_inc_dep = declare_dependency(
+ include_directories: [gmoduleinc],
+ sources: [gmodule_visibility_h],
+)
+
libgmodule_dep = declare_dependency(link_with : libgmodule,
- include_directories : [gmoduleinc],
- sources : [gmodule_visibility_h],
- dependencies : [libglib_dep])
+ dependencies : [libglib_dep, gmodule_inc_dep])
meson.override_dependency('gmodule-no-export-2.0', libgmodule_dep)
meson.override_dependency('gmodule-export-2.0', libgmodule_dep)