summaryrefslogtreecommitdiff
path: root/gsettings/meson.build
diff options
context:
space:
mode:
authorDaniel Playfair Cal <daniel.playfair.cal@gmail.com>2020-12-19 01:24:57 +0000
committerDaniel Playfair Cal <daniel.playfair.cal@gmail.com>2020-12-19 01:24:57 +0000
commit6f7f010b69326eac4e8ee6e0ea7275aaf3232c80 (patch)
treee66209279f4356b1dc11b268471583c3eb17225b /gsettings/meson.build
parent490421c6a89f918dbb75ae14efb66a1ce1fe1399 (diff)
parent72fbd6f7442a7e3dbc227068e58d082bbbefa2dc (diff)
downloaddconf-6f7f010b69326eac4e8ee6e0ea7275aaf3232c80.tar.gz
Merge branch 'fix-symbols' into 'master'
build: Improve libdconf visible symbols See merge request GNOME/dconf!59
Diffstat (limited to 'gsettings/meson.build')
-rw-r--r--gsettings/meson.build29
1 files changed, 8 insertions, 21 deletions
diff --git a/gsettings/meson.build b/gsettings/meson.build
index a28892d..9463453 100644
--- a/gsettings/meson.build
+++ b/gsettings/meson.build
@@ -1,32 +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,
)
-
-envs = test_env + [
- 'G_TEST_SRCDIR=' + meson.current_source_dir(),
- 'G_TEST_BUILDDIR=' + meson.current_build_dir(),
- 'GSETTINGS_LIB=' + libdconf_settings.full_path(),
-]
-
-unit_test = 'abicheck'
-
-test(
- unit_test,
- find_program(unit_test + '.sh'),
- env: envs,
-)