blob: 95b5a2a17aa3e163a41c1c73cb7a74e94bd314fd [file] [log] [blame]
Haibo Huangbffa8492020-09-08 17:10:03 -07001libxkbcommon consists of three shared libraries, libxkbcommon (the main
2library), libxkbcommon-x11 (an addon library for XCB clients) and libxkbregistry
3(a library to list available RMLVO options).
4
5The files for libxkbcommon-x11 are:
6 libxkbcommon-x11.a libxkbcommon-x11.so* xkbcommon/xkbcommon-x11.h
7 xkbcommon-x11.map xkbcommon-x11.pc
8
9libxkbcommon-x11 can be disabled with -Denable-x11=false (see
10`meson configure build` for other options/variables).
11
12The files for libxkbregistry are:
13 libxkbregistry.a libxkbregistry.so* xkbcommon/xkbregistry.h
14 xkbregistry.map xkbregistry.pc
15
16libxkbregistry can be disabled with -Denable-xkbregistry=false (see
17`meson configure build` for other options/variables).
18
19Dependencies for libxkbcommon:
20- C compiler, meson, pkg-config, libc.
21
22- (build) bison (preferred), win_bison or byacc>=20141006.
23 byacc must be configured with --enable-btyacc.
24
25- (build optional, runtime required) xkeyboard-config.
26 During build, for automatically detecting the value of
27 -Dxkb-config-root instead of guessing (/usr/share/X11/xkb).
28 During runtime, not strictly needed, but most users of the library
29 would need it.
30
31- (runtime) libX11.
32 Contains the dataset for Compose support (/usr/share/X11/locale).
33 Please don't depend on it explicitly.
34
35- (build optional) doxygen.
36 For generating the HTML documentation.
37 To disable, use -Denable-docs=false.
38
39- (build optional) gperf.
40 Output included in git and tarball. To regenerate, use
41 `./scripts/update-keywords`.
42
43Dependencies for xkbcli:
44- libxkbcommon.
45
46Dependencies for libxkbcommon-x11:
47- libxkbcommon.
48
49- libxcb>=1.10 with libxcb-xkb.
50
51Dependencies for libxkbcommon-x11 tests:
52- xkbcomp, Xvfb.
53 If they are not available, the relevant tests are skipped.
54
55Dependencies for libxkbregistry:
56- libxkbregistry is a sublibrary of libxkbcommon and cannot be built without
57 building libxbkcommon. The files produced are otherwise independent.
58
59- libxml2
60
61- (build optional, runtime requirement) xkeyboard-config
62 During build, for automatically detecting the value of
63 -Dxkb-config-root instead of guessing (/usr/share/X11/xkb).
64
65Dependencies for Wayland tests:
66- wayland-client>=1.2.0, wayland-scanner, wayland-protocols>=1.0.
67 To disable, use -Denable-wayland=false.
68
69Unless libxcb is always available as part of the system, it is preferred
70that libxkbcommon and libxkbcommon-x11 be split into separate packages,
71such that the main library does not depend on libxcb. This avoids a
72transitive dependency of Wayland clients on X libraries.
73
74It is perferred that libxkbregistry be split into a separate packages as most
75clients that require libxkbcommon do not require libxkbregistry and clients
76requiring libxkbregistry may not need libxkbcommon.