Skip to contentSkip to conversation

Extend Qt6 configuration

PATCH Applied Jesse Van Gavere 4 participants 52 messages Aug 26, 2022 – Sep 20, 2022

lore
Share & tools
lore
#0 lore raw

v4 cover Extend Qt6 configuration

Extend qt6base package configuration options and add license/hash information.
This is mostly a port of the existing qt5 options to qt6 and checked that the correct CMake options are used.
see https://github.com/qt/qtbase/blob/dev/cmake/configure-cmake-mapping.md
This should be a good starting point to get more fully featured qt6 support

Changes in v4:
* Depends on Dbus for examples changed to select Qt DBus

Changes in v3:
* All top level options are now sorted in the Config.in
* The hash for the harfbuzz license file has been added
* Examples config selects additional packages to function
* Dependencies added for examples option

Changes in v2:
* Rework as series with a patch per feature added

Jesse Van Gavere (29):
package/qt6/qt6base: Add qt6base hash file package/qt6/qt6base: Add license information package/qt6/qt6base: add support for network module package/qt6/qt6base: add support for concurrent module package/qt6/qt6base: add support for xml module package/qt6/qt6base: add support for test module package/qt6/qt6base: add support for dbus module package/qt6/qt6base: add support for syslog backend package/qt6/qt6base: add qt support for journald when using systemd package/qt6/qt6base: add qt support for zstd when using the package package/qt6/qt6base: add qt support for SSE/AVX SIMD extensions package/qt6/qt6base: add linking to libatomic package/qt6/qt6base: add support to link qt to openssl package/qt6/qt6base: add qt icu support package/qt6/qt6base: add qt libudev support package/qt6/qt6base: add qt libglib2 support package/qt6/qt6base: add support for passing custom options package/qt6/qt6base: add support for sql module w/ mysql package/qt6/qt6base: add support for sql module w/ postgresql package/qt6/qt6base: add support for sql module w/ sqlite package/qt6/qt6base: add support for gui module package/qt6/qt6base: add support for gui module fontconfig/harfbuzz package/qt6/qt6base: Add support for gui module jpeg/png/gif image
format
package/qt6/qt6base: add support for gui module
widgets/opengl/graphics backends
package/qt6/qt6base: add support for gui module tslib package/qt6/qt6base: add support for gui module libinput package/qt6/qt6base: add support for gui module kms package/qt6/qt6base: add support for gui module printsupport/cups package/qt6/qt6base: add support for building examples

 package/qt6/Config.in            |   5 +
 package/qt6/qt6base/Config.in    | 290 ++++++++++++++++++++++++++++
 package/qt6/qt6base/qt6base.hash |   9 +
 package/qt6/qt6base/qt6base.mk   | 318 +++++++++++++++++++++++++++++++
 4 files changed, 622 insertions(+)
 create mode 100644 package/qt6/qt6base/qt6base.hash
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw

PATCH v4 1/29 package/qt6/qt6base: Add qt6base hash file

Hash file with just the qt6base tarball hash

---
 package/qt6/qt6base/qt6base.hash | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 package/qt6/qt6base/qt6base.hash
package/qt6/qt6base/qt6base.hash new file +2 -0
new file mode 100644
index 0000000000..31ed2494af
@@ -0,0 +1,2 @@
+# Hash from: https://download.qt.io/official_releases/qt/6.3/6.3.1/submodules/qtbase-everywhere-src-6.3.1.tar.xz.sha256
+sha256  0a64421d9c2469c2c48490a032ab91d547017c9cc171f3f8070bc31888f24e03  qtbase-everywhere-src-6.3.1.tar.xz
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#2 lore raw

Re: [Buildroot] [PATCH v4 01/29] package/qt6/qt6base: Add qt6base hash file

Quoted 3 lines · Jesse Van Gavere

Hash file with just the qt6base tarball hash

Applied to master, thanks.

Regards,
Arnout

package/qt6/qt6base/qt6base.hash line 2

Quoted 13 lines
---
  package/qt6/qt6base/qt6base.hash | 2 ++
  1 file changed, 2 insertions(+)

create mode 100644 package/qt6/qt6base/qt6base.hash

package/qt6/qt6base/qt6base.hash new file +2 -0
new file mode 100644
index 0000000000..31ed2494af
@@ -0,0 +1,2 @@
+# Hash from: https://download.qt.io/official_releases/qt/6.3/6.3.1/submodules/qtbase-everywhere-src-6.3.1.tar.xz.sha256
+sha256  0a64421d9c2469c2c48490a032ab91d547017c9cc171f3f8070bc31888f24e03  qtbase-everywhere-src-6.3.1.tar.xz

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#3 lore raw

PATCH v4 2/29 package/qt6/qt6base: Add license information

In reply to Jesse Van Gavere

Add license hashes to the hash file and add the information into the makefile

---
 package/qt6/qt6base/qt6base.hash | 6 ++++++
 package/qt6/qt6base/qt6base.mk   | 2 ++
 2 files changed, 8 insertions(+)
package/qt6/qt6base/qt6base.hash +6 -0
index 31ed2494af..5efc5c2815 100644
@@ -1,2 +1,8 @@
 # Hash from: https://download.qt.io/official_releases/qt/6.3/6.3.1/submodules/qtbase-everywhere-src-6.3.1.tar.xz.sha256
 sha256  0a64421d9c2469c2c48490a032ab91d547017c9cc171f3f8070bc31888f24e03  qtbase-everywhere-src-6.3.1.tar.xz
+# Hashes for license files:
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  LICENSE.GPL2
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  LICENSE.GPL3
+sha256  0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652  LICENSE.GPL3-EXCEPT
+sha256  88ec689407cf2df9b2eb5c45952564d51ce73c129a3bdffb15c0d2d161ad7558  LICENSE.LGPLv3
+sha256  ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d  LICENSE.FDL
package/qt6/qt6base/qt6base.mk +2 -0
index c67d94e193..7a0838b2bc 100644
@@ -7,6 +7,8 @@
 QT6BASE_VERSION = $(QT6_VERSION)
 QT6BASE_SITE = $(QT6_SITE)
 QT6BASE_SOURCE = qtbase-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6BASE_VERSION).tar.xz
+QT6BASE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
+QT6BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
 QT6BASE_DEPENDENCIES = \
 	host-ninja \
 	host-qt6base \
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#4 lore raw

Re: [Buildroot] [PATCH v4 02/29] package/qt6/qt6base: Add license information

Quoted 1 line · Jesse Van Gavere

Add license hashes to the hash file and add the information into the makefile

Commit messages are normally wrapped at 72 columns.

Quoted 12 lines
---
  package/qt6/qt6base/qt6base.hash | 6 ++++++
  package/qt6/qt6base/qt6base.mk   | 2 ++
  2 files changed, 8 insertions(+)
package/qt6/qt6base/qt6base.hash +0 -0
index 31ed2494af..5efc5c2815 100644

package/qt6/qt6base/qt6base.hash line 7

Quoted 7 lines
package/qt6/qt6base/qt6base.hash +5 -0
@@ -1,2 +1,8 @@
  # Hash from: https://download.qt.io/official_releases/qt/6.3/6.3.1/submodules/qtbase-everywhere-src-6.3.1.tar.xz.sha256
  sha256  0a64421d9c2469c2c48490a032ab91d547017c9cc171f3f8070bc31888f24e03  qtbase-everywhere-src-6.3.1.tar.xz
+# Hashes for license files:
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  LICENSE.GPL2
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  LICENSE.GPL3
+sha256  0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652  LICENSE.GPL3-EXCEPT
+sha256  88ec689407cf2df9b2eb5c45952564d51ce73c129a3bdffb15c0d2d161ad7558  LICENSE.LGPLv3

You clearly just copied this from qt5base... However, the name has changes to
LICENSE.GPL3, and the file has been reflowed and the Qt-specific blurb in the beginning has been removed. So the hash is not the same.

package/qt6/qt6base/qt6base.hash line 8

Quoted 1 line
package/qt6/qt6base/qt6base.hash +1 -0
+sha256  ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d  LICENSE.FDL

This one also had some whitespace differences with the qt5base one.

Applied to master with the hashes and filenames fixed, thanks!

Regards,
Arnout

package/qt6/qt6base/qt6base.mk line 14

Quoted 13 lines
package/qt6/qt6base/qt6base.mk +2 -0
index c67d94e193..7a0838b2bc 100644
@@ -7,6 +7,8 @@
  QT6BASE_VERSION = $(QT6_VERSION)
  QT6BASE_SITE = $(QT6_SITE)
  QT6BASE_SOURCE = qtbase-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6BASE_VERSION).tar.xz
+QT6BASE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
+QT6BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
  QT6BASE_DEPENDENCIES = \
  	host-ninja \
  	host-qt6base \

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#5 lore raw

PATCH v4 3/29 package/qt6/qt6base: add support for network module

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 9 +++++++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 15 insertions(+)
package/qt6/qt6base/Config.in +9 -0
index a489ce39fc..68bca728e2 100644
@@ -14,3 +14,12 @@ config BR2_PACKAGE_QT6BASE
 	  QtWidgets, etc.
 
 	  http://qt.io
+
+if BR2_PACKAGE_QT6BASE
+
+config BR2_PACKAGE_QT6BASE_NETWORK
+	bool "network module"
+	help
+	  This options enables the Qt6Network library.
+
+endif
package/qt6/qt6base/qt6base.mk +6 -0
index 7a0838b2bc..b4b6450bf1 100644
@@ -77,5 +77,11 @@ define HOST_QT6BASE_INSTALL_CMDS
 	$(HOST_MAKE_ENV) $(BR2_CMAKE) --install $(HOST_QT6BASE_BUILDDIR)
 endef
 
+ifeq ($(BR2_PACKAGE_QT6BASE_NETWORK),y)
+QT6BASE_CONF_OPTS += -DFEATURE_network=ON
+else
+QT6BASE_CONF_OPTS += -DFEATURE_network=OFF
+endif
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#6 lore raw

Re: [Buildroot] [PATCH v4 03/29] package/qt6/qt6base: add support for network module

Quoted 5 lines · On Fri, 26 Aug 2022 15:54:37 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 9 +++++++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 15 insertions(+)

Applied to next, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#7 lore raw

PATCH v4 4/29 package/qt6/qt6base: add support for concurrent module

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)
package/qt6/qt6base/Config.in +5 -0
index 68bca728e2..fe488f1cc9 100644
@@ -17,6 +17,11 @@ config BR2_PACKAGE_QT6BASE
 
 if BR2_PACKAGE_QT6BASE
 
+config BR2_PACKAGE_QT6BASE_CONCURRENT
+	bool "concurrent module"
+	help
+	  This options enables the Qt6Concurrent library.
+
 config BR2_PACKAGE_QT6BASE_NETWORK
 	bool "network module"
 	help
package/qt6/qt6base/qt6base.mk +6 -0
index b4b6450bf1..302aecab31 100644
@@ -83,5 +83,11 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_network=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_CONCURRENT),y)
+QT6BASE_CONF_OPTS += -DFEATURE_concurrent=ON
+else
+QT6BASE_CONF_OPTS += -DFEATURE_concurrent=OFF
+endif
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#8 lore raw

Re: [Buildroot] [PATCH v4 04/29] package/qt6/qt6base: add support for concurrent module

Quoted 5 lines · On Fri, 26 Aug 2022 15:54:38 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)

Applied to next, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#9 lore raw

PATCH v4 5/29 package/qt6/qt6base: add support for xml module

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)
package/qt6/qt6base/Config.in +5 -0
index fe488f1cc9..41c04fc5f6 100644
@@ -27,4 +27,9 @@ config BR2_PACKAGE_QT6BASE_NETWORK
 	help
 	  This options enables the Qt6Network library.
 
+config BR2_PACKAGE_QT6BASE_XML
+	bool "XML module"
+	help
+	  This options enables the Qt6Xml library.
+
 endif
package/qt6/qt6base/qt6base.mk +6 -0
index 302aecab31..1af24334a9 100644
@@ -89,5 +89,11 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_concurrent=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_XML),y)
+QT6BASE_CONF_OPTS += -DFEATURE_xml=ON
+else
+QT6BASE_CONF_OPTS += -DFEATURE_xml=OFF
+endif
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#10 lore raw

Re: [Buildroot] [PATCH v4 05/29] package/qt6/qt6base: add support for xml module

Quoted 5 lines · On Fri, 26 Aug 2022 15:54:39 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)

Applied to next, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#11 lore raw

PATCH v4 6/29 package/qt6/qt6base: add support for test module

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)
package/qt6/qt6base/Config.in +5 -0
index 41c04fc5f6..354e02280a 100644
@@ -27,6 +27,11 @@ config BR2_PACKAGE_QT6BASE_NETWORK
 	help
 	  This options enables the Qt6Network library.
 
+config BR2_PACKAGE_QT6BASE_TEST
+	bool "test module"
+	help
+	  This options enables the Qt6Test library.
+
 config BR2_PACKAGE_QT6BASE_XML
 	bool "XML module"
 	help
package/qt6/qt6base/qt6base.mk +6 -0
index 1af24334a9..fd1e0a2847 100644
@@ -89,6 +89,12 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_concurrent=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_TEST),y)
+QT6BASE_CONF_OPTS += -DFEATURE_testlib=ON
+else
+QT6BASE_CONF_OPTS += -DFEATURE_testlib=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_XML),y)
 QT6BASE_CONF_OPTS += -DFEATURE_xml=ON
 else
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#12 lore raw

Re: [Buildroot] [PATCH v4 06/29] package/qt6/qt6base: add support for test module

Quoted 5 lines · On Fri, 26 Aug 2022 15:54:40 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)

Applied to next, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#13 lore raw

PATCH v4 7/29 package/qt6/qt6base: add support for dbus module

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  |  8 ++++++++
 package/qt6/qt6base/qt6base.mk | 11 +++++++++++
 2 files changed, 19 insertions(+)
package/qt6/qt6base/Config.in +8 -0
index 354e02280a..2d4a4df223 100644
@@ -22,6 +22,14 @@ config BR2_PACKAGE_QT6BASE_CONCURRENT
 	help
 	  This options enables the Qt6Concurrent library.
 
+config BR2_PACKAGE_QT6BASE_DBUS
+	bool "DBus module"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU
+	select BR2_PACKAGE_DBUS
+	help
+	  This option enables the D-Bus module.
+
 config BR2_PACKAGE_QT6BASE_NETWORK
 	bool "network module"
 	help
package/qt6/qt6base/qt6base.mk +11 -0
index fd1e0a2847..fdb3377eb4 100644
@@ -77,6 +77,17 @@ define HOST_QT6BASE_INSTALL_CMDS
 	$(HOST_MAKE_ENV) $(BR2_CMAKE) --install $(HOST_QT6BASE_BUILDDIR)
 endef
 
+ifeq ($(BR2_PACKAGE_QT6BASE_DBUS),y)
+QT6BASE_CONF_OPTS += -DFEATURE_dbus=ON
+QT6BASE_CONF_OPTS += -DINPUT_dbus=linked
+QT6BASE_DEPENDENCIES += dbus
+HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=ON
+HOST_QT6BASE_DEPENDENCIES += host-dbus
+else
+QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
+HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_NETWORK),y)
 QT6BASE_CONF_OPTS += -DFEATURE_network=ON
 else
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#14 lore raw

Re: [Buildroot] [PATCH v4 07/29] package/qt6/qt6base: add support for dbus module

Quoted 30 lines · On Fri, 26 Aug 2022 15:54:41 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  |  8 ++++++++
 package/qt6/qt6base/qt6base.mk | 11 +++++++++++
 2 files changed, 19 insertions(+)
package/qt6/qt6base/Config.in +8 -0
index 354e02280a..2d4a4df223 100644
@@ -22,6 +22,14 @@ config BR2_PACKAGE_QT6BASE_CONCURRENT
 	help
 	  This options enables the Qt6Concurrent library.
 
+config BR2_PACKAGE_QT6BASE_DBUS
+	bool "DBus module"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU
+	select BR2_PACKAGE_DBUS
+	help
+	  This option enables the D-Bus module.
+
 config BR2_PACKAGE_QT6BASE_NETWORK
 	bool "network module"
 	help
package/qt6/qt6base/qt6base.mk +0 -0
index fd1e0a2847..fdb3377eb4 100644

package/qt6/qt6base/qt6base.mk define HOST_QT6BASE_INSTALL_CMDS · line 85

Quoted 9 lines
package/qt6/qt6base/qt6base.mk +6 -0
@@ -77,6 +77,17 @@ define HOST_QT6BASE_INSTALL_CMDS
 	$(HOST_MAKE_ENV) $(BR2_CMAKE) --install $(HOST_QT6BASE_BUILDDIR)
 endef
 
+ifeq ($(BR2_PACKAGE_QT6BASE_DBUS),y)
+QT6BASE_CONF_OPTS += -DFEATURE_dbus=ON
+QT6BASE_CONF_OPTS += -DINPUT_dbus=linked
+QT6BASE_DEPENDENCIES += dbus
+HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=ON
+HOST_QT6BASE_DEPENDENCIES += host-dbus

I've added a comment to explain why this is necessary, and I've applied to next.

Thanks!

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#15 lore raw

PATCH v4 8/29 package/qt6/qt6base: add support for syslog backend

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)
package/qt6/qt6base/Config.in +5 -0
index 2d4a4df223..f3e56aefa4 100644
@@ -35,6 +35,11 @@ config BR2_PACKAGE_QT6BASE_NETWORK
 	help
 	  This options enables the Qt6Network library.
 
+config BR2_PACKAGE_QT6BASE_SYSLOG
+	bool "syslog support"
+	help
+	  Logs to the standard UNIX logging mechanism.
+
 config BR2_PACKAGE_QT6BASE_TEST
 	bool "test module"
 	help
package/qt6/qt6base/qt6base.mk +6 -0
index fdb3377eb4..a399f53e6c 100644
@@ -112,5 +112,11 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_xml=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_SYSLOG),y)
+QT6BASE_CONF_OPTS += -DFEATURE_syslog=ON
+else
+QT6BASE_CONF_OPTS += -DFEATURE_syslog=OFF
+endif
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#16 lore raw

Re: [Buildroot] [PATCH v4 08/29] package/qt6/qt6base: add support for syslog backend

Quoted 5 lines · On Fri, 26 Aug 2022 15:54:42 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 5 +++++
 package/qt6/qt6base/qt6base.mk | 6 ++++++
 2 files changed, 11 insertions(+)

Applied to next, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#17 lore raw

PATCH v4 9/29 package/qt6/qt6base: add qt support for journald when using systemd

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/qt6/qt6base/qt6base.mk +7 -0
index a399f53e6c..31912f9462 100644
@@ -112,6 +112,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_xml=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+QT6BASE_CONF_OPTS += -DFEATURE_journald=ON
+QT6BASE_DEPENDENCIES += systemd
+else
+QT6BASE_CONF_OPTS += -DFEATURE_journald=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_SYSLOG),y)
 QT6BASE_CONF_OPTS += -DFEATURE_syslog=ON
 else
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#18 lore raw

Re: [Buildroot] [PATCH v4 09/29] package/qt6/qt6base: add qt support for journald when using systemd

Quoted 4 lines · On Fri, 26 Aug 2022 15:54:43 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#19 lore raw

PATCH v4 10/29 package/qt6/qt6base: add qt support for zstd when using the package

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/qt6/qt6base/qt6base.mk +7 -0
index 31912f9462..21c15607d6 100644
@@ -119,6 +119,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_journald=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_ZSTD),y)
+QT6BASE_CONF_OPTS += -DFEATURE_zstd=ON
+QT6BASE_DEPENDENCIES += zstd
+else
+QT6BASE_CONF_OPTS += -DFEATURE_zstd=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_SYSLOG),y)
 QT6BASE_CONF_OPTS += -DFEATURE_syslog=ON
 else
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#20 lore raw

Re: [Buildroot] [PATCH v4 10/29] package/qt6/qt6base: add qt support for zstd when using the package

Quoted 4 lines · On Fri, 26 Aug 2022 15:54:44 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#21 lore raw

PATCH v4 11/29 package/qt6/qt6base: add qt support for SSE/AVX SIMD extensions

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
package/qt6/qt6base/qt6base.mk +19 -0
index 21c15607d6..8bca29900e 100644
@@ -35,6 +35,25 @@ QT6BASE_CONF_OPTS = \
 	-DFEATURE_system_zlib=ON \
 	-DFEATURE_system_libb2=ON
 
+QT6BASE_CONF_OPTS += -DFEATURE_sse2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse4_1=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse4_2=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_ssse3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_avx=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_avx2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF)
+# no buildroot BR2_X86_CPU_HAS_AVX512 option yet
+QT6BASE_CONF_OPTS += \
+	-DFEATURE_avx512bw=OFF \
+	-DFEATURE_avx512cd=OFF \
+	-DFEATURE_avx512dq=OFF \
+	-DFEATURE_avx512er=OFF \
+	-DFEATURE_avx512f=OFF \
+	-DFEATURE_avx512ifma=OFF \
+	-DFEATURE_avx512pf=OFF \
+	-DFEATURE_avx512vbmi=OFF \
+	-DFEATURE_avx512vl=OFF
+
 define QT6BASE_BUILD_CMDS
 	$(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6BASE_BUILDDIR)
 endef
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#22 lore raw

Re: [Buildroot] [PATCH v4 11/29] package/qt6/qt6base: add qt support for SSE/AVX SIMD extensions

Quoted 11 lines · On Fri, 26 Aug 2022 15:54:45 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/qt6base.mk | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
package/qt6/qt6base/qt6base.mk +0 -0
index 21c15607d6..8bca29900e 100644
@@ -35,6 +35,25 @@ QT6BASE_CONF_OPTS = \
 	-DFEATURE_system_zlib=ON \

package/qt6/qt6base/qt6base.mk QT6BASE_CONF_OPTS = \ · line 45

Quoted 10 lines
package/qt6/qt6base/qt6base.mk +8 -0
 	-DFEATURE_system_libb2=ON
 
+QT6BASE_CONF_OPTS += -DFEATURE_sse2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse4_1=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse4_2=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_ssse3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_avx=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_avx2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF)
+# no buildroot BR2_X86_CPU_HAS_AVX512 option yet

This is not true: we do have a BR2_X86_CPU_HAS_AVX512 option, but my understanding of AVX512 is too limited to know how that maps to those individual avx512xyz options, so I kept them disabled as you did, but with a different explanation.

Also, I grouped the whole thing into a single assignment to QT6BASE_CONF_OPTS.

And of course applied the result:

https://gitlab.com/buildroot.org/buildroot/-/commit/3b395c1574299147b41602aa471a76c98db9a1cc

Thanks!

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#23 lore raw

Re: [Buildroot] [PATCH v4 11/29] package/qt6/qt6base: add qt support for SSE/AVX SIMD extensions

Op zo 18 sep. 2022 om 11:57 schreef Thomas Petazzoni <[email protected]>:

Quoted 38 lines
Quoted 11 lines · On Fri, 26 Aug 2022 15:54:45 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/qt6base.mk | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
package/qt6/qt6base/qt6base.mk +0 -0
index 21c15607d6..8bca29900e 100644
@@ -35,6 +35,25 @@ QT6BASE_CONF_OPTS = \
      -DFEATURE_system_zlib=ON \

package/qt6/qt6base/qt6base.mk QT6BASE_CONF_OPTS = \ · line 45

Quoted 10 lines
package/qt6/qt6base/qt6base.mk +8 -0
      -DFEATURE_system_libb2=ON
 
+QT6BASE_CONF_OPTS += -DFEATURE_sse2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse4_1=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_sse4_2=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_ssse3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_avx=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF)
+QT6BASE_CONF_OPTS += -DFEATURE_avx2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF)
+# no buildroot BR2_X86_CPU_HAS_AVX512 option yet

This is not true: we do have a BR2_X86_CPU_HAS_AVX512 option, but my understanding of AVX512 is too limited to know how that maps to those individual avx512xyz options, so I kept them disabled as you did, but with a different explanation.

Also, I grouped the whole thing into a single assignment to QT6BASE_CONF_OPTS.

And of course applied the result:

https://gitlab.com/buildroot.org/buildroot/-/commit/3b395c1574299147b41602aa471a76c98db9a1cc

Quoted 7 lines

Thanks!

Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training
https://bootlin.com

Hey Thomas,

You're right! I missed that being added and it didn't exist at the time I started working on it so I'll see if I can revisit this topic later on.

Regards,
Jesse
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#24 lore raw

PATCH v4 12/29 package/qt6/qt6base: add linking to libatomic

In reply to Jesse Van Gavere

This patch might not be necessary for qt6 but I can't find anything indicating so, Yann E. made the original commit for this on qt5 so he might be aware of current necessity

---
 package/qt6/qt6base/qt6base.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/qt6/qt6base/qt6base.mk +5 -0
index 8bca29900e..c04564d132 100644
@@ -151,5 +151,10 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_syslog=OFF
 endif
 
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+# Qt needs atomics, which on various architectures are in -latomic
+QT6BASE_CONF_OPTS += -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
+endif
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#25 lore raw

Re: [Buildroot] [PATCH v4 12/29] package/qt6/qt6base: add linking to libatomic

Quoted 3 lines · On Fri, 26 Aug 2022 15:54:46 +0200 Jesse Van Gavere <[email protected]> wrote:

This patch might not be necessary for qt6 but I can't find anything indicating so, Yann E. made the original commit for this on qt5 so he might be aware of current necessity

I also imagine that linking with libatomic will be necessary, but before applying a patch that does this, I would like to have some actual evidence. There are currently only two build failures for qt6base in the autobuilders, and they are not related to libatomic issues.

So for now, I'll mark this patch as Rejected, but we can obviously revisit if we get a confirmation that it is indeed needed.

Thanks!

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#26 lore raw

PATCH v4 13/29 package/qt6/qt6base: add support to link qt to openssl

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/qt6/qt6base/qt6base.mk +7 -0
index c04564d132..0826a0be07 100644
@@ -96,6 +96,13 @@ define HOST_QT6BASE_INSTALL_CMDS
 	$(HOST_MAKE_ENV) $(BR2_CMAKE) --install $(HOST_QT6BASE_BUILDDIR)
 endef
 
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+QT6BASE_CONF_OPTS += -DINPUT_openssl=yes
+QT6BASE_DEPENDENCIES += openssl
+else
+QT6BASE_CONF_OPTS += -DINPUT_openssl=no
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_DBUS),y)
 QT6BASE_CONF_OPTS += -DFEATURE_dbus=ON
 QT6BASE_CONF_OPTS += -DINPUT_dbus=linked
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#27 lore raw

Re: [Buildroot] [PATCH v4 13/29] package/qt6/qt6base: add support to link qt to openssl

Quoted 4 lines · On Fri, 26 Aug 2022 15:54:47 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#28 lore raw

PATCH v4 14/29 package/qt6/qt6base: add qt icu support

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 15 +++++++++++++++
 package/qt6/qt6base/qt6base.mk |  7 +++++++
 2 files changed, 22 insertions(+)
package/qt6/qt6base/Config.in +15 -0
index f3e56aefa4..0fc54a6c27 100644
@@ -30,6 +30,21 @@ config BR2_PACKAGE_QT6BASE_DBUS
 	help
 	  This option enables the D-Bus module.
 
+config BR2_PACKAGE_QT6BASE_ICU
+	bool "Enable ICU support"
+	depends on !BR2_BINFMT_FLAT # icu
+	depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # icu
+	select BR2_PACKAGE_ICU
+	help
+	  This option enables ICU support in Qt6. This is for example
+	  needed for Qt6Webkit.
+
+comment "icu support needs a toolchain w/ gcc >= 4.9, host gcc >= 4.9"
+	depends on !BR2_BINFMT_FLAT
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
+		!BR2_HOST_GCC_AT_LEAST_4_9
+
 config BR2_PACKAGE_QT6BASE_NETWORK
 	bool "network module"
 	help
package/qt6/qt6base/qt6base.mk +7 -0
index 0826a0be07..47512fcab6 100644
@@ -114,6 +114,13 @@ QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
 HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_ICU),y)
+QT6BASE_CONF_OPTS += -DFEATURE_icu=ON
+QT6BASE_DEPENDENCIES += icu
+else
+QT6BASE_CONF_OPTS += -DFEATURE_icu=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_NETWORK),y)
 QT6BASE_CONF_OPTS += -DFEATURE_network=ON
 else
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#29 lore raw

Re: [Buildroot] [PATCH v4 14/29] package/qt6/qt6base: add qt icu support

Quoted 5 lines · On Fri, 26 Aug 2022 15:54:48 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 15 +++++++++++++++
 package/qt6/qt6base/qt6base.mk |  7 +++++++
 2 files changed, 22 insertions(+)

I have applied, but I dropped the BR2_PACKAGE_QT6BASE_ICU and simply tested BR2_PACKAGE_ICU in qt6base.mk directly, like you did for OpenSSL. I know qt5base is done differently, but I'm not sure of the reasoning.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#30 lore raw

PATCH v4 15/29 package/qt6/qt6base: add qt libudev support

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/qt6/qt6base/qt6base.mk +7 -0
index 47512fcab6..3e94eaacb3 100644
@@ -96,6 +96,13 @@ define HOST_QT6BASE_INSTALL_CMDS
 	$(HOST_MAKE_ENV) $(BR2_CMAKE) --install $(HOST_QT6BASE_BUILDDIR)
 endef
 
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
+QT6BASE_CONF_OPTS += -DFEATURE_libudev=ON
+QT6BASE_DEPENDENCIES += udev
+else
+QT6BASE_CONF_OPTS += -DFEATURE_libudev=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 QT6BASE_CONF_OPTS += -DINPUT_openssl=yes
 QT6BASE_DEPENDENCIES += openssl
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#31 lore raw

Re: [Buildroot] [PATCH v4 15/29] package/qt6/qt6base: add qt libudev support

Quoted 4 lines · On Fri, 26 Aug 2022 15:54:49 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#32 lore raw

PATCH v4 16/29 package/qt6/qt6base: add qt libglib2 support

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/qt6/qt6base/qt6base.mk +7 -0
index 3e94eaacb3..87ebc59cd6 100644
@@ -121,6 +121,13 @@ QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
 HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+QT6BASE_CONF_OPTS += -DFEATURE_glib=ON
+QT6BASE_DEPENDENCIES += libglib2
+else
+QT6BASE_CONF_OPTS += -DFEATURE_glib=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_QT6BASE_ICU),y)
 QT6BASE_CONF_OPTS += -DFEATURE_icu=ON
 QT6BASE_DEPENDENCIES += icu
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#33 lore raw

Re: [Buildroot] [PATCH v4 16/29] package/qt6/qt6base: add qt libglib2 support

Quoted 4 lines · On Fri, 26 Aug 2022 15:54:50 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)

Applied to master, thanks.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#34 lore raw

PATCH v4 17/29 package/qt6/qt6base: add support for passing custom options

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 10 ++++++++++
 package/qt6/qt6base/qt6base.mk |  3 +++
 2 files changed, 13 insertions(+)
package/qt6/qt6base/Config.in +10 -0
index 0fc54a6c27..25f848f7a7 100644
@@ -22,6 +22,16 @@ config BR2_PACKAGE_QT6BASE_CONCURRENT
 	help
 	  This options enables the Qt6Concurrent library.
 
+config BR2_PACKAGE_QT6BASE_CUSTOM_CONF_OPTS
+	string "Custom configuration options"
+	help
+	  Define custom qt6 configuration options which can be used to
+	  enable or disable options not managed by buildroot. These
+	  options are appended to the ones generated by buildroot and
+	  passed to qt6base during configuration.
+
+	  Use cmake style '-Doption_name=ON' or -Doption_name=OFF'.
+
 config BR2_PACKAGE_QT6BASE_DBUS
 	bool "DBus module"
 	depends on BR2_TOOLCHAIN_HAS_THREADS
package/qt6/qt6base/qt6base.mk +3 -0
index 87ebc59cd6..ffb03314ec 100644
@@ -184,5 +184,8 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
 QT6BASE_CONF_OPTS += -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
 endif
 
+# Must be last so can override all options set by Buildroot
+QT6BASE_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_QT6BASE_CUSTOM_CONF_OPTS))
+
 $(eval $(cmake-package))
 $(eval $(host-cmake-package))
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#35 lore raw

Re: [Buildroot] [PATCH v4 17/29] package/qt6/qt6base: add support for passing custom options

Quoted 5 lines · On Fri, 26 Aug 2022 15:54:51 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 10 ++++++++++
 package/qt6/qt6base/qt6base.mk |  3 +++
 2 files changed, 13 insertions(+)

In Qt5, there were indeed zillions of options to fine-tune a lot of things. Is that still the same in Qt6? I'd like to see some evidence/facts, and not just copy/pasting what was done in qt5base just because it was done in qt5base.

Thomas

Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#36 lore raw

Re: [Buildroot] [PATCH v4 17/29] package/qt6/qt6base: add support for passing custom options

Op zo 18 sep. 2022 om 12:41 schreef Thomas Petazzoni < [email protected]>:

Quoted 15 lines
Quoted 5 lines · On Fri, 26 Aug 2022 15:54:51 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 10 ++++++++++
 package/qt6/qt6base/qt6base.mk |  3 +++
 2 files changed, 13 insertions(+)

In Qt5, there were indeed zillions of options to fine-tune a lot of things. Is that still the same in Qt6? I'd like to see some evidence/facts, and not just copy/pasting what was done in qt5base just because it was done in qt5base.

Quoted 5 lines

Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Hey Thomas,

In true Qt fashion there is still indeed many dozens of configuration options, some of them are listed here
https://github.com/qt/qtbase/blob/dev/cmake/configure-cmake-mapping.md and as you can see there some of those options are not covered by us but might want to be turned off, but if you dig deeper into what can be configured (using ccmake on the qt6 build folder with the main modules turned on is useful to get a good overview) you can see a lot of other options that aren't very obvious or easily found but I still found are very useful to have the ability to turn them off to reduce the library size, an example of this would be calendar features such as jalalicalendar/islamiccivilcalendar. And there are a bunch of little configuration options that can make for some easy space savings, which I did think about adding to create some visibility on what's out there to reduce the library size, though decided against for now until this patch series is processed, but even then it's unlikely we'll ever cover every single configuration option so I do think there's value in keeping this for those that want to push it to the limit space wise.

Regards,
Jesse

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#37 lore raw

PATCH v4 18/29 package/qt6/qt6base: add support for sql module w/ mysql

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 18 ++++++++++++++++++
 package/qt6/qt6base/qt6base.mk | 16 ++++++++++++++++
 2 files changed, 34 insertions(+)
package/qt6/qt6base/Config.in +18 -0
index 25f848f7a7..9509fa5be9 100644
@@ -60,6 +60,24 @@ config BR2_PACKAGE_QT6BASE_NETWORK
 	help
 	  This options enables the Qt6Network library.
 
+config BR2_PACKAGE_QT6BASE_SQL
+	bool "sql module"
+	help
+	  This options enables the Qt6Sql library.
+
+if BR2_PACKAGE_QT6BASE_SQL
+config BR2_PACKAGE_QT6BASE_MYSQL
+	bool "MySQL Plugin"
+	depends on BR2_USE_MMU # mysql
+	select BR2_PACKAGE_MYSQL
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_READLINE
+	help
+	  Build MySQL plugin
+	  If unsure, say n.
+
+endif
+
 config BR2_PACKAGE_QT6BASE_SYSLOG
 	bool "syslog support"
 	help
package/qt6/qt6base/qt6base.mk +16 -0
index ffb03314ec..0061a69c63 100644
@@ -103,6 +103,22 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_libudev=OFF
 endif
 
+# Qt6 SQL Plugins
+ifeq ($(BR2_PACKAGE_QT6BASE_SQL),y)
+QT6BASE_CONF_OPTS += -DFEATURE_sql=ON
+QT6BASE_CONF_OPTS += -DFEATURE_sql_db2=OFF -DFEATURE_sql_ibase=OFF -DFEATURE_sql_oci=OFF -DFEATURE_sql_odbc=OFF
+
+ifeq ($(BR2_PACKAGE_QT6BASE_MYSQL),y)
+QT6BASE_CONF_OPTS += -DFEATURE_sql_mysql=ON
+QT6BASE_DEPENDENCIES += mysql
+else
+QT6BASE_CONF_OPTS += -DFEATURE_sql_mysql=OFF
+endif
+
+else
+QT6BASE_CONF_OPTS += -DFEATURE_sql=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 QT6BASE_CONF_OPTS += -DINPUT_openssl=yes
 QT6BASE_DEPENDENCIES += openssl
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#38 lore raw

Re: [Buildroot] [PATCH v4 18/29] package/qt6/qt6base: add support for sql module w/ mysql

Hello Jesse,

package/qt6/qt6base/Config.in config BR2_PACKAGE_QT6BASE_NETWORK · line 71

Quoted 4 lines · On Fri, 26 Aug 2022 15:54:52 +0200 Jesse Van Gavere <[email protected]> wrote:
package/qt6/qt6base/Config.in +4 -0
+if BR2_PACKAGE_QT6BASE_SQL
+config BR2_PACKAGE_QT6BASE_MYSQL
+	bool "MySQL Plugin"
+	depends on BR2_USE_MMU # mysql

I have replicated all dependencies of mysql for the sake of completeness.

package/qt6/qt6base/Config.in config BR2_PACKAGE_QT6BASE_NETWORK · line 74

Quoted 3 lines
package/qt6/qt6base/Config.in +3 -0
+	select BR2_PACKAGE_MYSQL
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_READLINE

ncurses and readline don't seem to be needed. They were not even build-time dependencies anyway, so I dropped these lines.

package/qt6/qt6base/Config.in config BR2_PACKAGE_QT6BASE_NETWORK · line 77

Quoted 3 lines
package/qt6/qt6base/Config.in +3 -0
+	help
+	  Build MySQL plugin
+	  If unsure, say n.

The "If unsure, say n" is a bit useless, so I dropped it.

Applied with those changes, thanks!

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#39 lore raw

PATCH v4 19/29 package/qt6/qt6base: add support for sql module w/ postgresql

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 14 ++++++++++++++
 package/qt6/qt6base/qt6base.mk |  7 +++++++
 2 files changed, 21 insertions(+)
package/qt6/qt6base/Config.in +14 -0
index 9509fa5be9..79b6d675c5 100644
@@ -76,6 +76,20 @@ config BR2_PACKAGE_QT6BASE_MYSQL
 	  Build MySQL plugin
 	  If unsure, say n.
 
+config BR2_PACKAGE_QT6BASE_PSQL
+	bool "PostgreSQL Plugin"
+	depends on BR2_USE_MMU # postgresql
+	depends on !BR2_STATIC_LIBS
+	depends on BR2_USE_WCHAR # postgresql
+	select BR2_PACKAGE_POSTGRESQL
+	help
+	  Build PostgreSQL plugin
+	  If unsure, say n.
+
+comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library"
+	depends on BR2_USE_MMU
+	depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR
+
 endif
 
 config BR2_PACKAGE_QT6BASE_SYSLOG
package/qt6/qt6base/qt6base.mk +7 -0
index 0061a69c63..3925dee83b 100644
@@ -115,6 +115,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_sql_mysql=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_PSQL),y)
+QT6BASE_CONF_OPTS += -DFEATURE_sql_psql=ON
+QT6BASE_DEPENDENCIES += postgresql
+else
+QT6BASE_CONF_OPTS += -DFEATURE_sql_psql=OFF
+endif
+
 else
 QT6BASE_CONF_OPTS += -DFEATURE_sql=OFF
 endif
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#40 lore raw

Re: [Buildroot] [PATCH v4 19/29] package/qt6/qt6base: add support for sql module w/ postgresql

Quoted 11 lines · On Fri, 26 Aug 2022 15:54:53 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 14 ++++++++++++++
 package/qt6/qt6base/qt6base.mk |  7 +++++++
 2 files changed, 21 insertions(+)
package/qt6/qt6base/Config.in +0 -0
index 9509fa5be9..79b6d675c5 100644

package/qt6/qt6base/Config.in config BR2_PACKAGE_QT6BASE_MYSQL · line 83

Quoted 8 lines
package/qt6/qt6base/Config.in +5 -0
@@ -76,6 +76,20 @@ config BR2_PACKAGE_QT6BASE_MYSQL
 	  Build MySQL plugin
 	  If unsure, say n.
 
+config BR2_PACKAGE_QT6BASE_PSQL
+	bool "PostgreSQL Plugin"
+	depends on BR2_USE_MMU # postgresql
+	depends on !BR2_STATIC_LIBS
+	depends on BR2_USE_WCHAR # postgresql

Some dependencies of postgresql were missing, so I updated that.

package/qt6/qt6base/Config.in config BR2_PACKAGE_QT6BASE_MYSQL · line 87

Quoted 4 lines
package/qt6/qt6base/Config.in +4 -0
+	select BR2_PACKAGE_POSTGRESQL
+	help
+	  Build PostgreSQL plugin
+	  If unsure, say n.

Dropped this line.

package/qt6/qt6base/Config.in config BR2_PACKAGE_QT6BASE_MYSQL · line 91

Quoted 4 lines
package/qt6/qt6base/Config.in +4 -0
+
+comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library"
+	depends on BR2_USE_MMU
+	depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR

Adjusted the comments here to take into account other postgresql dependencies.

And applied!

Thanks a lot!

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#41 lore raw

PATCH v4 20/29 package/qt6/qt6base: add support for sql module w/ sqlite

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 25 +++++++++++++++++++++++++
 package/qt6/qt6base/qt6base.mk |  9 +++++++++
 2 files changed, 34 insertions(+)
package/qt6/qt6base/Config.in +25 -0
index 79b6d675c5..5ae11afdb1 100644
@@ -90,6 +90,31 @@ comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library"
 	depends on BR2_USE_MMU
 	depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR
 
+choice
+	prompt "SQLite 3 support"
+	default BR2_PACKAGE_QT6BASE_SQLITE_NONE
+	help
+	  Select SQLite support.
+
+config BR2_PACKAGE_QT6BASE_SQLITE_NONE
+	bool "No sqlite support"
+	help
+	  Do not compile any kind of SQLite support.
+
+config BR2_PACKAGE_QT6BASE_SQLITE_QT
+	bool "Qt SQLite"
+	help
+	  Use Qt bundled SQLite support.
+
+config BR2_PACKAGE_QT6BASE_SQLITE_SYSTEM
+	bool "System SQLite"
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA
+	help
+	  Use system SQLite.
+
+endchoice
+
 endif
 
 config BR2_PACKAGE_QT6BASE_SYSLOG
package/qt6/qt6base/qt6base.mk +9 -0
index 3925dee83b..e7c403b75a 100644
@@ -122,6 +122,15 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_sql_psql=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_QT6BASE_SQLITE_SYSTEM),y)
+QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=ON -DFEATURE_system_sqlite=ON
+QT6BASE_DEPENDENCIES += sqlite
+else ifeq ($(BR2_PACKAGE_QT6BASE_SQLITE_QT),y)
+QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=ON -DFEATURE_system_sqlite=OFF
+else
+QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=OFF
+endif
+
 else
 QT6BASE_CONF_OPTS += -DFEATURE_sql=OFF
 endif
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#42 lore raw

Re: [Buildroot] [PATCH v4 20/29] package/qt6/qt6base: add support for sql module w/ sqlite

Quoted 26 lines · On Fri, 26 Aug 2022 15:54:54 +0200 Jesse Van Gavere <[email protected]> wrote:
---
 package/qt6/qt6base/Config.in  | 25 +++++++++++++++++++++++++
 package/qt6/qt6base/qt6base.mk |  9 +++++++++
 2 files changed, 34 insertions(+)
package/qt6/qt6base/Config.in +12 -0
index 79b6d675c5..5ae11afdb1 100644
@@ -90,6 +90,31 @@ comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library"
 	depends on BR2_USE_MMU
 	depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR
 
+choice
+	prompt "SQLite 3 support"
+	default BR2_PACKAGE_QT6BASE_SQLITE_NONE
+	help
+	  Select SQLite support.
+
+config BR2_PACKAGE_QT6BASE_SQLITE_NONE
+	bool "No sqlite support"
+	help
+	  Do not compile any kind of SQLite support.
+
+config BR2_PACKAGE_QT6BASE_SQLITE_QT

package/qt6/qt6base/Config.in comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library" · line 114

Quoted 10 lines
package/qt6/qt6base/Config.in +10 -0
+	bool "Qt SQLite"
+	help
+	  Use Qt bundled SQLite support.
+
+config BR2_PACKAGE_QT6BASE_SQLITE_SYSTEM
+	bool "System SQLite"
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA
+	help
+	  Use system SQLite.

In Buildroot, we really prefer to use non-bundled dependencies when it is possible. So really the choice no/bundled/system does not make a lot of sense. I have replaced it with a single boolean to enable/disable sqlite support, and if enabled, it always uses the system sqlite.

package/qt6/qt6base/Config.in comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library"

Quoted 8 lines
package/qt6/qt6base/Config.in +8 -0
+ifeq ($(BR2_PACKAGE_QT6BASE_SQLITE_SYSTEM),y)
+QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=ON -DFEATURE_system_sqlite=ON
+QT6BASE_DEPENDENCIES += sqlite
+else ifeq ($(BR2_PACKAGE_QT6BASE_SQLITE_QT),y)
+QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=ON -DFEATURE_system_sqlite=OFF
+else
+QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=OFF
+endif

Consequently this has been simplified as well a little bit.

Applied with those changes. Thanks!

Best regards,

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#43 lore raw

PATCH v4 21/29 package/qt6/qt6base: add support for gui module

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 6 ++++++
 package/qt6/qt6base/qt6base.mk | 8 ++++++++
 2 files changed, 14 insertions(+)
package/qt6/qt6base/Config.in +6 -0
index 5ae11afdb1..710e027602 100644
@@ -40,6 +40,12 @@ 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
+	help
+	  This option enables the Qt6Gui library.
+
 config BR2_PACKAGE_QT6BASE_ICU
 	bool "Enable ICU support"
 	depends on !BR2_BINFMT_FLAT # icu
package/qt6/qt6base/qt6base.mk +8 -0
index e7c403b75a..2e63d0b4f3 100644
@@ -135,6 +135,14 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_sql=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
+
+else
+QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 QT6BASE_CONF_OPTS += -DINPUT_openssl=yes
 QT6BASE_DEPENDENCIES += openssl
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#44 lore raw

PATCH v4 22/29 package/qt6/qt6base: add support for gui module fontconfig/harfbuzz

In reply to Jesse Van Gavere

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

---
 package/qt6/qt6base/Config.in    | 21 +++++++++++++++++++++
 package/qt6/qt6base/qt6base.hash |  1 +
 package/qt6/qt6base/qt6base.mk   | 23 +++++++++++++++++++++++
 3 files changed, 45 insertions(+)
package/qt6/qt6base/Config.in +21 -0
index 710e027602..db510989ca 100644
@@ -46,6 +46,27 @@ config BR2_PACKAGE_QT6BASE_GUI
 	help
 	  This option enables the Qt6Gui library.
 
+if BR2_PACKAGE_QT6BASE_GUI
+
+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_ICU
 	bool "Enable ICU support"
 	depends on !BR2_BINFMT_FLAT # icu
package/qt6/qt6base/qt6base.hash +1 -0
index 5efc5c2815..0f845ce38b 100644
@@ -6,3 +6,4 @@ sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  LICENS
 sha256  0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652  LICENSE.GPL3-EXCEPT
 sha256  88ec689407cf2df9b2eb5c45952564d51ce73c129a3bdffb15c0d2d161ad7558  LICENSE.LGPLv3
 sha256  ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d  LICENSE.FDL
+sha256  2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216  src/3rdparty/harfbuzz-ng/COPYING
package/qt6/qt6base/qt6base.mk +23 -0
index 2e63d0b4f3..ae6c482197 100644
@@ -139,6 +139,29 @@ 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_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
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#45 lore raw

PATCH v4 23/29 package/qt6/qt6base: Add support for gui module jpeg/png/gif image format

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 19 +++++++++++++++++++
 package/qt6/qt6base/qt6base.mk | 20 ++++++++++++++++++++
 2 files changed, 39 insertions(+)
package/qt6/qt6base/Config.in +19 -0
index db510989ca..9533076f54 100644
@@ -65,6 +65,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_ICU
package/qt6/qt6base/qt6base.mk +20 -0
index ae6c482197..029afdd79b 100644
@@ -155,6 +155,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
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#46 lore raw

PATCH v4 24/29 package/qt6/qt6base: add support for gui module widgets/opengl/graphics backends

In reply to Jesse Van Gavere

This is a rather large patch as most of these options interact with each other one way or another, so it's very difficult to split it much further into sensible patches that still work

---
 package/qt6/Config.in          |  5 ++
 package/qt6/qt6base/Config.in  | 98 ++++++++++++++++++++++++++++++++++
 package/qt6/qt6base/qt6base.mk | 84 +++++++++++++++++++++++++++++
 3 files changed, 187 insertions(+)
package/qt6/Config.in +5 -0
index 4b2b9a1174..32f32eb162 100644
@@ -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_AVAILABLE
+	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
package/qt6/qt6base/Config.in +98 -0

109 lines not on this page · raw message

package/qt6/qt6base/qt6base.mk +84 -0

94 lines not on this page · raw message

Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#47 lore raw

PATCH v4 25/29 package/qt6/qt6base: add support for gui module tslib

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  | 6 ++++++
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 2 files changed, 13 insertions(+)
package/qt6/qt6base/Config.in +6 -0
index 52c1ba1421..648afa78a4 100644
@@ -271,6 +271,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
package/qt6/qt6base/qt6base.mk +7 -0
index c4b4876d53..b5b67ec100 100644
@@ -206,6 +206,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_eglfs=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_OPENGL_DESKTOP),y)
 QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengl_desktop=ON
 QT6BASE_DEPENDENCIES += libgl
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#48 lore raw

PATCH v4 26/29 package/qt6/qt6base: add support for gui module libinput

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/qt6/qt6base/qt6base.mk +7 -0
index b5b67ec100..2911555963 100644
@@ -206,6 +206,13 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_eglfs=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
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#49 lore raw

PATCH v4 27/29 package/qt6/qt6base: add support for gui module kms

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/qt6base.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/qt6/qt6base/qt6base.mk +7 -0
index 2911555963..424dc6f754 100644
@@ -175,6 +175,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
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#50 lore raw

PATCH v4 28/29 package/qt6/qt6base: add support for gui module printsupport/cups

In reply to Jesse Van Gavere
---
 package/qt6/qt6base/Config.in  |  4 ++++
 package/qt6/qt6base/qt6base.mk | 12 ++++++++++++
 2 files changed, 16 insertions(+)
package/qt6/qt6base/Config.in +4 -0
index 648afa78a4..ffa5a56b40 100644
@@ -146,6 +146,10 @@ config BR2_PACKAGE_QT6BASE_DEFAULT_QPA
 	  target. You can choose a different platform at runtime with
 	  the -platform option.
 
+config BR2_PACKAGE_QT6BASE_PRINTSUPPORT
+	depends on BR2_PACKAGE_QT6BASE_WIDGETS
+	def_bool y
+
 config BR2_PACKAGE_QT6BASE_FONTCONFIG
 	bool "fontconfig support"
 	select BR2_PACKAGE_FONTCONFIG
package/qt6/qt6base/qt6base.mk +12 -0
index 424dc6f754..9b5328e5f2 100644
@@ -175,6 +175,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
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#51 lore raw

PATCH v4 29/29 package/qt6/qt6base: add support for building examples

In reply to Jesse Van Gavere

Now with dependency on DBus/OpenGL
A minimal set of Qt options was selected for which building the examples started working.

---
 package/qt6/qt6base/Config.in  | 17 +++++++++++++++++
 package/qt6/qt6base/qt6base.mk |  6 ++++++
 2 files changed, 23 insertions(+)
package/qt6/qt6base/Config.in +17 -0
index ffa5a56b40..5c751dc109 100644
@@ -40,6 +40,23 @@ 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_AVAILABLE
+	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
+	help
+	  If unsure, say N.
+
+comment "Building examples needs OpenGL/DBus support"
+	depends on !BR2_PACKAGE_QT6_GL_AVAILABLE || !BR2_PACKAGE_DBUS
+
 config BR2_PACKAGE_QT6BASE_GUI
 	bool "gui module"
 	select BR2_PACKAGE_FREETYPE
package/qt6/qt6base/qt6base.mk +6 -0
index 9b5328e5f2..2324d3825c 100644
@@ -335,6 +335,12 @@ else
 QT6BASE_CONF_OPTS += -DFEATURE_icu=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
Signature · 6 lines
2.34.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot