Skip to content

Commit

Permalink
meson.build: link the sources directly into libxkbcommon-x11
Browse files Browse the repository at this point in the history
Similar to 75ce741, 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 mesonbuild/meson#3937

The internal lib is still built for the one test case that requires it.

Fixes xkbcommon#86

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
  • Loading branch information
whot committed Feb 10, 2019
1 parent 9f93ebc commit bcb2497
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -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: [
Expand All @@ -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',
Expand Down

0 comments on commit bcb2497

Please sign in to comment.