All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration
@ 2023-02-07 17:17 Angelo Compagnucci
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 01/13] package/qt6/qt6base: add support for gui module Angelo Compagnucci
                   ` (12 more replies)
  0 siblings, 13 replies; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

This series is an attempt to revamp the QT6 series from Jesse Van Gavere
to be included mainline. It reworks a bit of things we discussed during
the developer days in Bruxelles.

Angelo Compagnucci (4):
  package/qt6/qt6base: add support for widgets
  package/qt6/qt6base: add support for widgets gtk backend
  package/qt6/qt6base: add opengl support
  package/qt6/qt6base: add QPA backend selection

Jesse Van Gavere (9):
  package/qt6/qt6base: add support for gui module
  package/qt6/qt6base: add support for fontconfig/harfbuzz
  package/qt6/qt6base: Add support for jpeg/png/gif image format
  package/qt6/qt6base: add support for tslib
  package/qt6/qt6base: add support for libinput
  package/qt6/qt6base: add support for kms
  package/qt6/qt6base: add support for printsupport/cups
  package/qt6/qt6base: add support for building examples
  package/qt6: Add qmake functionality

 package/qt6/Config.in               |   5 +
 package/qt6/qt6.mk                  |  12 ++
 package/qt6/qt6base/Config.in       | 161 +++++++++++++++++++++++++++
 package/qt6/qt6base/qmake.conf.in   |  34 ++++++
 package/qt6/qt6base/qplatformdefs.h |   1 +
 package/qt6/qt6base/qt.conf.in      |   7 ++
 package/qt6/qt6base/qt6base.hash    |   1 +
 package/qt6/qt6base/qt6base.mk      | 166 ++++++++++++++++++++++++++++
 8 files changed, 387 insertions(+)
 create mode 100644 package/qt6/qt6base/qmake.conf.in
 create mode 100644 package/qt6/qt6base/qplatformdefs.h
 create mode 100644 package/qt6/qt6base/qt.conf.in

-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 01/13] package/qt6/qt6base: add support for gui module
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:07   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 02/13] package/qt6/qt6base: add support for fontconfig/harfbuzz Angelo Compagnucci
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

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(+)

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
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 02/13] package/qt6/qt6base: add support for fontconfig/harfbuzz
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 01/13] package/qt6/qt6base: add support for gui module Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:08   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 03/13] package/qt6/qt6base: Add support for jpeg/png/gif image format Angelo Compagnucci
                   ` (10 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

Additionally the harfbuzz license file is added and the hash for this is
also added to the hash file

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/Config.in    | 17 +++++++++++++++++
 package/qt6/qt6base/qt6base.hash |  1 +
 package/qt6/qt6base/qt6base.mk   | 23 +++++++++++++++++++++++
 3 files changed, 41 insertions(+)

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index 1810b1586d..594221b792 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -59,6 +59,23 @@ config BR2_PACKAGE_QT6BASE_XCB
 comment "X.org XCB backend available if X.org is enabled"
 	depends on !BR2_PACKAGE_XORG7
 
+config BR2_PACKAGE_QT6BASE_FONTCONFIG
+	bool "fontconfig support"
+	select BR2_PACKAGE_FONTCONFIG
+	help
+	  This option enables Fontconfig and Freetype support using
+	  the system fontconfig and freetype2 libraries.
+
+config BR2_PACKAGE_QT6BASE_HARFBUZZ
+	bool "harfbuzz support"
+	select BR2_PACKAGE_HARFBUZZ if \
+		BR2_TOOLCHAIN_HAS_SYNC_4 && \
+		BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+	help
+	  This option enables HarfBuzz support (either system harfbuzz
+	  if the toolchain supports __sync for 4 bytes, or the qt
+	  provided one which avoids this dependency by using QAtomic).
+
 endif
 
 config BR2_PACKAGE_QT6BASE_NETWORK
diff --git a/package/qt6/qt6base/qt6base.hash b/package/qt6/qt6base/qt6base.hash
index 0c722ccded..dda7ff61c8 100644
--- a/package/qt6/qt6base/qt6base.hash
+++ b/package/qt6/qt6base/qt6base.hash
@@ -1,5 +1,6 @@
 # Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.2/submodules/qtbase-everywhere-src-6.4.2.tar.xz.sha256
 sha256  a88bc6cedbb34878a49a622baa79cace78cfbad4f95fdbd3656ddb21c705525d  qtbase-everywhere-src-6.4.2.tar.xz
+sha256  2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216  src/3rdparty/harfbuzz-ng/COPYING
 
 # Hashes for license files
 sha256  e3ba223bb1423f0aad8c3dfce0fe3148db48926d41e6fbc3afbbf5ff9e1c89cb  LICENSES/Apache-2.0.txt
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index 9bfb2a8420..da67b12c99 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -170,6 +170,29 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_xcb=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_HARFBUZZ),y)
+QT6BASE_CONF_OPTS += -DFEATURE_harfbuzz=ON
+ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),y)
+# system harfbuzz in case __sync for 4 bytes is supported
+QT6BASE_CONF_OPTS += -DQT_USE_BUNDLED_BundledHarfbuzz=OFF
+QT6BASE_DEPENDENCIES += harfbuzz
+else #BR2_TOOLCHAIN_HAS_SYNC_4
+# qt harfbuzz otherwise (using QAtomic instead)
+QT6BASE_CONF_OPTS += -DQT_USE_BUNDLED_BundledHarfbuzz=ON
+QT6BASE_LICENSE += , MIT (harfbuzz)
+QT6BASE_LICENSE_FILES += src/3rdparty/harfbuzz-ng/COPYING
+endif
+else
+QT6BASE_CONF_OPTS += -DFEATURE_harfbuzz=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_QT6BASE_FONTCONFIG),y)
+QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=ON
+QT6BASE_DEPENDENCIES += fontconfig
+else
+QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=OFF
+endif
+
 else
 QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF
 endif
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 03/13] package/qt6/qt6base: Add support for jpeg/png/gif image format
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 01/13] package/qt6/qt6base: add support for gui module Angelo Compagnucci
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 02/13] package/qt6/qt6base: add support for fontconfig/harfbuzz Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:08   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 04/13] package/qt6/qt6base: add support for widgets Angelo Compagnucci
                   ` (9 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/Config.in  | 19 +++++++++++++++++++
 package/qt6/qt6base/qt6base.mk | 20 ++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index 594221b792..6c5c60fa30 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -76,6 +76,25 @@ config BR2_PACKAGE_QT6BASE_HARFBUZZ
 	  if the toolchain supports __sync for 4 bytes, or the qt
 	  provided one which avoids this dependency by using QAtomic).
 
+config BR2_PACKAGE_QT6BASE_GIF
+	bool "GIF support"
+	help
+	  This compiles and installs the plugin for GIF reading support.
+
+config BR2_PACKAGE_QT6BASE_JPEG
+	bool "JPEG support"
+	select BR2_PACKAGE_JPEG
+	help
+	  This option enables JPEG support using the system libjpeg
+	  library.
+
+config BR2_PACKAGE_QT6BASE_PNG
+	bool "PNG support"
+	select BR2_PACKAGE_LIBPNG
+	help
+	  This option enables PNG support using the system libpng
+	  library.
+
 endif
 
 config BR2_PACKAGE_QT6BASE_NETWORK
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index da67b12c99..06ebbab8e7 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -186,6 +186,26 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_harfbuzz=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_PNG),y)
+QT6BASE_CONF_OPTS += -DFEATURE_png=ON -DFEATURE_system_png=ON
+QT6BASE_DEPENDENCIES += libpng
+else
+QT6BASE_CONF_OPTS += -DFEATURE_png=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_QT6BASE_GIF),y)
+QT6BASE_CONF_OPTS += -DFEATURE_gif=ON
+else
+QT6BASE_CONF_OPTS += -DFEATURE_gif=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_QT6BASE_JPEG),y)
+QT6BASE_CONF_OPTS += -DFEATURE_jpeg=ON
+QT6BASE_DEPENDENCIES += jpeg
+else
+QT6BASE_CONF_OPTS += -DFEATURE_jpeg=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_FONTCONFIG),y)
 QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=ON
 QT6BASE_DEPENDENCIES += fontconfig
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 04/13] package/qt6/qt6base: add support for widgets
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (2 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 03/13] package/qt6/qt6base: Add support for jpeg/png/gif image format Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:09   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 05/13] package/qt6/qt6base: add support for widgets gtk backend Angelo Compagnucci
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
v6:
* Removed backend configuration options (Thomas P.)

 package/qt6/qt6base/Config.in  | 6 ++++++
 package/qt6/qt6base/qt6base.mk | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index 6c5c60fa30..0f7e936162 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -95,6 +95,12 @@ config BR2_PACKAGE_QT6BASE_PNG
 	  This option enables PNG support using the system libpng
 	  library.
 
+config BR2_PACKAGE_QT6BASE_WIDGETS
+	bool "widgets module"
+	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT6BASE_XCB
+	help
+	  This option enables the Qt6Widgets library.
+
 endif
 
 config BR2_PACKAGE_QT6BASE_NETWORK
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index 06ebbab8e7..cf3c7b1ad1 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -213,6 +213,10 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_WIDGETS),y)
+QT6BASE_CONF_OPTS += -DFEATURE_widgets=ON
+endif
+
 else
 QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF
 endif
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 05/13] package/qt6/qt6base: add support for widgets gtk backend
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (3 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 04/13] package/qt6/qt6base: add support for widgets Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:09   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 06/13] package/qt6/qt6base: add opengl support Angelo Compagnucci
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/qt6base.mk | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index cf3c7b1ad1..f936d19c68 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -215,6 +215,17 @@ endif
 
 ifeq ($(BR2_PACKAGE_QT6BASE_WIDGETS),y)
 QT6BASE_CONF_OPTS += -DFEATURE_widgets=ON
+
+# only enable gtk support if libgtk3 X11 backend is enabled
+ifeq ($(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_LIBGTK3_X11),yy)
+QT6BASE_CONF_OPTS += -DFEATURE_gtk3=ON
+QT6BASE_DEPENDENCIES += libgtk3
+else
+QT6BASE_CONF_OPTS += -DFEATURE_gtk3=OFF
+endif
+
+else
+QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF
 endif
 
 else
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 06/13] package/qt6/qt6base: add opengl support
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (4 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 05/13] package/qt6/qt6base: add support for widgets gtk backend Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:11   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 07/13] package/qt6/qt6base: add QPA backend selection Angelo Compagnucci
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
v6:
* Moving eglfs backend selection here (Thomas P.)

 package/qt6/Config.in          |  5 ++++
 package/qt6/qt6base/Config.in  | 49 +++++++++++++++++++++++++++++++++-
 package/qt6/qt6base/qt6base.mk | 17 ++++++++++++
 3 files changed, 70 insertions(+), 1 deletion(-)

diff --git a/package/qt6/Config.in b/package/qt6/Config.in
index b0cc008df5..655fa8392a 100644
--- a/package/qt6/Config.in
+++ b/package/qt6/Config.in
@@ -12,6 +12,11 @@ config BR2_PACKAGE_QT6_ARCH_SUPPORTS
 	default y if BR2_sparc64
 	depends on BR2_USE_MMU
 
+config BR2_PACKAGE_QT6_GL_SUPPORTS
+	bool
+	default y
+	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
+
 comment "qt6 needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, host gcc >= 8"
 	depends on !BR2_PACKAGE_QT5
 	depends on BR2_PACKAGE_QT6_ARCH_SUPPORTS
diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index 0f7e936162..a33ffcd511 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -36,7 +36,8 @@ config BR2_PACKAGE_QT6BASE_GUI
 	# 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
+	       !BR2_PACKAGE_QT6BASE_XCB && \
+	       !BR2_PACKAGE_QT6BASE_EGLFS
 	help
 	  This option enables the Qt6Gui library.
 
@@ -59,6 +60,52 @@ config BR2_PACKAGE_QT6BASE_XCB
 comment "X.org XCB backend available if X.org is enabled"
 	depends on !BR2_PACKAGE_XORG7
 
+config BR2_PACKAGE_QT6BASE_OPENGL
+	bool "OpenGL support"
+	depends on BR2_PACKAGE_QT6_GL_SUPPORTS
+	help
+	  This option enables OpenGL support.
+
+comment "OpenGL support needs an OpenGL-capable backend"
+	depends on !BR2_PACKAGE_QT6_GL_SUPPORTS
+
+if BR2_PACKAGE_QT6BASE_OPENGL
+
+choice
+	prompt "OpenGL API"
+	help
+	  Select OpenGL API.
+
+config BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP
+	bool "Desktop OpenGL"
+	depends on BR2_PACKAGE_HAS_LIBGL
+	help
+	  Use desktop OpenGL.
+
+config BR2_PACKAGE_QT6BASE_OPENGL_ES2
+	bool "OpenGL ES 2.0+"
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	help
+	  Use OpenGL ES 2.0 and later versions.
+
+endchoice
+
+config BR2_PACKAGE_QT6BASE_OPENGL_LIB
+	bool "opengl module"
+	select BR2_PACKAGE_QT6BASE_WIDGETS
+	help
+	  This option enables the Qt6OpenGL library. This library
+	  includes OpenGL support classes provided to ease porting
+	  from Qt 4.x.
+
+config BR2_PACKAGE_QT6BASE_EGLFS
+	bool "eglfs support"
+	default y
+	depends on BR2_PACKAGE_HAS_LIBGBM
+	select BR2_PACKAGE_QT6BASE_OPENGL
+
+endif
+
 config BR2_PACKAGE_QT6BASE_FONTCONFIG
 	bool "fontconfig support"
 	select BR2_PACKAGE_FONTCONFIG
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index f936d19c68..e9a3396fb6 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -228,6 +228,23 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_EGLFS),y)
+QT6BASE_CONF_OPTS += -DFEATURE_egl=ON -DFEATURE_eglfs=ON
+QT6BASE_DEPENDENCIES += libegl
+else
+QT6BASE_CONF_OPTS += -DFEATURE_eglfs=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP),y)
+QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengl_desktop=ON
+QT6BASE_DEPENDENCIES += libgl
+else ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_ES2),y)
+QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengles2=ON
+QT6BASE_DEPENDENCIES += libgles
+else
+QT6BASE_CONF_OPTS += -DFEATURE_opengl=OFF -DINPUT_opengl=no
+endif
+
 else
 QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF
 endif
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 07/13] package/qt6/qt6base: add QPA backend selection
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (5 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 06/13] package/qt6/qt6base: add opengl support Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:11   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 08/13] package/qt6/qt6base: add support for tslib Angelo Compagnucci
                   ` (5 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/Config.in  | 13 +++++++++++++
 package/qt6/qt6base/qt6base.mk |  3 +++
 2 files changed, 16 insertions(+)

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index a33ffcd511..065725049d 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -60,6 +60,19 @@ config BR2_PACKAGE_QT6BASE_XCB
 comment "X.org XCB backend available if X.org is enabled"
 	depends on !BR2_PACKAGE_XORG7
 
+config BR2_PACKAGE_QT6BASE_DEFAULT_QPA
+	string "Default graphical platform"
+	help
+	  Choose the default platform abstraction to use for graphical
+	  applications (e.g xcb, linuxfb, eglfs, ...). If this is
+	  empty, the default for your architecture will be used
+	  (usually this is eglfs).
+
+	  You can get a list of supported platforms by running a Qt
+	  application with the option "-platform help" on your
+	  target. You can choose a different platform at runtime with
+	  the -platform option.
+
 config BR2_PACKAGE_QT6BASE_OPENGL
 	bool "OpenGL support"
 	depends on BR2_PACKAGE_QT6_GL_SUPPORTS
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index e9a3396fb6..a3c0c20d6e 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -249,6 +249,9 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF
 endif
 
+QT6BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT6BASE_DEFAULT_QPA))
+QT6BASE_CONF_OPTS += $(if $(QT6BASE_DEFAULT_QPA),-DQT_QPA_DEFAULT_PLATFORM=$(QT6BASE_DEFAULT_QPA))
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 QT6BASE_CONF_OPTS += -DINPUT_openssl=yes
 QT6BASE_DEPENDENCIES += openssl
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 08/13] package/qt6/qt6base: add support for tslib
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (6 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 07/13] package/qt6/qt6base: add QPA backend selection Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:13   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 09/13] package/qt6/qt6base: add support for libinput Angelo Compagnucci
                   ` (4 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/Config.in  | 6 ++++++
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 2 files changed, 13 insertions(+)

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index 065725049d..d5d6d3569d 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -224,6 +224,12 @@ config BR2_PACKAGE_QT6BASE_TEST
 	help
 	  This options enables the Qt6Test library.
 
+config BR2_PACKAGE_QT6BASE_TSLIB
+	bool "Enable Tslib support"
+	select BR2_PACKAGE_TSLIB
+	help
+	  This options enables the Tslib plugin
+
 config BR2_PACKAGE_QT6BASE_XML
 	bool "XML module"
 	help
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index a3c0c20d6e..3942af6758 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -228,6 +228,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_TSLIB),y)
+QT6BASE_CONF_OPTS += -DFEATURE_tslib=ON
+QT6BASE_DEPENDENCIES += tslib
+else
+QT6BASE_CONF_OPTS += -DFEATURE_tslib=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_EGLFS),y)
 QT6BASE_CONF_OPTS += -DFEATURE_egl=ON -DFEATURE_eglfs=ON
 QT6BASE_DEPENDENCIES += libegl
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 09/13] package/qt6/qt6base: add support for libinput
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (7 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 08/13] package/qt6/qt6base: add support for tslib Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:13   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 10/13] package/qt6/qt6base: add support for kms Angelo Compagnucci
                   ` (3 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index 3942af6758..fb452b0b7d 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -228,6 +228,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_LIBINPUT),y)
+QT6BASE_CONF_OPTS += -DFEATURE_libinput=ON
+QT6BASE_DEPENDENCIES += libinput
+else
+QT6BASE_CONF_OPTS += -DFEATURE_libinput=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_TSLIB),y)
 QT6BASE_CONF_OPTS += -DFEATURE_tslib=ON
 QT6BASE_DEPENDENCIES += tslib
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 10/13] package/qt6/qt6base: add support for kms
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (8 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 09/13] package/qt6/qt6base: add support for libinput Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:13   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 11/13] package/qt6/qt6base: add support for printsupport/cups Angelo Compagnucci
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index fb452b0b7d..4a64886a3f 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -206,6 +206,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_jpeg=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_LIBDRM),y)
+QT6BASE_CONF_OPTS += -DFEATURE_kms=ON
+QT6BASE_DEPENDENCIES += libdrm
+else
+QT6BASE_CONF_OPTS += -DFEATURE_kms=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_FONTCONFIG),y)
 QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=ON
 QT6BASE_DEPENDENCIES += fontconfig
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 11/13] package/qt6/qt6base: add support for printsupport/cups
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (9 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 10/13] package/qt6/qt6base: add support for kms Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:15   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 12/13] package/qt6/qt6base: add support for building examples Angelo Compagnucci
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 13/13] package/qt6: Add qmake functionality Angelo Compagnucci
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/Config.in  |  4 ++++
 package/qt6/qt6base/qt6base.mk | 12 ++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index d5d6d3569d..4d13128661 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -168,6 +168,10 @@ config BR2_PACKAGE_QT6BASE_NETWORK
 	help
 	  This options enables the Qt6Network library.
 
+config BR2_PACKAGE_QT6BASE_PRINTSUPPORT
+	depends on BR2_PACKAGE_QT6BASE_WIDGETS
+	def_bool y
+
 config BR2_PACKAGE_QT6BASE_SQL
 	bool "sql module"
 	help
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index 4a64886a3f..97986a3c2b 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -206,6 +206,18 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_jpeg=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_PRINTSUPPORT), y)
+QT6BASE_CONF_OPTS += -DFEATURE_printsupport=ON
+ifeq ($(BR2_PACKAGE_CUPS), y)
+QT6BASE_CONF_OPTS += -DFEATURE_cups=ON
+QT6BASE_DEPENDENCIES += cups
+else
+QT6BASE_CONF_OPTS += -DFEATURE_cups=OFF
+endif
+else
+QT6BASE_CONF_OPTS += -DFEATURE_printsupport=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_LIBDRM),y)
 QT6BASE_CONF_OPTS += -DFEATURE_kms=ON
 QT6BASE_DEPENDENCIES += libdrm
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 12/13] package/qt6/qt6base: add support for building examples
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (10 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 11/13] package/qt6/qt6base: add support for printsupport/cups Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:16   ` Thomas Petazzoni via buildroot
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 13/13] package/qt6: Add qmake functionality Angelo Compagnucci
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

The selected options make the default examples set to actually compile.

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/qt6/qt6base/Config.in  | 18 ++++++++++++++++++
 package/qt6/qt6base/qt6base.mk |  6 ++++++
 2 files changed, 24 insertions(+)

diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index 4d13128661..4ae5e96ef0 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -30,6 +30,24 @@ config BR2_PACKAGE_QT6BASE_DBUS
 	help
 	  This option enables the D-Bus module.
 
+config BR2_PACKAGE_QT6BASE_EXAMPLES
+	bool "Compile and install examples "
+	depends on BR2_PACKAGE_QT6_GL_SUPPORTS
+	select BR2_PACKAGE_QT6BASE_DBUS
+	select BR2_PACKAGE_QT6BASE_NETWORK
+	select BR2_PACKAGE_QT6BASE_XML
+	select BR2_PACKAGE_QT6BASE_DBUS
+	select BR2_PACKAGE_QT6BASE_GUI
+	select BR2_PACKAGE_QT6BASE_WIDGETS
+	select BR2_PACKAGE_QT6BASE_OPENGL
+	select BR2_PACKAGE_QT6BASE_OPENGL_LIB
+	select BR2_PACKAGE_QT6BASE_CONCURRENT
+	help
+	  If unsure, say N.
+
+comment "Building examples needs OpenGL/DBus support"
+	depends on !BR2_PACKAGE_QT6_GL_SUPPORTS || !BR2_PACKAGE_DBUS
+
 config BR2_PACKAGE_QT6BASE_GUI
 	bool "gui module"
 	select BR2_PACKAGE_FREETYPE
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index 97986a3c2b..ec1c65f827 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -310,6 +310,12 @@ QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
 HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_EXAMPLES),y)
+QT6BASE_CONF_OPTS += -DQT_BUILD_EXAMPLES=ON
+else
+QT6BASE_CONF_OPTS += -DQT_BUILD_EXAMPLES=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_NETWORK),y)
 QT6BASE_CONF_OPTS += -DFEATURE_network=ON
 else
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Buildroot] [PATCH v6 13/13] package/qt6: Add qmake functionality
  2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
                   ` (11 preceding siblings ...)
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 12/13] package/qt6/qt6base: add support for building examples Angelo Compagnucci
@ 2023-02-07 17:17 ` Angelo Compagnucci
  2023-02-08 11:18   ` Thomas Petazzoni via buildroot
  12 siblings, 1 reply; 28+ messages in thread
From: Angelo Compagnucci @ 2023-02-07 17:17 UTC (permalink / raw)
  To: buildroot; +Cc: jesseevg, Angelo Compagnucci

From: Jesse Van Gavere <jesseevg@gmail.com>

The qmake functionality had been missing due to the new host/target
build requirement, to get it working the main parts of the qt5 qmake
has been kept, we're still making our own device spec which we use to
run qmake with along with passing some additional device options for our
flags/cross-compiler the biggest difference is that where previously
qt.conf was used to fixup per-paths builds, this is now always
created with changed contents so qmake looks at the correct target
directories.

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
v6:
* Removing EGLFS_DEVICE mangling because is not working right now
  and should be added later.

 package/qt6/qt6.mk                  | 12 ++++++++++
 package/qt6/qt6base/qmake.conf.in   | 34 +++++++++++++++++++++++++++++
 package/qt6/qt6base/qplatformdefs.h |  1 +
 package/qt6/qt6base/qt.conf.in      |  7 ++++++
 package/qt6/qt6base/qt6base.mk      | 16 ++++++++++++++
 5 files changed, 70 insertions(+)
 create mode 100644 package/qt6/qt6base/qmake.conf.in
 create mode 100644 package/qt6/qt6base/qplatformdefs.h
 create mode 100644 package/qt6/qt6base/qt.conf.in

diff --git a/package/qt6/qt6.mk b/package/qt6/qt6.mk
index 431bb8c9d3..847286a3fc 100644
--- a/package/qt6/qt6.mk
+++ b/package/qt6/qt6.mk
@@ -10,3 +10,15 @@ QT6_SOURCE_TARBALL_PREFIX = everywhere-src
 QT6_SITE = https://download.qt.io/archive/qt/$(QT6_VERSION_MAJOR)/$(QT6_VERSION)/submodules
 
 include $(sort $(wildcard package/qt6/*/*.mk))
+
+# The file "qt.conf" can be used to override the hard-coded paths that are
+# compiled into the Qt library. We need it to make "qmake" relocatable due
+# to the host/target build and tweak the per-package install pathes
+define QT6_INSTALL_QT_CONF
+	rm -f $(HOST_DIR)/bin/qt.conf
+	sed -e "s|@@HOST_DIR@@|$(HOST_DIR)|" -e "s|@@STAGING_DIR@@|$(STAGING_DIR)|" \
+		$(QT6BASE_PKGDIR)/qt.conf.in > $(HOST_DIR)/bin/qt.conf
+endef
+
+# Variable for other Qt applications to use
+QT6_QMAKE = $(HOST_DIR)/bin/qmake -spec devices/linux-buildroot-g++
diff --git a/package/qt6/qt6base/qmake.conf.in b/package/qt6/qt6base/qmake.conf.in
new file mode 100644
index 0000000000..e0d53d755d
--- /dev/null
+++ b/package/qt6/qt6base/qmake.conf.in
@@ -0,0 +1,34 @@
+# Qt6 has a mechanism to support "device" profiles, so that people can
+# specify the compiler, compiler flags and so on for a specific device.
+
+# We leverage this mechanism in the Buildroot packaging of qt6 to
+# simplify cross-compilation: we have our own "device" definition, which
+# allows us to easily pass the cross-compiler paths and flags from our
+# qt6.mk.
+
+include(../common/linux_device_pre.conf)
+
+# modifications to g++-unix.conf
+QMAKE_CC                = $${CROSS_COMPILE}gcc
+QMAKE_CXX               = $${CROSS_COMPILE}g++
+QMAKE_LINK		= $${CROSS_COMPILE}g++
+
+# modifications to gcc-base.conf
+QMAKE_CFLAGS           += $${BR_COMPILER_CFLAGS}
+QMAKE_CXXFLAGS         += $${BR_COMPILER_CXXFLAGS}
+# Remove all optimisation flags, we really only want our own.
+QMAKE_CFLAGS_OPTIMIZE       =
+QMAKE_CFLAGS_OPTIMIZE_DEBUG =
+QMAKE_CFLAGS_OPTIMIZE_FULL  =
+QMAKE_CFLAGS_OPTIMIZE_SIZE  =
+QMAKE_CFLAGS_DEBUG =
+QMAKE_CXXFLAGS_DEBUG =
+QMAKE_CFLAGS_RELEASE =
+QMAKE_CXXFLAGS_RELEASE =
+CONFIG                 += nostrip
+
+QMAKE_LIBS             += -lrt -lpthread -ldl
+QMAKE_CFLAGS_ISYSTEM   =
+
+include(../common/linux_device_post.conf)
+load(qt_config)
diff --git a/package/qt6/qt6base/qplatformdefs.h b/package/qt6/qt6base/qplatformdefs.h
new file mode 100644
index 0000000000..99e9a27923
--- /dev/null
+++ b/package/qt6/qt6base/qplatformdefs.h
@@ -0,0 +1 @@
+#include "../../linux-g++/qplatformdefs.h"
diff --git a/package/qt6/qt6base/qt.conf.in b/package/qt6/qt6base/qt.conf.in
new file mode 100644
index 0000000000..4842bcb462
--- /dev/null
+++ b/package/qt6/qt6base/qt.conf.in
@@ -0,0 +1,7 @@
+[Paths]
+Prefix=/usr
+HostPrefix=@@HOST_DIR@@
+HostData=../target/usr
+Sysroot=@@STAGING_DIR@@
+SysrootifyPrefix=true
+TargetSpec=devices/linux-buildroot-g++
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index ec1c65f827..f37b2bafce 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -54,6 +54,9 @@ QT6BASE_CONF_OPTS = \
 	-DFEATURE_system_zlib=ON \
 	-DFEATURE_system_libb2=ON
 
+QT6BASE_CFLAGS = $(TARGET_CFLAGS)
+QT6BASE_CXXFLAGS = $(TARGET_CXXFLAGS)
+
 # x86 optimization options. While we have a BR2_X86_CPU_HAS_AVX512, it
 # is not clear yet how it maps to all the avx512* options of Qt, so we
 # for now keeps them disabled.
@@ -384,5 +387,18 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_zstd=OFF
 endif
 
+define QT6BASE_MAKE_BR_SPEC
+	$(INSTALL) -m 0644 -D $(QT6BASE_PKGDIR)/qmake.conf.in \
+		$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
+	$(INSTALL) -m 0644 -D $(QT6BASE_PKGDIR)/qplatformdefs.h \
+		$(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
+endef
+
+QT6BASE_CONF_OPTS += -DQT_QMAKE_DEVICE_OPTIONS=CROSS_COMPILE="$(TARGET_CROSS)";BR_COMPILER_CFLAGS="$(QT6BASE_CFLAGS)";BR_COMPILER_CXXFLAGS="$(QT6BASE_CXX_FLAGS)"
+
+QT6BASE_PRE_CONFIGURE_HOOKS += QT6BASE_MAKE_BR_SPEC
+
+QT6BASE_POST_INSTALL_STAGING_HOOKS += QT6_INSTALL_QT_CONF
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 01/13] package/qt6/qt6base: add support for gui module
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 01/13] package/qt6/qt6base: add support for gui module Angelo Compagnucci
@ 2023-02-08 11:07   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:07 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 02/13] package/qt6/qt6base: add support for fontconfig/harfbuzz
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 02/13] package/qt6/qt6base: add support for fontconfig/harfbuzz Angelo Compagnucci
@ 2023-02-08 11:08   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:08 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> From: Jesse Van Gavere <jesseevg@gmail.com>
> 
> Additionally the harfbuzz license file is added and the hash for this is
> also added to the hash file
> 
> Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/Config.in    | 17 +++++++++++++++++
>  package/qt6/qt6base/qt6base.hash |  1 +
>  package/qt6/qt6base/qt6base.mk   | 23 +++++++++++++++++++++++
>  3 files changed, 41 insertions(+)
> 
> diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
> index 1810b1586d..594221b792 100644
> --- a/package/qt6/qt6base/Config.in
> +++ b/package/qt6/qt6base/Config.in
> @@ -59,6 +59,23 @@ config BR2_PACKAGE_QT6BASE_XCB
>  comment "X.org XCB backend available if X.org is enabled"
>  	depends on !BR2_PACKAGE_XORG7
>  
> +config BR2_PACKAGE_QT6BASE_FONTCONFIG
> +	bool "fontconfig support"
> +	select BR2_PACKAGE_FONTCONFIG
> +	help
> +	  This option enables Fontconfig and Freetype support using
> +	  the system fontconfig and freetype2 libraries.

It doesn't enable fontconfig and freetype, but only fontconfig.
Freetype is unconditionally enabled for the GUI module.

I fixed that up when applying. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 03/13] package/qt6/qt6base: Add support for jpeg/png/gif image format
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 03/13] package/qt6/qt6base: Add support for jpeg/png/gif image format Angelo Compagnucci
@ 2023-02-08 11:08   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:08 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> From: Jesse Van Gavere <jesseevg@gmail.com>
> 
> Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/Config.in  | 19 +++++++++++++++++++
>  package/qt6/qt6base/qt6base.mk | 20 ++++++++++++++++++++
>  2 files changed, 39 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 04/13] package/qt6/qt6base: add support for widgets
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 04/13] package/qt6/qt6base: add support for widgets Angelo Compagnucci
@ 2023-02-08 11:09   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:09 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> +config BR2_PACKAGE_QT6BASE_WIDGETS
> +	bool "widgets module"
> +	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT6BASE_XCB

According to my build testing, this dependency is not needed, so I
dropped it.

> +	help
> +	  This option enables the Qt6Widgets library.
> +
>  endif
>  
>  config BR2_PACKAGE_QT6BASE_NETWORK
> diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
> index 06ebbab8e7..cf3c7b1ad1 100644
> --- a/package/qt6/qt6base/qt6base.mk
> +++ b/package/qt6/qt6base/qt6base.mk
> @@ -213,6 +213,10 @@ else
>  QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=OFF
>  endif
>  
> +ifeq ($(BR2_PACKAGE_QT6BASE_WIDGETS),y)
> +QT6BASE_CONF_OPTS += -DFEATURE_widgets=ON

Missing else clause to explicitly disable widgets.

Applied with these two things fixed. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 05/13] package/qt6/qt6base: add support for widgets gtk backend
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 05/13] package/qt6/qt6base: add support for widgets gtk backend Angelo Compagnucci
@ 2023-02-08 11:09   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:09 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/qt6base.mk | 11 +++++++++++
>  1 file changed, 11 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 06/13] package/qt6/qt6base: add opengl support
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 06/13] package/qt6/qt6base: add opengl support Angelo Compagnucci
@ 2023-02-08 11:11   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:11 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> +if BR2_PACKAGE_QT6BASE_OPENGL
> +
> +choice
> +	prompt "OpenGL API"
> +	help
> +	  Select OpenGL API.
> +
> +config BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP
> +	bool "Desktop OpenGL"
> +	depends on BR2_PACKAGE_HAS_LIBGL
> +	help
> +	  Use desktop OpenGL.
> +
> +config BR2_PACKAGE_QT6BASE_OPENGL_ES2
> +	bool "OpenGL ES 2.0+"
> +	depends on BR2_PACKAGE_HAS_LIBGLES
> +	help
> +	  Use OpenGL ES 2.0 and later versions.
> +
> +endchoice
> +
> +config BR2_PACKAGE_QT6BASE_OPENGL_LIB
> +	bool "opengl module"
> +	select BR2_PACKAGE_QT6BASE_WIDGETS
> +	help
> +	  This option enables the Qt6OpenGL library. This library
> +	  includes OpenGL support classes provided to ease porting
> +	  from Qt 4.x.

This option didn't do anything: there is nothing in the .mk file that
did something about this option, so I dropped it.

> +
> +config BR2_PACKAGE_QT6BASE_EGLFS
> +	bool "eglfs support"
> +	default y

I dropped the "default y", there is no need for that.

> +	depends on BR2_PACKAGE_HAS_LIBGBM

It also needs EGL.

> +	select BR2_PACKAGE_QT6BASE_OPENGL

I also moved this option closer to the other graphics backends
(linuxfb, xcb).

>  config BR2_PACKAGE_QT6BASE_FONTCONFIG
>  	bool "fontconfig support"
>  	select BR2_PACKAGE_FONTCONFIG
> diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
> index f936d19c68..e9a3396fb6 100644
> --- a/package/qt6/qt6base/qt6base.mk
> +++ b/package/qt6/qt6base/qt6base.mk
> @@ -228,6 +228,23 @@ else
>  QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF
>  endif
>  
> +ifeq ($(BR2_PACKAGE_QT6BASE_EGLFS),y)
> +QT6BASE_CONF_OPTS += -DFEATURE_egl=ON -DFEATURE_eglfs=ON
> +QT6BASE_DEPENDENCIES += libegl

libgbm added here, since according to Config.in we need it.

Applied with those fixes, thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 07/13] package/qt6/qt6base: add QPA backend selection
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 07/13] package/qt6/qt6base: add QPA backend selection Angelo Compagnucci
@ 2023-02-08 11:11   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:11 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/Config.in  | 13 +++++++++++++
>  package/qt6/qt6base/qt6base.mk |  3 +++
>  2 files changed, 16 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 08/13] package/qt6/qt6base: add support for tslib
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 08/13] package/qt6/qt6base: add support for tslib Angelo Compagnucci
@ 2023-02-08 11:13   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:13 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> From: Jesse Van Gavere <jesseevg@gmail.com>
> 
> Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/Config.in  | 6 ++++++
>  package/qt6/qt6base/qt6base.mk | 7 +++++++
>  2 files changed, 13 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 09/13] package/qt6/qt6base: add support for libinput
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 09/13] package/qt6/qt6base: add support for libinput Angelo Compagnucci
@ 2023-02-08 11:13   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:13 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> From: Jesse Van Gavere <jesseevg@gmail.com>
> 
> Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/qt6base.mk | 7 +++++++
>  1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 10/13] package/qt6/qt6base: add support for kms
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 10/13] package/qt6/qt6base: add support for kms Angelo Compagnucci
@ 2023-02-08 11:13   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:13 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> From: Jesse Van Gavere <jesseevg@gmail.com>
> 
> Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/qt6base.mk | 7 +++++++
>  1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 11/13] package/qt6/qt6base: add support for printsupport/cups
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 11/13] package/qt6/qt6base: add support for printsupport/cups Angelo Compagnucci
@ 2023-02-08 11:15   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:15 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> From: Jesse Van Gavere <jesseevg@gmail.com>
> 
> Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
>  package/qt6/qt6base/Config.in  |  4 ++++
>  package/qt6/qt6base/qt6base.mk | 12 ++++++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
> index d5d6d3569d..4d13128661 100644
> --- a/package/qt6/qt6base/Config.in
> +++ b/package/qt6/qt6base/Config.in
> @@ -168,6 +168,10 @@ config BR2_PACKAGE_QT6BASE_NETWORK
>  	help
>  	  This options enables the Qt6Network library.
>  
> +config BR2_PACKAGE_QT6BASE_PRINTSUPPORT
> +	depends on BR2_PACKAGE_QT6BASE_WIDGETS
> +	def_bool y

Why is that a def_bool y? I see it's like that in qt5base, but I'm not
sure why. I changed it to be a normal option:

config BR2_PACKAGE_QT6BASE_PRINTSUPPORT
        bool "printing support"
        # yes, print support needs widgets
        depends on BR2_PACKAGE_QT6BASE_WIDGETS
        help
          This option enables printing support, optionally using CUPS
          if available.

> diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
> index 4a64886a3f..97986a3c2b 100644
> --- a/package/qt6/qt6base/qt6base.mk
> +++ b/package/qt6/qt6base/qt6base.mk
> @@ -206,6 +206,18 @@ else
>  QT6BASE_CONF_OPTS += -DFEATURE_jpeg=OFF
>  endif
>  
> +ifeq ($(BR2_PACKAGE_QT6BASE_PRINTSUPPORT), y)

Spurious space before y

> +QT6BASE_CONF_OPTS += -DFEATURE_printsupport=ON
> +ifeq ($(BR2_PACKAGE_CUPS), y)

Same.

Applied with those fixes. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 12/13] package/qt6/qt6base: add support for building examples
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 12/13] package/qt6/qt6base: add support for building examples Angelo Compagnucci
@ 2023-02-08 11:16   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:16 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

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

> +config BR2_PACKAGE_QT6BASE_EXAMPLES
> +	bool "Compile and install examples "
> +	depends on BR2_PACKAGE_QT6_GL_SUPPORTS
> +	select BR2_PACKAGE_QT6BASE_DBUS
> +	select BR2_PACKAGE_QT6BASE_NETWORK
> +	select BR2_PACKAGE_QT6BASE_XML
> +	select BR2_PACKAGE_QT6BASE_DBUS
> +	select BR2_PACKAGE_QT6BASE_GUI
> +	select BR2_PACKAGE_QT6BASE_WIDGETS
> +	select BR2_PACKAGE_QT6BASE_OPENGL
> +	select BR2_PACKAGE_QT6BASE_OPENGL_LIB

Due to comments/issues on previous patches, this option does not exist,
so I'm not able to apply this patch right now.

Could you resend as part of a new series after checking this
BR2_PACKAGE_QT6BASE_OPENGL_LIB thing?

Also, are all those options needed to have the examples? I believe with
Qt5, when you enable the examples, it builds only the examples that it
can build based on the features enabled in Qt. This was very handy. The
same is not possible here?

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 13/13] package/qt6: Add qmake functionality
  2023-02-07 17:17 ` [Buildroot] [PATCH v6 13/13] package/qt6: Add qmake functionality Angelo Compagnucci
@ 2023-02-08 11:18   ` Thomas Petazzoni via buildroot
  2023-02-10 10:14     ` Jesse Van Gavere
  0 siblings, 1 reply; 28+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-08 11:18 UTC (permalink / raw)
  To: Angelo Compagnucci; +Cc: jesseevg, buildroot

Hello,

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

> diff --git a/package/qt6/qt6base/qt.conf.in b/package/qt6/qt6base/qt.conf.in
> new file mode 100644
> index 0000000000..4842bcb462
> --- /dev/null
> +++ b/package/qt6/qt6base/qt.conf.in
> @@ -0,0 +1,7 @@
> +[Paths]
> +Prefix=/usr
> +HostPrefix=@@HOST_DIR@@
> +HostData=../target/usr

This looks very very odd, and most likely doesn't work. If I understand
correctly, this is a path that will be interpreted relatively to
$(HOST_DIR), so this value assumes that host/ and target/ are side by
side, but that's not true in the general case. Indeed, BR2_HOST_DIR
allows to customize where $(HOST_DIR) is located, and it can be
elsewhere than side by side to target/.

What is this trying to do exactly?



> +Sysroot=@@STAGING_DIR@@
> +SysrootifyPrefix=true
> +TargetSpec=devices/linux-buildroot-g++
> diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
> index ec1c65f827..f37b2bafce 100644
> --- a/package/qt6/qt6base/qt6base.mk
> +++ b/package/qt6/qt6base/qt6base.mk
> @@ -54,6 +54,9 @@ QT6BASE_CONF_OPTS = \
>  	-DFEATURE_system_zlib=ON \
>  	-DFEATURE_system_libb2=ON
>  
> +QT6BASE_CFLAGS = $(TARGET_CFLAGS)
> +QT6BASE_CXXFLAGS = $(TARGET_CXXFLAGS)
> +
>  # x86 optimization options. While we have a BR2_X86_CPU_HAS_AVX512, it
>  # is not clear yet how it maps to all the avx512* options of Qt, so we
>  # for now keeps them disabled.
> @@ -384,5 +387,18 @@ else
>  QT6BASE_CONF_OPTS += -DFEATURE_zstd=OFF
>  endif
>  
> +define QT6BASE_MAKE_BR_SPEC
> +	$(INSTALL) -m 0644 -D $(QT6BASE_PKGDIR)/qmake.conf.in \
> +		$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
> +	$(INSTALL) -m 0644 -D $(QT6BASE_PKGDIR)/qplatformdefs.h \
> +		$(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
> +endef
> +
> +QT6BASE_CONF_OPTS += -DQT_QMAKE_DEVICE_OPTIONS=CROSS_COMPILE="$(TARGET_CROSS)";BR_COMPILER_CFLAGS="$(QT6BASE_CFLAGS)";BR_COMPILER_CXXFLAGS="$(QT6BASE_CXX_FLAGS)"
> +
> +QT6BASE_PRE_CONFIGURE_HOOKS += QT6BASE_MAKE_BR_SPEC
> +
> +QT6BASE_POST_INSTALL_STAGING_HOOKS += QT6_INSTALL_QT_CONF

Where is QT6_INSTALL_QT_CONF implemented ?

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Buildroot] [PATCH v6 13/13] package/qt6: Add qmake functionality
  2023-02-08 11:18   ` Thomas Petazzoni via buildroot
@ 2023-02-10 10:14     ` Jesse Van Gavere
  0 siblings, 0 replies; 28+ messages in thread
From: Jesse Van Gavere @ 2023-02-10 10:14 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot, Angelo Compagnucci

Hello Thomas,

You're right, this won't work with a relocated HOST_DIR the
QT6_INSTALL_QT_CONF seems to have gotten dropped in Angelo his patch
series, I'll rebase onto what has been approved and submit a new
series for the qmake functionality.
Thanks for the reviews!

Regards,
Jesse

Op wo 8 feb. 2023 om 12:18 schreef Thomas Petazzoni
<thomas.petazzoni@bootlin.com>:
>
> Hello,
>
> On Tue,  7 Feb 2023 18:17:21 +0100
> Angelo Compagnucci <angelo@amarulasolutions.com> wrote:
>
> > diff --git a/package/qt6/qt6base/qt.conf.in b/package/qt6/qt6base/qt.conf.in
> > new file mode 100644
> > index 0000000000..4842bcb462
> > --- /dev/null
> > +++ b/package/qt6/qt6base/qt.conf.in
> > @@ -0,0 +1,7 @@
> > +[Paths]
> > +Prefix=/usr
> > +HostPrefix=@@HOST_DIR@@
> > +HostData=../target/usr
>
> This looks very very odd, and most likely doesn't work. If I understand
> correctly, this is a path that will be interpreted relatively to
> $(HOST_DIR), so this value assumes that host/ and target/ are side by
> side, but that's not true in the general case. Indeed, BR2_HOST_DIR
> allows to customize where $(HOST_DIR) is located, and it can be
> elsewhere than side by side to target/.
>
> What is this trying to do exactly?
>
>
>
> > +Sysroot=@@STAGING_DIR@@
> > +SysrootifyPrefix=true
> > +TargetSpec=devices/linux-buildroot-g++
> > diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
> > index ec1c65f827..f37b2bafce 100644
> > --- a/package/qt6/qt6base/qt6base.mk
> > +++ b/package/qt6/qt6base/qt6base.mk
> > @@ -54,6 +54,9 @@ QT6BASE_CONF_OPTS = \
> >       -DFEATURE_system_zlib=ON \
> >       -DFEATURE_system_libb2=ON
> >
> > +QT6BASE_CFLAGS = $(TARGET_CFLAGS)
> > +QT6BASE_CXXFLAGS = $(TARGET_CXXFLAGS)
> > +
> >  # x86 optimization options. While we have a BR2_X86_CPU_HAS_AVX512, it
> >  # is not clear yet how it maps to all the avx512* options of Qt, so we
> >  # for now keeps them disabled.
> > @@ -384,5 +387,18 @@ else
> >  QT6BASE_CONF_OPTS += -DFEATURE_zstd=OFF
> >  endif
> >
> > +define QT6BASE_MAKE_BR_SPEC
> > +     $(INSTALL) -m 0644 -D $(QT6BASE_PKGDIR)/qmake.conf.in \
> > +             $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
> > +     $(INSTALL) -m 0644 -D $(QT6BASE_PKGDIR)/qplatformdefs.h \
> > +             $(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
> > +endef
> > +
> > +QT6BASE_CONF_OPTS += -DQT_QMAKE_DEVICE_OPTIONS=CROSS_COMPILE="$(TARGET_CROSS)";BR_COMPILER_CFLAGS="$(QT6BASE_CFLAGS)";BR_COMPILER_CXXFLAGS="$(QT6BASE_CXX_FLAGS)"
> > +
> > +QT6BASE_PRE_CONFIGURE_HOOKS += QT6BASE_MAKE_BR_SPEC
> > +
> > +QT6BASE_POST_INSTALL_STAGING_HOOKS += QT6_INSTALL_QT_CONF
>
> Where is QT6_INSTALL_QT_CONF implemented ?
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2023-02-10 10:14 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-07 17:17 [Buildroot] [PATCH v6 00/13] Extend Qt6 configuration Angelo Compagnucci
2023-02-07 17:17 ` [Buildroot] [PATCH v6 01/13] package/qt6/qt6base: add support for gui module Angelo Compagnucci
2023-02-08 11:07   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 02/13] package/qt6/qt6base: add support for fontconfig/harfbuzz Angelo Compagnucci
2023-02-08 11:08   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 03/13] package/qt6/qt6base: Add support for jpeg/png/gif image format Angelo Compagnucci
2023-02-08 11:08   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 04/13] package/qt6/qt6base: add support for widgets Angelo Compagnucci
2023-02-08 11:09   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 05/13] package/qt6/qt6base: add support for widgets gtk backend Angelo Compagnucci
2023-02-08 11:09   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 06/13] package/qt6/qt6base: add opengl support Angelo Compagnucci
2023-02-08 11:11   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 07/13] package/qt6/qt6base: add QPA backend selection Angelo Compagnucci
2023-02-08 11:11   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 08/13] package/qt6/qt6base: add support for tslib Angelo Compagnucci
2023-02-08 11:13   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 09/13] package/qt6/qt6base: add support for libinput Angelo Compagnucci
2023-02-08 11:13   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 10/13] package/qt6/qt6base: add support for kms Angelo Compagnucci
2023-02-08 11:13   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 11/13] package/qt6/qt6base: add support for printsupport/cups Angelo Compagnucci
2023-02-08 11:15   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 12/13] package/qt6/qt6base: add support for building examples Angelo Compagnucci
2023-02-08 11:16   ` Thomas Petazzoni via buildroot
2023-02-07 17:17 ` [Buildroot] [PATCH v6 13/13] package/qt6: Add qmake functionality Angelo Compagnucci
2023-02-08 11:18   ` Thomas Petazzoni via buildroot
2023-02-10 10:14     ` Jesse Van Gavere

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.