libxkbcommon consists of two shared libraries, libxkbcommon (the main library) and libxkbcommon-x11 (an addon library for XCB clients). The files for libxkbcommon-x11 are: libxkbcommon-x11.a libxkbcommon-x11.so* xkbcommon/xkbcommon-x11.h xkbcommon-x11.map xkbcommon-x11.pc libxkbcommon-x11 can be disabled with -Denable-x11=false (see `meson configure build` for other options/variables). Dependencies for libxkbcommon: - C compiler, meson, pkg-config, libc, bash, grep, sed. - (build) bison (preferred), win_bison or byacc>=20141006. byacc must be configured with --enable-btyacc. - (build optional, runtime) xkeyboard-config. During build, for automatically detecting the value of -Dxkb-config-root instead of guessing (/usr/share/X11/xkb). During runtime, not strictly needed, but most users of the library would need it. - (runtime) libX11. Contains the dataset for Compose support (/usr/share/X11/locale). Please don't depend on it explicitly. - (build optional) doxygen. For generating the HTML documentation. To disable, use -Denable-docs=false. - (build optional) gperf. Output included in git and tarball. To regenerate, use `./scripts/update-keywords`. Dependencies for libxkbcommon-x11: - libxkbcommon. - libxcb>=1.10 with libxcb-xkb. Dependencies for libxkbcommon-x11 tests: - xkbcomp, Xvfb. If they are not available, the relevant tests are skipped. Dependencies for Wayland tests: - wayland-client>=1.2.0, wayland-scanner, wayland-protocols>=1.0. To disable, use -Denable-wayland=false. Unless libxcb is always available as part of the system, it is preferred that libxkbcommon and libxkbcommon-x11 be split into separate packages, such that the main library does not depend on libxcb. This avoids a transitive dependency of Wayland clients on X libraries.