[Buildroot] [PATCH v3 22/29] package/qt6/qt6base: add support for gui module fontconfig/harfbuzz
Jesse Van Gavere
jesseevg at gmail.com
Fri Aug 26 12:52:45 UTC 2022
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 at gmail.com>
---
package/qt6/qt6base/Config.in | 21 +++++++++++++++++++++
package/qt6/qt6base/qt6base.hash | 1 +
package/qt6/qt6base/qt6base.mk | 23 +++++++++++++++++++++++
3 files changed, 45 insertions(+)
diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in
index 710e027602..db510989ca 100644
--- a/package/qt6/qt6base/Config.in
+++ b/package/qt6/qt6base/Config.in
@@ -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
diff --git a/package/qt6/qt6base/qt6base.hash b/package/qt6/qt6base/qt6base.hash
index 5efc5c2815..0f845ce38b 100644
--- a/package/qt6/qt6base/qt6base.hash
+++ b/package/qt6/qt6base/qt6base.hash
@@ -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
diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk
index 2e63d0b4f3..ae6c482197 100644
--- a/package/qt6/qt6base/qt6base.mk
+++ b/package/qt6/qt6base/qt6base.mk
@@ -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
--
2.34.1
More information about the buildroot
mailing list