summaryrefslogtreecommitdiff
path: root/gsettings/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'gsettings/meson.build')
-rw-r--r--gsettings/meson.build15
1 files changed, 8 insertions, 7 deletions
diff --git a/gsettings/meson.build b/gsettings/meson.build
index ee0f723..9463453 100644
--- a/gsettings/meson.build
+++ b/gsettings/meson.build
@@ -1,18 +1,19 @@
-# We use the libraries directly, as the dependency objects use
-# link_whole; this avoids the gsettings backend module exposing
-# symbols other than g_io_module_*
backend_deps = [
- libdconf_common_hidden,
- libdconf_gdbus_thread,
+ libdconf_common_dep,
+ libdconf_gdbus_thread_dep,
]
+symbol_map = join_paths(meson.current_source_dir(), 'symbol.map')
+ldflags = cc.get_supported_link_arguments('-Wl,--version-script,@0@'.format(symbol_map))
+
libdconf_settings = shared_library(
'dconfsettings',
sources: 'dconfsettingsbackend.c',
include_directories: top_inc,
- link_with: backend_deps,
- dependencies: gio_dep,
+ dependencies: backend_deps,
c_args: dconf_c_args,
+ link_args: ldflags,
+ link_depends: symbol_map,
install: true,
install_dir: gio_module_dir,
)