[Buildroot] [PATCH v9 1/3] package/weston-imx: Split weston-imx off from weston
Michael Walle
michael at walle.cc
Sun Feb 2 16:42:30 UTC 2020
Hi,
Am 2. Februar 2020 08:16:44 MEZ schrieb James Hilliard <james.hilliard1 at gmail.com>:
>This is in preparation for migration of weston to the meson build
>system.
>Since weston-imx is based off of a much older version of weston it is
>difficult to maintain as part of the weston package.
>
>Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
>---
> package/Config.in | 1 +
> package/weston-imx/Config.in | 108 ++++++++++++++++++++++
> package/weston-imx/weston-imx.hash | 2 +
> package/weston-imx/weston-imx.mk | 144 +++++++++++++++++++++++++++++
I'm too late to this since this is already merged.. but now that weston-imx is a separate package shouldn't it go into packages/freescale-imx/?
-michael
> package/weston/Config.in | 2 +
> package/weston/weston.hash | 2 -
> package/weston/weston.mk | 16 ----
> 7 files changed, 257 insertions(+), 18 deletions(-)
> create mode 100644 package/weston-imx/Config.in
> create mode 100644 package/weston-imx/weston-imx.hash
> create mode 100644 package/weston-imx/weston-imx.mk
>
>diff --git a/package/Config.in b/package/Config.in
>index c8f23c2712..d1b31d63fb 100644
>--- a/package/Config.in
>+++ b/package/Config.in
>@@ -342,6 +342,7 @@ comment "QT libraries and helper libraries"
> endif
> source "package/tekui/Config.in"
> source "package/weston/Config.in"
>+ source "package/weston-imx/Config.in"
> source "package/x11r7/Config.in"
>
> comment "X applications"
>diff --git a/package/weston-imx/Config.in
>b/package/weston-imx/Config.in
>new file mode 100644
>index 0000000000..a82cb947a0
>--- /dev/null
>+++ b/package/weston-imx/Config.in
>@@ -0,0 +1,108 @@
>+comment "weston-imx needs udev and a toolchain w/ locale, threads,
>dynamic library, headers >= 3.0"
>+ depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>+ depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
>+ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
>+ !BR2_ENABLE_LOCALE
>+
>+config BR2_PACKAGE_WESTON_IMX
>+ bool "weston-imx"
>+ depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
>+ depends on BR2_ENABLE_LOCALE # libinput
>+ depends on BR2_PACKAGE_HAS_UDEV
>+ depends on !BR2_STATIC_LIBS # wayland
>+ depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
>+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
>+ select BR2_PACKAGE_WAYLAND
>+ select BR2_PACKAGE_WAYLAND_PROTOCOLS
>+ select BR2_PACKAGE_LIBXKBCOMMON
>+ select BR2_PACKAGE_CAIRO
>+ select BR2_PACKAGE_CAIRO_PNG
>+ select BR2_PACKAGE_LIBPNG
>+ select BR2_PACKAGE_JPEG
>+ select BR2_PACKAGE_LIBINPUT
>+ select BR2_PACKAGE_LIBDRM
>+ # Runtime dependency
>+ select BR2_PACKAGE_XKEYBOARD_CONFIG
>+ # Make sure at least one compositor is selected.
>+ select BR2_PACKAGE_WESTON_IMX_FBDEV if
>!BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+ help
>+ Weston is the reference implementation of a Wayland
>+ compositor, and a useful compositor in its own right.
>+ Weston has various backends that lets it run on Linux kernel
>+ modesetting and evdev input as well as under X11.
>+
>+ http://wayland.freedesktop.org/
>+
>+if BR2_PACKAGE_WESTON_IMX
>+
>+# Helper to make sure at least one compositor is selected.
>+config BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+ bool
>+
>+config BR2_PACKAGE_WESTON_IMX_DRM
>+ bool "DRM compositor"
>+ depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
>+ select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+
>+# Uses libgbm from mesa3d
>+comment "DRM compositor needs an OpenGL EGL backend provided by
>mesa3d"
>+ depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
>+
>+config BR2_PACKAGE_WESTON_IMX_FBDEV
>+ bool "fbdev compositor"
>+
>+# FreeRDP needs threads and !static, already the case for weston
>+config BR2_PACKAGE_WESTON_IMX_RDP
>+ bool "RDP compositor"
>+ depends on BR2_USE_MMU # freerdp, libglib2
>+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
>+ depends on BR2_USE_WCHAR # freerdp
>+ depends on BR2_INSTALL_LIBSTDCPP # freerdp
>+ select BR2_PACKAGE_FREERDP
>+ select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+ help
>+ This enables the RDP backend, which allows accessing weston
>+ through the network with any RDP-compliant client.
>+
>+ Please note that one must pass those options to weston for RDP
>+ to be functional:
>+ --rdp-tls-cert=/path/to/server.crt
>+ --rdp-tls-key=/path/to/server.key
>+
>+ By default, Buildroot installs such files in
>+ /etc/freerdp/server/ so you may want to change them in a
>+ post-build script or a rootfs overlay.
>+
>+comment "RDP compositor needs a toolchain w/ wchar, C++"
>+ depends on BR2_USE_MMU
>+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
>+ depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
>+
>+config BR2_PACKAGE_WESTON_IMX_X11
>+ bool "X11 compositor"
>+ depends on BR2_PACKAGE_XORG7
>+ select BR2_PACKAGE_LIBXCB
>+ select BR2_PACKAGE_XLIB_LIBX11
>+ select BR2_PACKAGE_WESTON_IMX_HAS_COMPOSITOR
>+
>+comment "X11 compositor needs X.org enabled"
>+ depends on !BR2_PACKAGE_XORG7
>+
>+config BR2_PACKAGE_WESTON_IMX_XWAYLAND
>+ bool "XWayland support"
>+ depends on BR2_PACKAGE_XORG7
>+ depends on BR2_PACKAGE_LIBEPOXY
>+ select BR2_PACKAGE_CAIRO
>+ select BR2_PACKAGE_LIBXCB
>+ select BR2_PACKAGE_XLIB_LIBX11
>+ select BR2_PACKAGE_XLIB_LIBXCURSOR
>+
>+comment "XWayland support needs libepoxy and X.org enabled"
>+ depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
>+
>+config BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS
>+ bool "demo clients"
>+ help
>+ This enables the installation of Weston's demo clients.
>+
>+endif
>diff --git a/package/weston-imx/weston-imx.hash
>b/package/weston-imx/weston-imx.hash
>new file mode 100644
>index 0000000000..759a9b6554
>--- /dev/null
>+++ b/package/weston-imx/weston-imx.hash
>@@ -0,0 +1,2 @@
>+# locally computed
>+sha256
>f39f7a24a01b023aa204ad47977a6476c17a307769f29d408621a05b5cbbcfc7
>weston-imx-rel_imx_4.9.51_8mq_ga.tar.gz
>diff --git a/package/weston-imx/weston-imx.mk
>b/package/weston-imx/weston-imx.mk
>new file mode 100644
>index 0000000000..e803fa3ee2
>--- /dev/null
>+++ b/package/weston-imx/weston-imx.mk
>@@ -0,0 +1,144 @@
>+################################################################################
>+#
>+# weston-imx
>+#
>+################################################################################
>+
>+WESTON_IMX_VERSION = rel_imx_4.9.51_8mq_ga
>+WESTON_IMX_SITE =
>https://source.codeaurora.org/external/imx/weston-imx
>+WESTON_IMX_SITE_METHOD = git
>+WESTON_IMX_AUTORECONF = YES
>+WESTON_IMX_LICENSE = MIT
>+WESTON_IMX_LICENSE_FILES = COPYING
>+
>+WESTON_IMX_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
>+ libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \
>+ $(if $(BR2_PACKAGE_WEBP),webp)
>+
>+WESTON_IMX_CONF_OPTS = \
>+ --with-dtddir=$(STAGING_DIR)/usr/share/wayland \
>+ --disable-headless-compositor \
>+ --disable-colord \
>+ --disable-devdocs \
>+ --disable-setuid-install
>+
>+WESTON_IMX_MAKE_OPTS = \
>+ WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
>+
>+# Uses VIDIOC_EXPBUF, only available from 3.8+
>+ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),)
>+WESTON_IMX_CONF_OPTS += --disable-simple-dmabuf-v4l-client
>+endif
>+
>+ifeq ($(BR2_PACKAGE_DBUS),y)
>+WESTON_IMX_CONF_OPTS += --enable-dbus
>+WESTON_IMX_DEPENDENCIES += dbus
>+else
>+WESTON_IMX_CONF_OPTS += --disable-dbus
>+endif
>+
>+# weston-launch must be u+s root in order to work properly
>+ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
>+define WESTON_IMX_PERMISSIONS
>+ /usr/bin/weston-launch f 4755 0 0 - - - - -
>+endef
>+define WESTON_IMX_USERS
>+ - - weston-launch -1 - - - - Weston launcher group
>+endef
>+WESTON_IMX_CONF_OPTS += --enable-weston-launch
>+WESTON_IMX_DEPENDENCIES += linux-pam
>+else
>+WESTON_IMX_CONF_OPTS += --disable-weston-launch
>+endif
>+
>+ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
>+WESTON_IMX_DEPENDENCIES += imx-gpu-g2d
>+# --enable-imxg2d actually disables it, so no CONF_OPTS
>+else
>+WESTON_IMX_CONF_OPTS += --disable-imxg2d
>+endif
>+
>+ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
>+WESTON_IMX_CONF_OPTS += --enable-egl
>+WESTON_IMX_DEPENDENCIES += libegl libgles
>+else
>+WESTON_IMX_CONF_OPTS += \
>+ --disable-egl \
>+ --disable-simple-dmabuf-drm-client \
>+ --disable-simple-egl-clients
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_RDP),y)
>+WESTON_IMX_DEPENDENCIES += freerdp
>+WESTON_IMX_CONF_OPTS += --enable-rdp-compositor
>+else
>+WESTON_IMX_CONF_OPTS += --disable-rdp-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_FBDEV),y)
>+WESTON_IMX_CONF_OPTS += \
>+ --enable-fbdev-compositor \
>+ WESTON_IMX_NATIVE_BACKEND=fbdev-backend.so
>+else
>+WESTON_IMX_CONF_OPTS += --disable-fbdev-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_DRM),y)
>+WESTON_IMX_CONF_OPTS += \
>+ --enable-drm-compositor \
>+ WESTON_IMX_NATIVE_BACKEND=drm-backend.so
>+else
>+WESTON_IMX_CONF_OPTS += --disable-drm-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_X11),y)
>+WESTON_IMX_CONF_OPTS += \
>+ --enable-x11-compositor \
>+ WESTON_IMX_NATIVE_BACKEND=x11-backend.so
>+WESTON_IMX_DEPENDENCIES += libxcb xlib_libX11
>+else
>+WESTON_IMX_CONF_OPTS += --disable-x11-compositor
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_XWAYLAND),y)
>+WESTON_IMX_CONF_OPTS += --enable-xwayland
>+WESTON_IMX_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11
>xlib_libXcursor
>+else
>+WESTON_IMX_CONF_OPTS += --disable-xwayland
>+endif
>+
>+ifeq ($(BR2_PACKAGE_LIBVA),y)
>+WESTON_IMX_CONF_OPTS += --enable-vaapi-recorder
>+WESTON_IMX_DEPENDENCIES += libva
>+else
>+WESTON_IMX_CONF_OPTS += --disable-vaapi-recorder
>+endif
>+
>+ifeq ($(BR2_PACKAGE_LCMS2),y)
>+WESTON_IMX_CONF_OPTS += --enable-lcms
>+WESTON_IMX_DEPENDENCIES += lcms2
>+else
>+WESTON_IMX_CONF_OPTS += --disable-lcms
>+endif
>+
>+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
>+WESTON_IMX_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
>+WESTON_IMX_DEPENDENCIES += systemd
>+else
>+WESTON_IMX_CONF_OPTS += --disable-systemd-login
>--disable-systemd-notify
>+endif
>+
>+ifeq ($(BR2_PACKAGE_LIBXML2),y)
>+WESTON_IMX_CONF_OPTS += --enable-junit-xml
>+WESTON_IMX_DEPENDENCIES += libxml2
>+else
>+WESTON_IMX_CONF_OPTS += --disable-junit-xml
>+endif
>+
>+ifeq ($(BR2_PACKAGE_WESTON_IMX_DEMO_CLIENTS),y)
>+WESTON_IMX_CONF_OPTS += --enable-demo-clients-install
>+else
>+WESTON_IMX_CONF_OPTS += --disable-demo-clients-install
>+endif
>+
>+$(eval $(autotools-package))
>diff --git a/package/weston/Config.in b/package/weston/Config.in
>index f874b0cc6a..5a5e288540 100644
>--- a/package/weston/Config.in
>+++ b/package/weston/Config.in
>@@ -1,10 +1,12 @@
>comment "weston needs udev and a toolchain w/ locale, threads, dynamic
>library, headers >= 3.0"
>+ depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
> !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
> !BR2_ENABLE_LOCALE
>
> config BR2_PACKAGE_WESTON
> bool "weston"
>+ depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
> depends on BR2_ENABLE_LOCALE # libinput
> depends on BR2_PACKAGE_HAS_UDEV
> depends on !BR2_STATIC_LIBS # wayland
>diff --git a/package/weston/weston.hash b/package/weston/weston.hash
>index a2dddf7a5b..c9b2d4b1ce 100644
>--- a/package/weston/weston.hash
>+++ b/package/weston/weston.hash
>@@ -3,5 +3,3 @@ md5 e7b10710ef1eac82258f97bfd41fe534
>weston-6.0.1.tar.xz
> sha1 3b39e454b3dc8dc32598790cfcc65728b448378b weston-6.0.1.tar.xz
>sha256 bf2f6d5aae2e11cabb6bd69a76bcf9edb084f8c3e14ca769bea7234a513155b4
> weston-6.0.1.tar.xz
>sha512
>3da04ff9b884480ce0824950347185e55584e3938021fe62014423d3d51577eafdda8de650a5de6eb37a842130c9cb14c7a952a560f6be93ff973164363af3d9
> weston-6.0.1.tar.xz
>-# locally computed
>-sha256
>0f0de7b7b1f65870139c95dde7abc19ed305631ae7c5d37c386db40cde108632
>weston-rel_imx_4.9.51_8mq_ga.tar.gz
>diff --git a/package/weston/weston.mk b/package/weston/weston.mk
>index ee3d3be87e..154ae38b83 100644
>--- a/package/weston/weston.mk
>+++ b/package/weston/weston.mk
>@@ -4,16 +4,9 @@
> #
>################################################################################
>
>-ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
>-WESTON_VERSION = rel_imx_4.9.51_8mq_ga
>-WESTON_SITE = https://source.codeaurora.org/external/imx/weston-imx
>-WESTON_SITE_METHOD = git
>-WESTON_AUTORECONF = YES
>-else
> WESTON_VERSION = 6.0.1
> WESTON_SITE = http://wayland.freedesktop.org/releases
> WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
>-endif
> WESTON_LICENSE = MIT
> WESTON_LICENSE_FILES = COPYING
>
>@@ -58,15 +51,6 @@ else
> WESTON_CONF_OPTS += --disable-weston-launch
> endif
>
>-ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
>-ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y)
>-WESTON_DEPENDENCIES += imx-gpu-g2d
>-# --enable-imxg2d actually disables it, so no CONF_OPTS
>-else
>-WESTON_CONF_OPTS += --disable-imxg2d
>-endif
>-endif
>-
> ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
> WESTON_CONF_OPTS += --enable-egl
> WESTON_DEPENDENCIES += libegl libgles
More information about the buildroot
mailing list