summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2023-04-19 21:06:34 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2023-04-19 21:10:29 +0200
commitfe38a02c62c2ceff43a539efa3a31fe2ee72b4fe (patch)
treea8143b06b255e573006a983fe5d6a775b5cd3aad
parentd4708c180d4eaeef844d5a760e21479f2621b883 (diff)
downloadglib-wip/3v1n0/gio-gmodule-visibility-dep.tar.gz
gmodule: Define a gmodule include dependency and use it in gio moduleswip/3v1n0/gio-gmodule-visibility-dep
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
-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 237992fcc..f7b41536e 100644
--- a/gmodule/meson.build
+++ b/gmodule/meson.build
@@ -137,10 +137,13 @@ pkg.generate(libraries : [libgmodule],
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)