diff mbox series

[v6,01/13] package/qt6/qt6base: add support for gui module

Message ID 20230207171721.2973997-2-angelo@amarulasolutions.com
State Accepted
Headers show
Series Extend Qt6 configuration | expand

Commit Message

Angelo Compagnucci Feb. 7, 2023, 5:17 p.m. UTC
From: Jesse Van Gavere <jesseevg@gmail.com>

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
v6:
* Moved the basic linuxfb, xcb backend support here (Thomas P.)

 package/qt6/qt6base/Config.in  | 31 +++++++++++++++++++++++++++++++
 package/qt6/qt6base/qt6base.mk | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)

Comments

Thomas Petazzoni Feb. 8, 2023, 11:07 a.m. UTC | #1
Hello,

On Tue,  7 Feb 2023 18:17:09 +0100
Angelo Compagnucci <angelo@amarulasolutions.com> wrote:


> +ifeq ($(BR2_PACKAGE_QT6BASE_GUI),y)
> +QT6BASE_CONF_OPTS += -DFEATURE_gui=ON -DFEATURE_freetype=ON -DINPUT_opengl=no -DFEATURE_vulkan=OFF

Split with one option per line.

> +QT6BASE_DEPENDENCIES += freetype
> +
> +ifeq ($(BR2_PACKAGE_QT6BASE_LINUXFB),y)
> +QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=ON
> +else
> +QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_QT6BASE_XCB),y)
> +QT6BASE_CONF_OPTS += \
> +	-DFEATURE_xcb=ON \
> +	-DFEATURE_xcb_xlib=ON \
> +	-DFEATURE_xkbcommon=ON \
> +	-DFEATURE_xkbcommon_x11=ON
> +QT6BASE_DEPENDENCIES += \
> +	libxcb \
> +	xcb-util-wm \
> +	xcb-util-image \
> +	xcb-util-keysyms \
> +	xcb-util-renderutil \
> +	xlib_libX11 \
> +	libxkbcommon
> +QT6BASE_DEPENDENCIES += xlib_libXext

This line was not correct: (1) this package is not needed and (2) it
was not selected in Config.in, causing a build failure because we don't
allow depending on a package that isn't selected in Config.in.

I fixed that up when applying. Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index e8357a675c..1810b1586d 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -30,6 +30,37 @@  config BR2_PACKAGE_QT6BASE_DBUS
 	help
 	  This option enables the D-Bus module.
 
+config BR2_PACKAGE_QT6BASE_GUI
+	bool "gui module"
+	select BR2_PACKAGE_FREETYPE
+	# At least one graphic backend must be enabled, so enable
+	# linuxfb if nothing is enabled.
+	select BR2_PACKAGE_QT6BASE_LINUXFB if \
+	       !BR2_PACKAGE_QT6BASE_XCB
+	help
+	  This option enables the Qt6Gui library.
+
+if BR2_PACKAGE_QT6BASE_GUI
+
+config BR2_PACKAGE_QT6BASE_LINUXFB
+	bool "linuxfb support"
+
+config BR2_PACKAGE_QT6BASE_XCB
+	bool "X.org XCB support"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_LIBXCB
+	select BR2_PACKAGE_XCB_UTIL_IMAGE
+	select BR2_PACKAGE_XCB_UTIL_KEYSYMS
+	select BR2_PACKAGE_XCB_UTIL_RENDERUTIL
+	select BR2_PACKAGE_XCB_UTIL_WM
+	select BR2_PACKAGE_LIBXKBCOMMON
+
+comment "X.org XCB backend available if X.org is enabled"
+	depends on !BR2_PACKAGE_XORG7
+
+endif
+
 config BR2_PACKAGE_QT6BASE_NETWORK
 	bool "network module"
 	help
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index 2f159f380b..9bfb2a8420 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -141,6 +141,39 @@  else
 QT6BASE_CONF_OPTS += -DFEATURE_glib=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_GUI),y)
+QT6BASE_CONF_OPTS += -DFEATURE_gui=ON -DFEATURE_freetype=ON -DINPUT_opengl=no -DFEATURE_vulkan=OFF
+QT6BASE_DEPENDENCIES += freetype
+
+ifeq ($(BR2_PACKAGE_QT6BASE_LINUXFB),y)
+QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=ON
+else
+QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_QT6BASE_XCB),y)
+QT6BASE_CONF_OPTS += \
+	-DFEATURE_xcb=ON \
+	-DFEATURE_xcb_xlib=ON \
+	-DFEATURE_xkbcommon=ON \
+	-DFEATURE_xkbcommon_x11=ON
+QT6BASE_DEPENDENCIES += \
+	libxcb \
+	xcb-util-wm \
+	xcb-util-image \
+	xcb-util-keysyms \
+	xcb-util-renderutil \
+	xlib_libX11 \
+	libxkbcommon
+QT6BASE_DEPENDENCIES += xlib_libXext
+else
+QT6BASE_CONF_OPTS += -DFEATURE_xcb=OFF
+endif
+
+else
+QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 QT6BASE_CONF_OPTS += -DINPUT_openssl=yes
 QT6BASE_DEPENDENCIES += openssl