meson.build: link the sources directly into libxkbcommon-x11 Similar to 75ce741ab97e3d17a0c9b06dd4bdf57c00d5538e, just for the -x11 sublibrary. This works around meson bug 3937, 'link_whole' arguments don't get added into the final static library and we end up with a virtually empty 8-byte libxkbcommon-x11.a file, see https://github.com/mesonbuild/meson/issues/3937 The internal lib is still built for the one test case that requires it. Fixes #86 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
diff --git a/meson.build b/meson.build
index a631ae9..e5bec7d 100644
--- a/meson.build
+++ b/meson.build
@@ -217,8 +217,7 @@ if get_option('enable-x11')
You can disable X11 support with -Denable-x11=false.''')
endif
- libxkbcommon_x11_internal = static_library(
- 'xkbcommon-x11-internal',
+ libxkbcommon_x11_sources = [
'src/x11/keymap.c',
'src/x11/state.c',
'src/x11/util.c',
@@ -229,6 +228,10 @@ You can disable X11 support with -Denable-x11=false.''')
'src/keymap-priv.c',
'src/atom.h',
'src/atom.c',
+ ]
+ libxkbcommon_x11_internal = static_library(
+ 'xkbcommon-x11-internal',
+ libxkbcommon_x11_sources,
include_directories: include_directories('src'),
link_with: libxkbcommon,
dependencies: [
@@ -243,11 +246,17 @@ You can disable X11 support with -Denable-x11=false.''')
libxkbcommon_x11 = library(
'xkbcommon-x11',
'xkbcommon/xkbcommon-x11.h',
- link_whole: libxkbcommon_x11_internal,
+ libxkbcommon_x11_sources,
link_args: libxkbcommon_x11_link_args,
link_depends: 'xkbcommon-x11.map',
version: '0.0.0',
install: true,
+ include_directories: include_directories('src'),
+ link_with: libxkbcommon,
+ dependencies: [
+ xcb_dep,
+ xcb_xkb_dep,
+ ],
)
install_headers(
'xkbcommon/xkbcommon-x11.h',