1 libxkbcommon consists of three shared libraries, libxkbcommon (the main
2 library), libxkbcommon-x11 (an addon library for XCB clients) and libxkbregistry
3 (a library to list available RMLVO options).
5 The files for libxkbcommon-x11 are:
6 libxkbcommon-x11.a libxkbcommon-x11.so* xkbcommon/xkbcommon-x11.h
7 xkbcommon-x11.map xkbcommon-x11.pc
9 libxkbcommon-x11 can be disabled with -Denable-x11=false (see
10 `meson configure build` for other options/variables).
12 The files for libxkbregistry are:
13 libxkbregistry.a libxkbregistry.so* xkbcommon/xkbregistry.h
14 xkbregistry.map xkbregistry.pc
16 libxkbregistry can be disabled with -Denable-xkbregistry=false (see
17 `meson configure build` for other options/variables).
19 Dependencies for libxkbcommon:
20 - C compiler, meson, pkg-config, libc.
22 - (build) bison (preferred), win_bison or byacc>=20141006.
23 byacc must be configured with --enable-btyacc.
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
32 Contains the dataset for Compose support (/usr/share/X11/locale).
33 Please don't depend on it explicitly.
35 - (build optional) doxygen.
36 For generating the HTML documentation.
37 To disable, use -Denable-docs=false.
39 - (build optional) gperf.
40 Output included in git and tarball. To regenerate, use
41 `./scripts/update-keywords`.
43 Dependencies for xkbcli:
46 Dependencies for libxkbcommon-x11:
49 - libxcb>=1.10 with libxcb-xkb.
51 Dependencies for libxkbcommon-x11 tests:
53 If they are not available, the relevant tests are skipped.
55 Dependencies for libxkbregistry:
56 - libxkbregistry is a sublibrary of libxkbcommon and cannot be built without
57 building libxbkcommon. The files produced are otherwise independent.
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).
65 Dependencies for Wayland tests:
66 - wayland-client>=1.2.0, wayland-scanner, wayland-protocols>=1.0.
67 To disable, use -Denable-wayland=false.
69 Unless libxcb is always available as part of the system, it is preferred
70 that libxkbcommon and libxkbcommon-x11 be split into separate packages,
71 such that the main library does not depend on libxcb. This avoids a
72 transitive dependency of Wayland clients on X libraries.
74 It is perferred that libxkbregistry be split into a separate packages as most
75 clients that require libxkbcommon do not require libxkbregistry and clients
76 requiring libxkbregistry may not need libxkbcommon.