1libxkbcommon 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. 77