Files
buildroot/package/wine/Config.in
Alsey Coleman Miller 13b42633d3 package/wine: select libxkbcommon and libxml2 for the Wayland driver
wine.mk passes --with-wayland whenever BR2_PACKAGE_WAYLAND is enabled,
but nothing guarantees the rest of what wine's Wayland test needs is in
the configuration. That test is:

  WINE_NOTICE_WITH(wayland, [test -z "$WAYLAND_CLIENT_LIBS" \
    -o -z "$WAYLAND_SCANNER" -o -z "$XKBCOMMON_LIBS" \
    -o -z "$XKBREGISTRY_LIBS" -o "$ac_cv_header_linux_input_h" = "no"], ...)

and because --with-wayland is passed explicitly, WINE_NOTICE_WITH turns
into AC_MSG_ERROR rather than a notice.

So wine needs libxkbcommon, and it needs the libxkbregistry part of it,
which is only built when libxml2 is available. Select both when Wayland
support is enabled, and add libxkbcommon to the build dependencies.

Note that libxml2 is not a direct dependency of wine, it only has to be
in the configuration so that libxkbcommon builds libxkbregistry; the
build ordering is handled by libxkbcommon's own dependency on libxml2.

Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit a5e7f7af9f)
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
2026-08-28 15:57:20 +02:00

38 lines
1.4 KiB
Plaintext

config BR2_PACKAGE_WINE_ARCH_SUPPORTS
bool
default y
# Wine only builds on certain architectures
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" || \
BR2_HOSTARCH = "powerpc" || BR2_HOSTARCH = "arm" || \
BR2_HOSTARCH = "aarch64"
# Wine has much CPU specific code and mostly makes sense on x86
depends on BR2_i386
config BR2_PACKAGE_WINE
bool "wine"
depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS
# Wine unconditionally builds shared libraries
depends on !BR2_STATIC_LIBS
# pthread_attr_setstack
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_PACKAGE_ALSA_LIB_SEQ if BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_ALSA_LIB_RAWMIDI if BR2_PACKAGE_ALSA_LIB
# The Wayland driver needs libxkbcommon, including its
# libxkbregistry part, which is only built when libxml2 is
# available.
select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_LIBXML2 if BR2_PACKAGE_WAYLAND
help
Wine is a compatibility layer capable of running Windows
applications on Linux. Instead of simulating internal
Windows logic like a virtual machine or emulator, Wine
translates Windows API calls into POSIX calls on-the-fly,
eliminating the performance and memory penalties of other
methods.
http://www.winehq.org
comment "wine needs a toolchain w/ dynamic library, NPTL"
depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL