buildrootschalter/package/wayland/wayland.mk
Yann E. MORIN 2c07341c75 package/wayland: build a host variant
Starting with 1.4.0, weston requires wayland-scanner to build its DT.
So far, we got away with just hand-building wayland-scanner, and made
that available in HOST_DIR/usr/bin

But now, weston also requires wayland's DTD, which we did not take care of
in our dirty little hack.

So, the best solution is to just build a host-variant of wayland, so
we get both wayland-scanner, and the DTD.

But then, we do not build the target wayland-scanner (he, wayland tries
to run it at build time...). So it is a matter of just tweaking a little
bit the host .pc file (which weston uses to find wayland-scanner, sigh...)
and fake it as a target .pc file.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-02 10:41:26 +01:00

38 lines
1.3 KiB
Makefile

################################################################################
#
# wayland
#
################################################################################
WAYLAND_VERSION = 1.4.0
WAYLAND_SITE = http://wayland.freedesktop.org/releases/
WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz
WAYLAND_LICENSE = MIT
WAYLAND_LICENSE_FILES = COPYING
WAYLAND_INSTALL_STAGING = YES
WAYLAND_DEPENDENCIES = libffi host-pkgconf host-wayland expat
# wayland-scanner is only needed for building, not on the target
WAYLAND_CONF_OPT = --disable-scanner
# We must provide a specialy-crafted wayland-scanner .pc file
# which we vampirise and adapt from the host-wayland copy
define WAYLAND_SCANNER_PC
$(INSTALL) -m 0644 -D $(HOST_DIR)/usr/share/pkgconfig/wayland-scanner.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/wayland-scanner.pc
$(SED) 's:^prefix=.*:prefix=/usr:' \
-e 's:^wayland_scanner=.*:wayland_scanner=$(HOST_DIR)/usr/bin/wayland-scanner:' \
$(STAGING_DIR)/usr/lib/pkgconfig/wayland-scanner.pc
endef
WAYLAND_POST_INSTALL_STAGING_HOOKS += WAYLAND_SCANNER_PC
# Remove the DTD from the target, it's not needed at runtime
define WAYLAND_TARGET_CLEANUP
rm -rf $(TARGET_DIR)/usr/share/wayland
endef
WAYLAND_POST_INSTALL_TARGET_HOOKS += WAYLAND_TARGET_CLEANUP
$(eval $(autotools-package))
$(eval $(host-autotools-package))