summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2022-07-04 09:00:32 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2023-01-31 10:28:06 +0100
commita78e1b48b16e24e9d9e1c6affa788e2604c921d5 (patch)
tree3fd3f4903e24cb40722808c8854bfd6a1fe8cfd3
parentcce4ed5f50fcbf58c64605843f77a4fb5982d851 (diff)
downloadptxdist-a78e1b48b16e24e9d9e1c6affa788e2604c921d5.tar.gz
ptxdist-a78e1b48b16e24e9d9e1c6affa788e2604c921d5.tar.xz
qt6: new package
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--config/qt6/linux-ptx-g++/qmake.conf26
-rw-r--r--config/qt6/linux-ptx-g++/qplatformdefs.h2
-rw-r--r--patches/qt-everywhere-src-6.4.2/0001-HACK-qtwebengine-workaround-for-too-long-file-names.patch39
-rw-r--r--patches/qt-everywhere-src-6.4.2/0002-HACK-don-t-complain-about-unnecessary-host-tools.patch56
-rw-r--r--patches/qt-everywhere-src-6.4.2/0003-ptxdist-qtwebengine-allow-building-with-ptxdist.patch26
-rw-r--r--patches/qt-everywhere-src-6.4.2/0004-fix-building-with-QT_FEATURE_qml_devtools-disabled.patch29
-rw-r--r--patches/qt-everywhere-src-6.4.2/series7
-rw-r--r--rules/host-qt6.in51
-rw-r--r--rules/host-qt6.make451
-rw-r--r--rules/qt6.in546
-rw-r--r--rules/qt6.make1137
11 files changed, 2370 insertions, 0 deletions
diff --git a/config/qt6/linux-ptx-g++/qmake.conf b/config/qt6/linux-ptx-g++/qmake.conf
new file mode 100644
index 000000000..9ac2ff81d
--- /dev/null
+++ b/config/qt6/linux-ptx-g++/qmake.conf
@@ -0,0 +1,26 @@
+#
+# qmake configuration for linux-ptx-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+CONFIG += incremental
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+include(../common/gcc-base-unix.conf)
+include(../common/g++-unix.conf)
+
+# modifications to g++-base.conf
+QMAKE_CC = @COMPILER_PREFIX@gcc
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB = $$QMAKE_CC
+QMAKE_CXX = @COMPILER_PREFIX@g++
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+
+# modifications to linux.conf
+QMAKE_AR = @COMPILER_PREFIX@ar cqs
+QMAKE_OBJCOPY = @COMPILER_PREFIX@objcopy
+QMAKE_NM = @COMPILER_PREFIX@nm -P
+
+load(qt_config)
diff --git a/config/qt6/linux-ptx-g++/qplatformdefs.h b/config/qt6/linux-ptx-g++/qplatformdefs.h
new file mode 100644
index 000000000..05c77d16f
--- /dev/null
+++ b/config/qt6/linux-ptx-g++/qplatformdefs.h
@@ -0,0 +1,2 @@
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/patches/qt-everywhere-src-6.4.2/0001-HACK-qtwebengine-workaround-for-too-long-file-names.patch b/patches/qt-everywhere-src-6.4.2/0001-HACK-qtwebengine-workaround-for-too-long-file-names.patch
new file mode 100644
index 000000000..bf6215b65
--- /dev/null
+++ b/patches/qt-everywhere-src-6.4.2/0001-HACK-qtwebengine-workaround-for-too-long-file-names.patch
@@ -0,0 +1,39 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Tue, 7 Nov 2017 10:20:09 +0100
+Subject: [PATCH] HACK: qtwebengine: workaround for too long file names
+
+Without this building fails with:
+ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_v8_bindings_modules_v8_generated_init_partial__XXX_path_to_the_bsp_platform_XX_build-target_qt-everywhere-opensource-src-5.9.2-build_qtwebengine_src_toolchain_target__rule.rsp): Unable to create file. File name too long
+
+Hack taken from the upstream bugreport:
+https://bugreports.qt.io/browse/QTBUG-59769
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+---
+ qtwebengine/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/qtwebengine/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc b/qtwebengine/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc
+index 7fa361f711e3..861790a5af9d 100644
+--- a/qtwebengine/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc
++++ b/qtwebengine/src/3rdparty/gn/src/gn/ninja_action_target_writer.cc
+@@ -122,9 +122,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() {
+ // strictly necessary for regular one-shot actions, but it's easier to
+ // just always define unique_name.
+ std::string rspfile = custom_rule_name;
++
++ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end
++ //please note ".$unique_name" is not used at the moment
++ int pos = 0;
++ std::string delimiter("_");
++ while (rspfile.length() > 250 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos)
++ rspfile = rspfile.substr(0,pos);
++
+ if (!target_->sources().empty())
+ rspfile += ".$unique_name";
+ rspfile += ".rsp";
++
+ out_ << " rspfile = " << rspfile << std::endl;
+
+ // Response file contents.
diff --git a/patches/qt-everywhere-src-6.4.2/0002-HACK-don-t-complain-about-unnecessary-host-tools.patch b/patches/qt-everywhere-src-6.4.2/0002-HACK-don-t-complain-about-unnecessary-host-tools.patch
new file mode 100644
index 000000000..a8e9c5f12
--- /dev/null
+++ b/patches/qt-everywhere-src-6.4.2/0002-HACK-don-t-complain-about-unnecessary-host-tools.patch
@@ -0,0 +1,56 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Fri, 8 Jul 2022 16:59:49 +0200
+Subject: [PATCH] HACK: don't complain about unnecessary host-tools
+
+The cross build will fail if those tools are not available, but they are
+not actually needed at buildtime.
+
+This avoids building unnecessary stuff in host-qt6.
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ qtdeclarative/tools/CMakeLists.txt | 7 +++++--
+ qtquick3d/tools/CMakeLists.txt | 2 ++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/qtdeclarative/tools/CMakeLists.txt b/qtdeclarative/tools/CMakeLists.txt
+index 5a34fd4c1112..847c60276495 100644
+--- a/qtdeclarative/tools/CMakeLists.txt
++++ b/qtdeclarative/tools/CMakeLists.txt
+@@ -36,9 +36,12 @@ if(QT_FEATURE_qml_preview AND QT_FEATURE_thread AND NOT ANDROID AND NOT WASM AND
+ endif()
+ if(QT_BUILD_SHARED_LIBS AND QT_FEATURE_thread AND TARGET Qt::Quick AND NOT ANDROID AND NOT WASM AND NOT IOS AND NOT rtems)
+ add_subdirectory(qmlscene)
+- add_subdirectory(qmltime)
++ if (NOT CMAKE_CROSSCOMPILING)
++ add_subdirectory(qmltime)
++ endif()
+ endif()
+ if(QT_BUILD_SHARED_LIBS
++ AND NOT CMAKE_CROSSCOMPILING
+ AND QT_FEATURE_process
+ AND QT_FEATURE_regularexpression
+ AND QT_FEATURE_thread
+@@ -66,7 +69,7 @@ if(TARGET Qt::Quick
+ AND NOT rtems)
+ add_subdirectory(qmleasing)
+ endif()
+-if(QT_FEATURE_thread AND TARGET Qt::QuickTest AND NOT ANDROID AND NOT WASM AND NOT rtems)
++if(QT_FEATURE_thread AND TARGET Qt::QuickTest AND NOT ANDROID AND NOT WASM AND NOT rtems AND NOT CMAKE_CROSSCOMPILING)
+ add_subdirectory(qmltestrunner)
+ endif()
+ if(QT_FEATURE_private_tests AND QT_FEATURE_thread AND NOT ANDROID AND NOT WASM AND NOT IOS AND NOT rtems)
+diff --git a/qtquick3d/tools/CMakeLists.txt b/qtquick3d/tools/CMakeLists.txt
+index 6f7b707e466b..0c34d2a5b9dc 100644
+--- a/qtquick3d/tools/CMakeLists.txt
++++ b/qtquick3d/tools/CMakeLists.txt
+@@ -1,3 +1,4 @@
++if (NOT CMAKE_CROSSCOMPILING)
+ add_subdirectory(balsam)
+ if(TARGET Qt::Widgets)
+ if(TARGET Qt::Concurrent)
+@@ -15,3 +16,4 @@ endif()
+ add_subdirectory(instancer)
+ add_subdirectory(shapegen)
+ add_subdirectory(materialeditor)
++endif()
diff --git a/patches/qt-everywhere-src-6.4.2/0003-ptxdist-qtwebengine-allow-building-with-ptxdist.patch b/patches/qt-everywhere-src-6.4.2/0003-ptxdist-qtwebengine-allow-building-with-ptxdist.patch
new file mode 100644
index 000000000..159add33b
--- /dev/null
+++ b/patches/qt-everywhere-src-6.4.2/0003-ptxdist-qtwebengine-allow-building-with-ptxdist.patch
@@ -0,0 +1,26 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Fri, 8 Jul 2022 17:01:15 +0200
+Subject: [PATCH] ptxdist: qtwebengine: allow building with ptxdist
+
+The buildsystem detects some hardware features from CXXFLAGS.
+With ptxdist the relevant flags are hidden in the toolchain defaults, so
+inject them via environment variable.
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ qtwebengine/cmake/Functions.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtwebengine/cmake/Functions.cmake b/qtwebengine/cmake/Functions.cmake
+index 370ea082c81e..d6ad21df1b9f 100644
+--- a/qtwebengine/cmake/Functions.cmake
++++ b/qtwebengine/cmake/Functions.cmake
+@@ -719,7 +719,7 @@ function(extract_cflag result cflag)
+ list(APPEND cflags ${CMAKE_CXX_COMPILER_ARG${i}})
+ math(EXPR i "${i} + 1")
+ endwhile()
+- list(APPEND cflags ${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS})
++ list(APPEND cflags ${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} $ENV{PTX_CMAKE_CFLAGS})
+ string(REPLACE ";" " " cflags "${cflags}")
+ message(DEBUG "Found cflags: ${cflags}")
+ if(cflags MATCHES "-${cflag}=([^ ]+)")
diff --git a/patches/qt-everywhere-src-6.4.2/0004-fix-building-with-QT_FEATURE_qml_devtools-disabled.patch b/patches/qt-everywhere-src-6.4.2/0004-fix-building-with-QT_FEATURE_qml_devtools-disabled.patch
new file mode 100644
index 000000000..2e01eb2f5
--- /dev/null
+++ b/patches/qt-everywhere-src-6.4.2/0004-fix-building-with-QT_FEATURE_qml_devtools-disabled.patch
@@ -0,0 +1,29 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Tue, 22 Nov 2022 20:05:57 +0100
+Subject: [PATCH] fix building with QT_FEATURE_qml_devtools disabled
+
+Without this, building fails with:
+
+CMake Error at qtbase/cmake/QtPluginHelpers.cmake:496 (message):
+ The plug-in 'QmlLintQuickPlugin' does not belong to any Qt module.
+Call Stack (most recent call first):
+ qtbase/cmake/QtPluginHelpers.cmake:189 (qt_internal_get_module_for_plugin)
+ qtdeclarative/src/plugins/qmllint/quick/CMakeLists.txt:1 (qt_internal_add_plugin)
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ qtdeclarative/src/plugins/CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/qtdeclarative/src/plugins/CMakeLists.txt b/qtdeclarative/src/plugins/CMakeLists.txt
+index 7c2c84723e4a..fd7aee88728d 100644
+--- a/qtdeclarative/src/plugins/CMakeLists.txt
++++ b/qtdeclarative/src/plugins/CMakeLists.txt
+@@ -7,4 +7,6 @@ if(TARGET Qt::Quick)
+ add_subdirectory(scenegraph)
+ endif()
+
+-add_subdirectory(qmllint)
++if(QT_FEATURE_qml_devtools)
++ add_subdirectory(qmllint)
++endif()
diff --git a/patches/qt-everywhere-src-6.4.2/series b/patches/qt-everywhere-src-6.4.2/series
new file mode 100644
index 000000000..26e0f9370
--- /dev/null
+++ b/patches/qt-everywhere-src-6.4.2/series
@@ -0,0 +1,7 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-HACK-qtwebengine-workaround-for-too-long-file-names.patch
+0002-HACK-don-t-complain-about-unnecessary-host-tools.patch
+0003-ptxdist-qtwebengine-allow-building-with-ptxdist.patch
+0004-fix-building-with-QT_FEATURE_qml_devtools-disabled.patch
+# d8136d86f1455a02cc63f453769bbf7c - git-ptx-patches magic
diff --git a/rules/host-qt6.in b/rules/host-qt6.in
new file mode 100644
index 000000000..f6bd7f497
--- /dev/null
+++ b/rules/host-qt6.in
@@ -0,0 +1,51 @@
+## SECTION=hosttools_noprompt
+
+config HOST_QT6
+ tristate
+ select HOST_CMAKE
+ select HOST_NINJA
+ select HOST_SYSTEM_PYTHON3 if HOST_QT6_QTDECLARATIVE
+ select HOST_PCRE2
+ select HOST_WAYLAND if HOST_QT6_QTWAYLAND
+ select HOST_ZLIB
+ default y if ALLYES
+
+if HOST_QT6
+
+config HOST_QT6_GUI
+ bool
+
+config HOST_QT6_NETWORK
+ bool
+
+config HOST_QT6_DBUS
+ bool
+
+config HOST_QT6_QTDECLARATIVE
+ bool
+ select HOST_QT6_NETWORK
+
+config HOST_QT6_QTQUICK3D
+ bool
+ select HOST_QT6_QTDECLARATIVE
+
+config HOST_QT6_QTREMOTEOBJECTS
+ bool
+ select HOST_QT6_NETWORK
+
+config HOST_QT6_QTSCXML
+ select HOST_QT6_QTDECLARATIVE
+ bool
+
+config HOST_QT6_QTSHADERTOOLS
+ select HOST_QT6_GUI
+ bool
+
+config HOST_QT6_QTWAYLAND
+ select HOST_QT6_GUI
+ bool
+
+config HOST_QT6_QTWEBENGINE
+ bool
+
+endif
diff --git a/rules/host-qt6.make b/rules/host-qt6.make
new file mode 100644
index 000000000..3fa093399
--- /dev/null
+++ b/rules/host-qt6.make
@@ -0,0 +1,451 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2022 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+HOST_PACKAGES-$(PTXCONF_HOST_QT6) += host-qt6
+
+HOST_QT6_DIR = $(realpath $(HOST_BUILDDIR))/$(HOST_QT6)
+HOST_QT6_BUILD_OOT := YES
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+HOST_QT6_MODULES-y := qtbase
+HOST_QT6_MODULES- :=
+HOST_QT6_MODULES-$(PTXCONF_HOST_QT6_QTDECLARATIVE) += qtdeclarative
+HOST_QT6_MODULES- += qtimageformats
+HOST_QT6_MODULES- += qtlanguageserver
+HOST_QT6_MODULES-$(PTXCONF_HOST_QT6_QTQUICK3D) += qtquick3d
+HOST_QT6_MODULES- += qtquicktimeline
+HOST_QT6_MODULES-$(PTXCONF_HOST_QT6_QTREMOTEOBJECTS) += qtremoteobjects
+HOST_QT6_MODULES-$(PTXCONF_HOST_QT6_QTSCXML) += qtscxml
+HOST_QT6_MODULES-$(PTXCONF_HOST_QT6_QTSHADERTOOLS) += qtshadertools
+HOST_QT6_MODULES- += qtsvg
+HOST_QT6_MODULES-$(PTXCONF_HOST_QT6_QTWAYLAND) += qtwayland
+
+#
+# cmake
+#
+HOST_QT6_CONF_TOOL := cmake
+HOST_QT6_CONF_OPT := \
+ -DBUILD_SHARED_LIBS=ON \
+ $(foreach module,$(HOST_QT6_MODULES-y),-DBUILD_$(module)=ON) \
+ $(foreach module,$(HOST_QT6_MODULES-),-DBUILD_$(module)=OFF) \
+
+HOST_QT6_CONF_OPT += \
+ -DFEATURE_animation=ON \
+ -DFEATURE_appstore_compliant=OFF \
+ -DFEATURE_backtrace=OFF \
+ -DFEATURE_cborstreamreader=ON \
+ -DFEATURE_cborstreamwriter=ON \
+ -DFEATURE_ccache=OFF \
+ -DFEATURE_commandlineparser=ON \
+ -DFEATURE_concatenatetablesproxymodel=OFF \
+ -DFEATURE_concurrent=OFF \
+ -DFEATURE_cross_compile=OFF \
+ -DFEATURE_datestring=ON \
+ -DFEATURE_datetimeparser=ON \
+ -DFEATURE_dbus=$(call ptx/onoff,PTXCONF_HOST_QT6_DBUS) \
+ -DFEATURE_dbus_linked=OFF \
+ -DFEATURE_debug=OFF \
+ -DFEATURE_debug_and_release=OFF \
+ -DFEATURE_developer_build=OFF \
+ -DFEATURE_dlopen=ON \
+ -DFEATURE_dom=OFF \
+ -DFEATURE_doubleconversion=ON \
+ -DFEATURE_easingcurve=ON \
+ -DFEATURE_enable_gdb_index=OFF \
+ -DFEATURE_etw=OFF \
+ -DFEATURE_f16c=OFF \
+ -DFEATURE_filesystemiterator=ON \
+ -DFEATURE_filesystemwatcher=OFF \
+ -DFEATURE_force_asserts=OFF \
+ -DFEATURE_force_debug_info=OFF \
+ -DFEATURE_framework=OFF \
+ -DFEATURE_gc_binaries=OFF \
+ -DFEATURE_gestures=OFF \
+ -DFEATURE_glib=OFF \
+ -DFEATURE_glibc=ON \
+ -DFEATURE_gui=$(call ptx/onoff,PTXCONF_HOST_QT6_GUI) \
+ -DFEATURE_headersclean=OFF \
+ -DFEATURE_hijricalendar=OFF \
+ -DFEATURE_icu=OFF \
+ -DFEATURE_identityproxymodel=OFF \
+ -DFEATURE_inotify=OFF \
+ -DFEATURE_islamiccivilcalendar=OFF \
+ -DFEATURE_itemmodel=ON \
+ -DFEATURE_itemmodeltester=OFF \
+ -DFEATURE_jalalicalendar=OFF \
+ -DFEATURE_journald=OFF \
+ -DFEATURE_library=ON \
+ -DFEATURE_libudev=OFF \
+ -DFEATURE_lttng=OFF \
+ -DFEATURE_macdeployqt=OFF \
+ -DFEATURE_mimetype=ON \
+ -DFEATURE_mimetype_database=ON \
+ -DFEATURE_network=$(call ptx/onoff,PTXCONF_HOST_QT6_NETWORK) \
+ -DFEATURE_no_prefix=OFF \
+ -DFEATURE_optimize_debug=OFF \
+ -DFEATURE_optimize_full=OFF \
+ -DFEATURE_optimize_size=OFF \
+ -DFEATURE_pcre2=ON \
+ -DFEATURE_pkg_config=ON \
+ -DFEATURE_printsupport=OFF \
+ -DFEATURE_private_tests=OFF \
+ -DFEATURE_process=ON \
+ -DFEATURE_processenvironment=ON \
+ -DFEATURE_properties=ON \
+ -DFEATURE_proxymodel=ON \
+ -DFEATURE_qmake=ON \
+ -DFEATURE_qreal=OFF \
+ -DFEATURE_reduce_exports=ON \
+ -DFEATURE_regularexpression=ON \
+ -DFEATURE_relocatable=ON \
+ -DFEATURE_rpath=ON \
+ -DFEATURE_sanitize_address=OFF \
+ -DFEATURE_sanitize_fuzzer_no_link=OFF \
+ -DFEATURE_sanitize_memory=OFF \
+ -DFEATURE_sanitize_thread=OFF \
+ -DFEATURE_sanitize_undefined=OFF \
+ -DFEATURE_sanitizer=OFF \
+ -DFEATURE_separate_debug_info=OFF \
+ -DFEATURE_settings=ON \
+ -DFEATURE_shared=ON \
+ -DFEATURE_sharedmemory=ON \
+ -DFEATURE_shortcut=ON \
+ -DFEATURE_signaling_nan=ON \
+ -DFEATURE_simulator_and_device=OFF \
+ -DFEATURE_slog2=OFF \
+ -DFEATURE_sortfilterproxymodel=OFF \
+ -DFEATURE_sql=OFF \
+ -DFEATURE_stack_protector_strong=OFF \
+ -DFEATURE_static=OFF \
+ -DFEATURE_stdlib_libcpp=OFF \
+ -DFEATURE_stringlistmodel=ON \
+ -DFEATURE_syslog=OFF \
+ -DFEATURE_system_doubleconversion=OFF \
+ -DFEATURE_system_libb2=OFF \
+ -DFEATURE_system_pcre2=ON \
+ -DFEATURE_system_zlib=ON \
+ -DFEATURE_temporaryfile=ON \
+ -DFEATURE_testcocoon=OFF \
+ -DFEATURE_testlib=ON \
+ -DFEATURE_testlib_selfcover=OFF \
+ -DFEATURE_textdate=ON \
+ -DFEATURE_thread=ON \
+ -DFEATURE_timezone=ON \
+ -DFEATURE_translation=OFF \
+ -DFEATURE_transposeproxymodel=ON \
+ -DFEATURE_valgrind=OFF \
+ -DFEATURE_widgets=OFF \
+ -DFEATURE_windeployqt=OFF \
+ -DFEATURE_xml=ON \
+ -DFEATURE_xmlstream=ON \
+ -DFEATURE_xmlstreamreader=ON \
+ -DFEATURE_xmlstreamwriter=ON \
+ -DFEATURE_zstd=OFF \
+ -DINSTALL_ARCHDATADIR=/lib/qt6 \
+ -DINSTALL_BINDIR=/bin/qt6 \
+ -DINSTALL_DATADIR=/share/qt6 \
+ -DINSTALL_INCLUDEDIR=/include/qt6 \
+ -DINSTALL_MKSPECSDIR=/lib/qt6/mkspecs \
+ -DQT_BUILD_BENCHMARKS=OFF \
+ -DQT_BUILD_EXAMPLES=OFF \
+ -DQT_BUILD_EXAMPLES_AS_EXTERNAL=OFF \
+ -DQT_BUILD_EXAMPLES_BY_DEFAULT=OFF \
+ -DQT_BUILD_MANUAL_TESTS=OFF \
+ -DQT_BUILD_MINIMAL_STATIC_TESTS=OFF \
+ -DQT_BUILD_SUBMODULES='$(subst $(space),;,$(HOST_QT6_MODULES-) $(HOST_QT6_MODULES-y))' \
+ -DQT_BUILD_TESTS=OFF \
+ -DQT_BUILD_TESTS_BY_DEFAULT=OFF \
+ -DQT_BUILD_TOOLS_BY_DEFAULT=ON \
+ -DQT_CMAKE_DEBUG_EXTEND_TARGET=OFF \
+ -DQT_CREATE_VERSIONED_HARD_LINK=OFF \
+ -DQT_USE_CCACHE=OFF \
+ -DQT_WILL_INSTALL=ON \
+ -DWARNINGS_ARE_ERRORS=OFF \
+
+ifdef PTXCONF_HOST_QT6_GUI
+HOST_QT6_CONF_OPT += \
+ -DFEATURE_accessibility=OFF \
+ -DFEATURE_accessibility_atspi_bridge=OFF \
+ -DFEATURE_action=OFF \
+ -DFEATURE_clipboard=OFF \
+ -DFEATURE_colornames=OFF \
+ -DFEATURE_cssparser=OFF \
+ -DFEATURE_cursor=ON \
+ -DFEATURE_desktopservices=OFF \
+ -DFEATURE_directfb=OFF \
+ -DFEATURE_draganddrop=ON \
+ -DFEATURE_drm_atomic=OFF \
+ -DFEATURE_dynamicgl=OFF \
+ -DFEATURE_egl=OFF \
+ -DFEATURE_egl_x11=OFF \
+ -DFEATURE_eglfs=OFF \
+ -DFEATURE_eglfs_brcm=OFF \
+ -DFEATURE_eglfs_egldevice=OFF \
+ -DFEATURE_eglfs_gbm=OFF \
+ -DFEATURE_eglfs_mali=OFF \
+ -DFEATURE_eglfs_openwfd=OFF \
+ -DFEATURE_eglfs_rcar=OFF \
+ -DFEATURE_eglfs_viv=OFF \
+ -DFEATURE_eglfs_viv_wl=OFF \
+ -DFEATURE_eglfs_vsp2=OFF \
+ -DFEATURE_eglfs_x11=OFF \
+ -DFEATURE_filesystemmodel=OFF \
+ -DFEATURE_fontconfig=OFF \
+ -DFEATURE_freetype=OFF \
+ -DFEATURE_gbm=OFF \
+ -DFEATURE_gif=OFF \
+ -DFEATURE_harfbuzz=OFF \
+ -DFEATURE_highdpiscaling=OFF \
+ -DFEATURE_ico=OFF \
+ -DFEATURE_im=OFF \
+ -DFEATURE_image_heuristic_mask=OFF \
+ -DFEATURE_image_text=OFF \
+ -DFEATURE_imageformat_bmp=OFF \
+ -DFEATURE_imageformat_jpeg=OFF \
+ -DFEATURE_imageformat_png=OFF \
+ -DFEATURE_imageformat_ppm=OFF \
+ -DFEATURE_imageformat_xbm=OFF \
+ -DFEATURE_imageformat_xpm=ON \
+ -DFEATURE_imageformatplugin=OFF \
+ -DFEATURE_imageio_text_loading=OFF \
+ -DFEATURE_integrityfb=OFF \
+ -DFEATURE_integrityhid=OFF \
+ -DFEATURE_jpeg=OFF \
+ -DFEATURE_kms=OFF \
+ -DFEATURE_libinput=OFF \
+ -DFEATURE_libinput_axis_api=OFF \
+ -DFEATURE_libinput_hires_wheel_support=OFF \
+ -DFEATURE_linuxfb=OFF \
+ -DFEATURE_movie=OFF \
+ -DFEATURE_mtdev=OFF \
+ -DFEATURE_multiprocess=OFF \
+ -DFEATURE_opengl=OFF \
+ -DFEATURE_opengl_desktop=OFF \
+ -DFEATURE_opengl_dynamic=OFF \
+ -DFEATURE_opengles2=OFF \
+ -DFEATURE_opengles31=OFF \
+ -DFEATURE_opengles32=OFF \
+ -DFEATURE_opengles3=OFF \
+ -DFEATURE_openvg=OFF \
+ -DFEATURE_pdf=OFF \
+ -DFEATURE_picture=OFF \
+ -DFEATURE_png=OFF \
+ -DFEATURE_raster_64bit=OFF \
+ -DFEATURE_raster_fp=OFF \
+ -DFEATURE_sessionmanager=OFF \
+ -DFEATURE_standarditemmodel=OFF \
+ -DFEATURE_system_freetype=OFF \
+ -DFEATURE_system_harfbuzz=OFF \
+ -DFEATURE_system_jpeg=OFF \
+ -DFEATURE_system_png=OFF \
+ -DFEATURE_system_textmarkdownreader=OFF \
+ -DFEATURE_systemtrayicon=ON \
+ -DFEATURE_tabletevent=OFF \
+ -DFEATURE_texthtmlparser=ON \
+ -DFEATURE_textmarkdownreader=OFF \
+ -DFEATURE_textmarkdownwriter=OFF \
+ -DFEATURE_textodfwriter=OFF \
+ -DFEATURE_tslib=OFF \
+ -DFEATURE_tuiotouch=OFF \
+ -DFEATURE_undocommand=OFF \
+ -DFEATURE_undogroup=OFF \
+ -DFEATURE_undostack=OFF \
+ -DFEATURE_validator=ON \
+ -DFEATURE_vkgen=OFF \
+ -DFEATURE_vkkhrdisplay=OFF \
+ -DFEATURE_vnc=OFF \
+ -DFEATURE_vsp2=OFF \
+ -DFEATURE_vulkan=OFF \
+ -DFEATURE_whatsthis=OFF \
+ -DFEATURE_wheelevent=OFF \
+ -DFEATURE_xcb=OFF \
+ -DFEATURE_xcb_xlib=OFF \
+ -DFEATURE_xkbcommon=OFF \
+ -DFEATURE_xkbcommon_x11=OFF \
+ -DFEATURE_xlib=OFF
+endif
+
+ifdef PTXCONF_HOST_QT6_NETWORK
+HOST_QT6_CONF_OPT += \
+ -DFEATURE_brotli=OFF \
+ -DFEATURE_dnslookup=OFF \
+ -DFEATURE_dtls=OFF \
+ -DFEATURE_gssapi=OFF \
+ -DFEATURE_http=OFF \
+ -DFEATURE_libproxy=OFF \
+ -DFEATURE_linux_netlink=OFF \
+ -DFEATURE_localserver=ON \
+ -DFEATURE_networkdiskcache=OFF \
+ -DFEATURE_networkinterface=OFF \
+ -DFEATURE_networklistmanager=OFF \
+ -DFEATURE_networkproxy=OFF \
+ -DFEATURE_ocsp=OFF \
+ -DFEATURE_openssl=OFF \
+ -DFEATURE_schannel=OFF \
+ -DFEATURE_sctp=OFF \
+ -DFEATURE_securetransport=OFF \
+ -DFEATURE_socks5=OFF \
+ -DFEATURE_ssl=OFF \
+ -DFEATURE_system_proxies=ON \
+ -DFEATURE_topleveldomain=OFF \
+ -DFEATURE_udpsocket=OFF
+endif
+
+ifdef PTXCONF_HOST_QT6_QTDECLARATIVE
+HOST_QT6_CONF_OPT += \
+ -DFEATURE_qml_animation=OFF \
+ -DFEATURE_qml_debug=ON \
+ -DFEATURE_qml_delegate_model=ON \
+ -DFEATURE_qml_devtools=ON \
+ -DFEATURE_qml_itemmodel=ON \
+ -DFEATURE_qml_jit=OFF \
+ -DFEATURE_qml_list_model=OFF \
+ -DFEATURE_qml_locale=ON \
+ -DFEATURE_qml_network=ON \
+ -DFEATURE_qml_object_model=ON \
+ -DFEATURE_qml_preview=OFF \
+ -DFEATURE_qml_profiler=ON \
+ -DFEATURE_qml_python=ON \
+ -DFEATURE_qml_sequence_object=OFF \
+ -DFEATURE_qml_table_model=ON \
+ -DFEATURE_qml_worker_script=OFF \
+ -DFEATURE_qml_xml_http_request=OFF \
+ -DFEATURE_qml_xmllistmodel=OFF \
+ -DFEATURE_quick_animatedimage=OFF \
+ -DFEATURE_quick_canvas=OFF \
+ -DFEATURE_quick_designer=OFF \
+ -DFEATURE_quick_draganddrop=OFF \
+ -DFEATURE_quick_flipable=OFF \
+ -DFEATURE_quick_gridview=ON \
+ -DFEATURE_quick_itemview=ON \
+ -DFEATURE_quick_listview=ON \
+ -DFEATURE_quick_particles=OFF \
+ -DFEATURE_quick_path=OFF \
+ -DFEATURE_quick_pathview=OFF \
+ -DFEATURE_quick_positioners=OFF \
+ -DFEATURE_quick_repeater=OFF \
+ -DFEATURE_quick_shadereffect=ON \
+ -DFEATURE_quick_sprite=OFF \
+ -DFEATURE_quick_tableview=ON \
+ -DFEATURE_quick_treeview=ON \
+ -DFEATURE_quick_viewtransitions=ON \
+ -DFEATURE_quickcontrols2_basic=OFF \
+ -DFEATURE_quickcontrols2_fusion=OFF \
+ -DFEATURE_quickcontrols2_imagine=OFF \
+ -DFEATURE_quickcontrols2_macos=OFF \
+ -DFEATURE_quickcontrols2_material=OFF \
+ -DFEATURE_quickcontrols2_universal=OFF \
+ -DFEATURE_quickcontrols2_windows=OFF \
+ -DFEATURE_quicktemplates2_calendar=OFF \
+ -DFEATURE_quicktemplates2_hover=OFF \
+ -DFEATURE_quicktemplates2_multitouch=OFF
+endif
+
+ifdef PTXCONF_HOST_QT6_QTQUICK3D
+HOST_QT6_CONF_OPT += \
+ -DFEATURE_quick3d_assimp=OFF \
+ -DFEATURE_system_assimp=OFF
+endif
+
+ifdef PTXCONF_HOST_QT6_QTSCXML
+HOST_QT6_CONF_OPT += \
+ -DFEATURE_qeventtransition=OFF \
+ -DFEATURE_scxml_ecmascriptdatamodel=OFF
+endif
+
+ifdef PTXCONF_HOST_QT6_QTWAYLAND
+HOST_QT6_CONF_OPT += \
+ -DFEATURE_wayland_brcm=OFF \
+ -DFEATURE_wayland_client=OFF \
+ -DFEATURE_wayland_datadevice=OFF \
+ -DFEATURE_wayland_dmabuf_server_buffer=OFF \
+ -DFEATURE_wayland_drm_egl_server_buffer=OFF \
+ -DFEATURE_wayland_egl=OFF \
+ -DFEATURE_wayland_libhybris_egl_server_buffer=OFF \
+ -DFEATURE_wayland_server=OFF \
+ -DFEATURE_wayland_shm_emulation_server_buffer=OFF \
+ -DFEATURE_wayland_text_input_v4_wip=OFF \
+ -DFEATURE_wayland_vulkan_server_buffer=OFF
+endif
+
+HOST_QT6_CONF_OPT := \
+ $(HOST_CMAKE_OPT) \
+ -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/ \
+ -DINPUT_opengl=no \
+ -DPYTHON_EXECUTABLE=$(SYSTEMPYTHON3) \
+ $(sort $(HOST_QT6_CONF_OPT))
+
+HOST_QT6_MAKE_ENV := \
+ ICECC_REMOTE_CPP=0
+
+$(STATEDIR)/host-qt6.prepare:
+ @$(call targetinfo)
+ @$(call world/prepare, HOST_QT6)
+ifdef PTXCONF_HOST_QT6_QTWEBENGINE
+ @$(call execute, HOST_QT6, \
+ $(SYSTEMPYTHON3) \
+ $(HOST_QT6_DIR)/qtwebengine/src/3rdparty/gn/build/gen.py \
+ --no-last-commit-position \
+ --no-static-libstdc++ \
+ --out-path $(HOST_QT6_DIR)-build/qtwebengine/gn \
+ --cxx $(HOSTCXX) \
+ --cc $(HOSTCC) \
+ --ld $(HOSTCXX) \
+ --qt-version $(HOST_QT6_VERSION))
+endif
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-qt6.compile:
+ @$(call targetinfo)
+ @$(call world/compile, HOST_QT6)
+ifdef PTXCONF_HOST_QT6_QTWEBENGINE
+ @$(call compile, HOST_QT6, \
+ -C $(HOST_QT6_DIR)-build/qtwebengine/gn)
+endif
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+HOST_QT6_QT_CONF := $(HOST_QT6_PKGDIR)/usr/bin/qt6/qt.conf
+
+$(STATEDIR)/host-qt6.install:
+ @$(call targetinfo)
+ @$(call world/install, HOST_QT6)
+ifdef PTXCONF_HOST_QT6_QTWEBENGINE
+ @install -vD -m755 $(HOST_QT6_DIR)-build/qtwebengine/gn/gn \
+ $(HOST_QT6_PKGDIR)/usr/lib/qt6/libexec/gn
+endif
+ @echo "[Paths]" > $(HOST_QT6_QT_CONF)
+ @echo "HostPrefix=../.." >> $(HOST_QT6_QT_CONF)
+ @echo "HostArchData=lib/qt6" >> $(HOST_QT6_QT_CONF)
+ @echo "HostData=lib/qt6" >> $(HOST_QT6_QT_CONF)
+ @echo "HostBinaries=bin/qt6" >> $(HOST_QT6_QT_CONF)
+ @echo "HostLibraryExecutables=lib/qt6/libexec" >> $(HOST_QT6_QT_CONF)
+ @echo "Prefix=../.." >> $(HOST_QT6_QT_CONF)
+ @echo "ArchData=lib/qt6" >> $(HOST_QT6_QT_CONF)
+ @echo "Headers=include/qt6" >> $(HOST_QT6_QT_CONF)
+ @echo "Data=share/qt6" >> $(HOST_QT6_QT_CONF)
+ @echo "Binaries=bin/qt6" >> $(HOST_QT6_QT_CONF)
+ @echo "LibraryExecutables=lib/qt6/libexec" >> $(HOST_QT6_QT_CONF)
+ @echo "" >> $(HOST_QT6_QT_CONF)
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/qt6.in b/rules/qt6.in
new file mode 100644
index 000000000..cb3c9bda9
--- /dev/null
+++ b/rules/qt6.in
@@ -0,0 +1,546 @@
+## SECTION=qt
+
+menuconfig QT6
+ tristate
+ select HOST_CMAKE
+ select HOST_NINJA
+ select HOST_FONTCONFIG if QT6_MODULE_QTWEBENGINE
+ select HOST_FREETYPE if QT6_MODULE_QTWEBENGINE
+ select HOST_LIBJPEG if QT6_MODULE_QTWEBENGINE
+ select HOST_LIBPNG if QT6_MODULE_QTWEBENGINE
+ select HOST_LIBWEBP if QT6_MODULE_QTWEBENGINE
+ select HOST_NINJA if QT6_MODULE_QTWEBENGINE
+ select HOST_NODEJS if QT6_MODULE_QTWEBENGINE
+ select HOST_NSPR if QT6_MODULE_QTWEBENGINE
+ select HOST_NSS if QT6_MODULE_QTWEBENGINE
+ select HOST_QT6
+ select HOST_QT6_DBUS if QT6_DBUS
+ select HOST_QT6_QTDECLARATIVE if QT6_MODULE_QTDECLARATIVE
+ select HOST_QT6_QTQUICK3D if QT6_MODULE_QTQUICK3D
+ select HOST_QT6_QTREMOTEOBJECTS if QT6_MODULE_QTREMOTEOBJECTS
+ select HOST_QT6_QTSCXML if QT6_MODULE_QTSCXML
+ select HOST_QT6_QTSHADERTOOLS if QT6_MODULE_QTSHADERTOOLS
+ select HOST_QT6_QTWAYLAND if QT6_MODULE_QTWAYLAND
+ select HOST_QT6_QTWEBENGINE if QT6_MODULE_QTWEBENGINE
+ select HOST_SYSTEM_PERL
+ select HOST_SYSTEM_PYTHON3 if QT6_MODULE_QTDECLARATIVE || QT6_MODULE_QTWEBENGINE
+ select LIBC_PTHREAD
+ select LIBC_DL
+ select LIBC_RT
+ select LIBC_M
+ select GCCLIBS_CXX
+ select GCCLIBS_GCC_S
+ select PCRE2
+ select PCRE2_16
+ select ZLIB
+ select ALSA_LIB if QT6_MODULE_QTMULTIMEDIA || QT6_MODULE_QTWEBENGINE_MEDIA
+ select ALSA_LIB_HWDEP if QT6_MODULE_QTWEBENGINE_MEDIA
+ select ALSA_LIB_MIXER if QT6_MODULE_QTWEBENGINE_MEDIA
+ select ALSA_LIB_PCM if QT6_MODULE_QTMULTIMEDIA || QT6_MODULE_QTWEBENGINE_MEDIA
+ select ALSA_LIB_RAWMIDI if QT6_MODULE_QTWEBENGINE_MEDIA
+ select ALSA_LIB_SEQ if QT6_MODULE_QTWEBENGINE_MEDIA
+ select BLUEZ if QT6_MODULE_QTCONNECTIVITY
+ select BLUEZ_LIBBLUETOOTH if QT6_MODULE_QTCONNECTIVITY
+ select DBUS if QT6_DBUS || QT6_MODULE_QTWEBENGINE || QT6_MODULE_QTCONNECTIVITY
+ select FONTCONFIG if QT6_GUI || QT6_MODULE_QTWEBENGINE
+ select FREETYPE if QT6_GUI || QT6_MODULE_QTWEBENGINE
+ select GLIB if QT6_GLIB
+ select GSTREAMER1 if QT6_MODULE_QTMULTIMEDIA_GST
+ select GST_PLUGINS_BASE1 if QT6_MODULE_QTMULTIMEDIA_GST
+ select GST_PLUGINS_BASE1_APP if QT6_MODULE_QTMULTIMEDIA_GST
+ select GST_PLUGINS_BASE1_GL if QT6_MODULE_QTMULTIMEDIA_GST && QT6_OPENGL
+ select HARFBUZZ if QT6_GUI
+ select ICU if QT6_ICU
+ select LIBDRM if QT6_PLATFORM_EGLFS
+ select LIBINPUT if QT6_INPUT_LIBINPUT
+ select LIBJPEG if QT6_LIBJPEG || QT6_MODULE_QTWEBENGINE
+ select LIBMNG if QT6_LIBMNG
+ select LIBPNG if QT6_LIBPNG || QT6_MODULE_QTWEBENGINE
+ select LIBTIFF if QT6_MODULE_QTIMAGEFORMATS
+ select LIBWEBP if QT6_MODULE_QTIMAGEFORMATS || QT6_MODULE_QTWEBENGINE
+ select LIBWEBP_DEMUX if QT6_MODULE_QTIMAGEFORMATS || QT6_MODULE_QTWEBENGINE
+ select LIBWEBP_MUX if QT6_MODULE_QTIMAGEFORMATS || QT6_MODULE_QTWEBENGINE
+ select LIBXKBCOMMON if QT6_LIBXKBCOMMON
+ select MESALIB if QT6_PLATFORM_EGLFS
+ select MESALIB_EGL if QT6_PLATFORM_EGLFS || QT6_MODULE_QTWAYLAND_MESA
+ select MESALIB_EGL_DRM if QT6_PLATFORM_EGLFS
+ select MESALIB_EGL_WAYLAND if QT6_MODULE_QTWAYLAND_MESA
+ select MESALIB_GBM if QT6_PLATFORM_EGLFS
+ select MYSQLDB if QT6_MODULE_QTBASE_SQL_MYSQL
+ select NSPR if QT6_MODULE_QTWEBENGINE
+ select NSS if QT6_MODULE_QTWEBENGINE
+ select OPENSSL if QT6_OPENSSL
+ select OPUS if QT6_MODULE_QTWEBENGINE
+ select PLATFORM_OPENGL if QT6_OPENGL
+ select SQLITE if QT6_MODULE_QTBASE_SQL_SQLITE
+ select SYSTEMD if QT6_JOURNALD
+ select UDEV if QT6_LIBUDEV
+ select UDEV_LIBUDEV if QT6_LIBUDEV
+ select WAYLAND if QT6_MODULE_QTWAYLAND
+
+ select QT6_MODULE_QTBASE
+ select QT6_MODULE_QTBASE_SQL if QT6_MODULE_QTDECLARATIVE
+ prompt "qt6 "
+ help
+ Qt is a full development framework with tools designed to
+ streamline the creation of applications and user interfaces
+ for desktop, embedded and mobile platforms.
+
+if QT6
+
+config QT6_PREPARE_EXAMPLES
+ bool
+
+config QT6_LIBXKBCOMMON
+ bool
+ default QT6_MODULE_QTWAYLAND || QT6_INPUT_LIBINPUT || QT6_MODULE_QTWEBENGINE
+
+menu "Feature Options "
+
+config QT6_GIF
+ bool
+ prompt "gif support"
+
+config QT6_LIBJPEG
+ bool
+ prompt "JPEG support"
+
+config QT6_LIBMNG
+ bool
+ select QT6_MODULE_QTIMAGEFORMATS
+ prompt "MNG support"
+
+config QT6_LIBPNG
+ bool
+ prompt "PNG support"
+
+comment "----------------------------"
+
+config QT6_ACCESSIBILITY
+ bool
+ prompt "accessibility support"
+
+config QT6_ICU
+ bool
+ prompt "ICU support"
+
+config QT6_DBUS
+ bool
+ select QT6_GLIB
+ prompt "D-Bus support"
+
+config QT6_GLIB
+ bool
+ prompt "glib support"
+
+config QT6_LIBUDEV
+ bool
+
+config QT6_JOURNALD
+ bool
+ depends on INITMETHOD_SYSTEMD
+ default y
+ prompt "journald support"
+
+config QT6_OPENSSL
+ bool
+ prompt "OpenSSL support"
+
+config QT6_OPENGL
+ bool
+ prompt "OpenGL ES2 support"
+
+config QT6_TEST
+ bool
+ prompt "Testing support"
+
+endmenu
+
+menuconfig QT6_GUI
+ bool
+ select QT6_LIBUDEV
+ prompt "GUI Platform Plugins "
+
+if QT6_GUI
+
+comment "supported plugins"
+
+config QT6_PLATFORM_DEFAULT
+ string
+ default "eglfs" if QT6_PLATFORM_DEFAULT_EGLFS
+ default "wayland" if QT6_PLATFORM_DEFAULT_WAYLAND
+
+config QT6_PLATFORM_EGLFS
+ bool
+ prompt "eglfs"
+ select QT6_OPENGL
+
+comment "default plugin"
+
+choice
+ prompt "selected"
+ help
+ At least one GUI platform plugin must be selected here to be used as
+ the default. Don't keep this entry as '--nothing--'.
+
+config QT6_PLATFORM_DEFAULT_MISSING
+ bool
+ prompt "--nothing--"
+ depends on !QT6_PLATFORM_EGLFS
+ depends on !QT6_MODULE_QTWAYLAND
+
+config QT6_PLATFORM_DEFAULT_EGLFS
+ bool
+ depends on QT6_PLATFORM_EGLFS
+ prompt "eglfs"
+
+config QT6_PLATFORM_DEFAULT_WAYLAND
+ bool
+ depends on QT6_MODULE_QTWAYLAND
+ prompt "wayland"
+
+endchoice
+
+endif
+
+# add this here so 'Input Plugins' is sorted into the correct menu
+config QT6_WIDGETS
+ bool
+
+if QT6_GUI
+
+menu "Input Plugins "
+
+config QT6_INPUT_EVDEV
+ bool
+ select QT6_LIBUDEV
+ default y
+ prompt "evdev"
+
+config QT6_INPUT_LIBINPUT
+ bool
+ select QT6_LIBUDEV
+ prompt "libinput"
+
+endmenu
+
+endif
+
+menu "Modules "
+
+config QT6_MODULE_QT3D
+ bool
+ select QT6_GUI
+ select QT6_OPENGL
+ select QT6_MODULE_QTDECLARATIVE
+ prompt "Qt3D"
+
+config QT6_MODULE_QT3D_QUICK
+ bool
+ depends on QT6_MODULE_QT3D
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QT5COMPAT
+ bool
+ prompt "Qt5Compat"
+
+config QT6_MODULE_QTBASE
+ bool
+ prompt "QtBase"
+
+if QT6_MODULE_QTBASE
+
+config QT6_MODULE_QTBASE_GUI
+ bool
+ default QT6_GUI
+
+config QT6_MODULE_QTBASE_WIDGETS
+ bool
+ select QT6_GUI
+ select QT6_WIDGETS
+ select QT6_LIBPNG
+ prompt "QtWidgets"
+
+config QT6_MODULE_QTBASE_PRINT
+ bool
+ select QT6_MODULE_QTBASE_WIDGETS
+ prompt "printing support"
+
+config QT6_MODULE_QTBASE_SQL
+ bool
+ prompt "QtSQL"
+
+if QT6_MODULE_QTBASE_SQL
+
+config QT6_MODULE_QTBASE_SQL_SQLITE
+ bool
+ prompt "SQLite backend"
+
+config QT6_MODULE_QTBASE_SQL_MYSQL
+ bool
+ prompt "mySQL backend"
+
+endif
+
+endif
+
+config QT6_MODULE_QTCHARTS
+ bool
+ select QT6_MODULE_QTBASE_WIDGETS
+ prompt "QtCharts"
+
+config QT6_MODULE_QTCHARTS_QUICK
+ bool
+ depends on QT6_MODULE_QTCHARTS
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTCOAP
+ bool
+ prompt "QtCoap"
+
+config QT6_MODULE_QTCONNECTIVITY
+ bool
+ select QT6_DBUS
+ prompt "QtConnectivity"
+
+config QT6_MODULE_QTCONNECTIVITY_QUICK
+ bool
+ depends on QT6_MODULE_QTCONNECTIVITY
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTDATAVIS3D
+ bool
+ select QT6_MODULE_QTBASE_WIDGETS
+ select QT6_MODULE_QTDECLARATIVE
+ select QT6_OPENGL
+ prompt "QtDataVisualization"
+
+config QT6_MODULE_QTDECLARATIVE
+ bool
+ # FIXME: fails to build without QT6_TEST
+ select QT6_TEST
+ select QT6_MODULE_QTSHADERTOOLS
+ prompt "QtDeclarative"
+
+if QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTDECLARATIVE_QML
+ bool
+ prompt "install qml"
+ help
+ Commandline application that replaces qmlscene.
+
+config QT6_MODULE_QTDECLARATIVE_QMLSCENE
+ bool
+ prompt "install qmlscene (deprecated)"
+
+config QT6_MODULE_QTDECLARATIVE_DEBUG
+ bool
+ prompt "QML debugging"
+
+config QT6_MODULE_QTDECLARATIVE_QUICK
+ bool
+ default QT6_GUI
+
+if QT6_MODULE_QTDECLARATIVE_QUICK
+
+config QT6_MODULE_QTDECLARATIVE_QUICK_WIDGETS
+ bool
+ default QT6_WIDGETS
+
+config QT6_MODULE_QTDECLARATIVE_QUICK_DEBUG
+ bool
+ default QT6_MODULE_QTDECLARATIVE_DEBUG
+
+config QT6_MODULE_QTDECLARATIVE_QUICK_PARTICLES
+ bool
+ default QT6_OPENGL
+
+endif
+endif
+
+config QT6_MODULE_QTIMAGEFORMATS
+ bool
+ prompt "QtImageFormats"
+
+config QT6_MODULE_QTLOTTIE
+ bool
+ prompt "QtLottie"
+
+config QT6_MODULE_QTMQTT
+ bool
+ select QT6_MODULE_QTDECLARATIVE
+ prompt "QtMqtt"
+
+config QT6_MODULE_QTMULTIMEDIA
+ bool
+ select QT6_GUI
+ select QT6_MODULE_QTSHADERTOOLS
+ prompt "QtMultimedia"
+
+if QT6_MODULE_QTMULTIMEDIA
+
+config QT6_MODULE_QTMULTIMEDIA_GST
+ bool
+ default y
+ prompt "gstreamer backend"
+
+config QT6_MODULE_QTMULTIMEDIA_QUICK
+ bool
+ default QT6_MODULE_QTDECLARATIVE_QUICK
+
+config QT6_MODULE_QTMULTIMEDIA_WIDGETS
+ bool
+ default QT6_WIDGETS
+
+endif
+
+config QT6_MODULE_QTNETWORKAUTH
+ bool
+ prompt "QtNetworkAuth"
+
+config QT6_MODULE_QTOPCUA
+ bool
+ prompt "QtOpcua"
+
+config QT6_MODULE_QTPOSITIONING
+ bool
+ prompt "QtPositioning"
+
+config QT6_MODULE_QTQUICK3D
+ bool
+ select QT6_MODULE_QTDECLARATIVE
+ select QT6_MODULE_QTQUICKTIMELINE
+ select QT6_MODULE_QTSHADERTOOLS
+ prompt "QtQuick3D"
+
+config QT6_MODULE_QTQUICKTIMELINE
+ bool
+ select QT6_MODULE_QTDECLARATIVE
+ prompt "QtQuickTimeline"
+
+config QT6_MODULE_QTREMOTEOBJECTS
+ bool
+ prompt "QtRemoteObjects"
+
+config QT6_MODULE_QTREMOTEOBJECTS_QUICK
+ bool
+ depends on QT6_MODULE_QTREMOTEOBJECTS
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTSCXML
+ bool
+ prompt "QtScxml"
+
+config QT6_MODULE_QTSCXML_QUICK
+ bool
+ depends on QT6_MODULE_QTSCXML
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTSENSORS
+ bool
+ prompt "QtSensors"
+
+config QT6_MODULE_QTSENSORS_QUICK
+ bool
+ depends on QT6_MODULE_QTSENSORS
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTSERIALBUS
+ bool
+ select QT6_MODULE_QTSERIALPORT
+ prompt "QtSerialBus"
+
+config QT6_MODULE_QTSERIALPORT
+ bool
+ prompt "QtSerialPort"
+
+config QT6_MODULE_QTSHADERTOOLS
+ bool
+ prompt "QtShaderTools"
+
+config QT6_MODULE_QTSVG
+ bool
+ prompt "QtSvg"
+
+config QT6_MODULE_QTSVG_WIDGETS
+ bool
+ depends on QT6_MODULE_QTSVG
+ default QT6_WIDGETS
+
+config QT6_MODULE_QTVIRTUALKEYBOARD
+ bool
+ select QT6_MODULE_QTSVG
+ select QT6_MODULE_QTDECLARATIVE
+ prompt "QtVirtualKeyboard"
+
+config QT6_MODULE_QTWAYLAND
+ bool
+ select QT6_GUI
+ prompt "QtWayland"
+
+if QT6_MODULE_QTWAYLAND
+
+config QT6_MODULE_QTWAYLAND_MESA
+ bool
+ default MESALIB && QT6_OPENGL
+
+config QT6_MODULE_QTWAYLAND_QUICK
+ bool
+ default QT6_MODULE_QTDECLARATIVE
+
+endif
+
+config QT6_MODULE_QTWEBCHANNEL
+ bool
+ select QT6_GUI
+ prompt "QtWebChannel"
+
+config QT6_MODULE_QTWEBCHANNEL_QUICK
+ bool
+ depends on QT6_MODULE_QTWEBCHANNEL
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTWEBENGINE
+ bool
+ # undefined symbols if accessibility is not enabled
+ select QT6_ACCESSIBILITY
+ select QT6_GLIB
+ select QT6_GUI
+ select QT6_LIBJPEG
+ select QT6_LIBPNG
+ select QT6_OPENSSL
+ select QT6_MODULE_QTDECLARATIVE
+ select QT6_MODULE_QTWEBCHANNEL
+ prompt "QtWebEngine"
+
+if QT6_MODULE_QTWEBENGINE
+
+config QT6_MODULE_QTWEBENGINE_WIDGETS
+ bool
+ default QT6_WIDGETS
+
+config QT6_MODULE_QTWEBENGINE_MEDIA
+ bool
+ prompt "audio/video support"
+
+endif
+
+config QT6_MODULE_QTWEBSOCKETS
+ bool
+ prompt "QtWebSockets"
+
+config QT6_MODULE_QTWEBSOCKETS_QUICK
+ bool
+ depends on QT6_MODULE_QTWEBSOCKETS
+ default QT6_MODULE_QTDECLARATIVE
+
+config QT6_MODULE_QTWEBVIEW
+ bool
+ select QT6_MODULE_QTDECLARATIVE
+ select QT6_MODULE_QTWEBENGINE
+ prompt "QtWebView"
+
+endmenu
+
+endif
diff --git a/rules/qt6.make b/rules/qt6.make
new file mode 100644
index 000000000..de7711aea
--- /dev/null
+++ b/rules/qt6.make
@@ -0,0 +1,1137 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_QT6) += qt6
+
+#
+# Paths and names
+#
+QT6_VERSION := 6.4.2
+QT6_MD5 := 15e2530292b65a2b3dc23fc03f140796
+QT6 := qt-everywhere-src-$(QT6_VERSION)
+QT6_SUFFIX := tar.xz
+QT6_URL := \
+ http://download.qt-project.org/archive/qt/$(basename $(QT6_VERSION))/$(QT6_VERSION)/single/$(QT6).$(QT6_SUFFIX) \
+ http://download.qt-project.org/development_releases/qt/$(basename $(QT6_VERSION))/$(QT6_VERSION)/single/$(QT6).$(QT6_SUFFIX)
+QT6_SOURCE := $(SRCDIR)/$(QT6).$(QT6_SUFFIX)
+QT6_DIR := $(realpath $(BUILDDIR))/$(QT6)
+QT6_BUILD_OOT := YES
+# "GPL-3.0-only WITH Qt-GPL-exception-1.0" for tools
+# "GFDL-1.3-no-invariants-only" for documentation
+QT6_LICENSE := (LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only) AND (GPL-3.0-only WITH Qt-GPL-exception-1.0) AND GFDL-1.3-no-invariants-only
+QT6_LICENSE_FILES := \
+ file://qtbase/LICENSES/GPL-2.0-only.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://qtbase/LICENSES/GPL-3.0-only.txt;md5=d32239bcb673463ab874e80d47fae504 \
+ file://qtbase/LICENSES/Qt-GPL-exception-1.0.txt;md5=9a13522cd91a88fba784baf16ea66af8 \
+ file://qtbase/LICENSES/LGPL-3.0-only.txt;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://qtbase/LICENSES/GFDL-1.3-no-invariants-only.txt;md5=a22d0be1ce2284b67950a4d1673dd1b0
+QT6_MKSPECS := $(call ptx/get-alternative, config/qt6, linux-ptx-g++)
+
+ifdef PTXCONF_QT6
+ifeq ($(strip $(QT6_MKSPECS)),)
+$(call ptx/error, Qt6 mkspecs are missing)
+endif
+endif
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+# the extra section seems to confuse the Webkit JIT code
+QT6_WRAPPER_BLACKLIST := \
+ TARGET_COMPILER_RECORD_SWITCHES
+
+QT6_CONF_ENV := \
+ $(CROSS_ENV) \
+ COMPILER_PREFIX=$(COMPILER_PREFIX)
+
+ifdef PTXCONF_QT6_MODULE_QTWEBENGINE
+QT6_CONF_ENV += \
+ PKG_CONFIG_HOST=$(PTXDIST_SYSROOT_HOST)/usr/bin/pkg-config \
+ PTX_CMAKE_CFLAGS="$(filter -m%,$(shell ptxd_cross_cc_v | sed -n -e "s/'//g" -e "/^COLLECT_GCC_OPTIONS=/{s/[^=]*=\(.*\)/\1/p;q}"))"
+endif
+
+QT6_MODULES-y :=
+QT6_MODULES- :=
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QT3D) += qt3d
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QT5COMPAT) += qt5compat
+QT6_MODULES- += qtactiveqt
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTBASE) += qtbase
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTCHARTS) += qtcharts
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTCOAP) += qtcoap
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTCONNECTIVITY) += qtconnectivity
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTDATAVIS3D) += qtdatavis3d
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += qtdeclarative
+QT6_MODULES- += qtdoc
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTIMAGEFORMATS) += qtimageformats
+QT6_MODULES- += qtlanguageserver
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTLOTTIE) += qtlottie
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTMQTT) += qtmqtt
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTMULTIMEDIA) += qtmultimedia
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTNETWORKAUTH) += qtnetworkauth
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTOPCUA) += qtopcua
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTPOSITIONING) += qtpositioning
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTQUICK3D) += qtquick3d
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTQUICKTIMELINE) += qtquicktimeline
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTREMOTEOBJECTS) += qtremoteobjects
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTSCXML) += qtscxml
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTSENSORS) += qtsensors
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTSERIALBUS) += qtserialbus
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTSERIALPORT) += qtserialport
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTSHADERTOOLS) += qtshadertools
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTSVG) += qtsvg
+QT6_MODULES- += qttools
+QT6_MODULES- += qttranslations
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTVIRTUALKEYBOARD) += qtvirtualkeyboard
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTWAYLAND) += qtwayland
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTWEBCHANNEL) += qtwebchannel
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTWEBENGINE) += qtwebengine
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTWEBSOCKETS) += qtwebsockets
+QT6_MODULES-$(PTXCONF_QT6_MODULE_QTWEBVIEW) += qtwebview
+
+#
+# cmake
+#
+QT6_CONF_OPT := \
+ -DQT_HOST_PATH=$(PTXDIST_SYSROOT_HOST)/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ $(foreach module,$(QT6_MODULES-y),-DBUILD_$(module)=ON) \
+ $(foreach module,$(QT6_MODULES-),-DBUILD_$(module)=OFF) \
+ -DQT_BUILD_SUBMODULES="$(subst $(space),;,$(sort $(QT6_MODULES-) $(QT6_MODULES-y)))" \
+ -DINSTALL_ARCHDATADIR=lib/qt6 \
+ -DINSTALL_DATADIR=share/qt6 \
+ -DINSTALL_EXAMPLESDIR=lib/qt6/examples \
+ -DINSTALL_INCLUDEDIR=include/qt6 \
+ -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs
+
+ifdef PTXCONF_QT6_MODULE_QTBASE
+QT6_CONF_OPT += \
+ -DFEATURE_accessibility=$(call ptx/onoff,PTXCONF_QT6_ACCESSIBILITY) \
+ -DFEATURE_accessibility_atspi_bridge=OFF \
+ -DFEATURE_action=ON \
+ -DFEATURE_animation=ON \
+ -DFEATURE_appstore_compliant=OFF \
+ -DFEATURE_backtrace=OFF \
+ -DFEATURE_brotli=OFF \
+ -DFEATURE_cborstreamreader=ON \
+ -DFEATURE_cborstreamwriter=ON \
+ -DFEATURE_ccache=OFF \
+ -DFEATURE_clipboard=ON \
+ -DFEATURE_colornames=ON \
+ -DFEATURE_commandlineparser=ON \
+ -DFEATURE_concatenatetablesproxymodel=ON \
+ -DFEATURE_concurrent=ON \
+ -DFEATURE_cross_compile=ON \
+ -DFEATURE_cssparser=ON \
+ -DFEATURE_cursor=ON \
+ -DFEATURE_datestring=ON \
+ -DFEATURE_datetimeparser=ON \
+ -DFEATURE_dbus=$(call ptx/onoff,PTXCONF_QT6_DBUS) \
+ -DFEATURE_dbus_linked=$(call ptx/onoff,PTXCONF_QT6_DBUS) \
+ -DFEATURE_debug=OFF \
+ -DFEATURE_debug_and_release=OFF \
+ -DFEATURE_desktopservices=ON \
+ -DFEATURE_developer_build=OFF \
+ -DFEATURE_directfb=OFF \
+ -DFEATURE_dlopen=ON \
+ -DFEATURE_dnslookup=ON \
+ -DFEATURE_dom=ON \
+ -DFEATURE_doubleconversion=ON \
+ -DFEATURE_draganddrop=ON \
+ -DFEATURE_drm_atomic=ON \
+ -DFEATURE_dtls=$(call ptx/onoff,PTXCONF_QT6_OPENSSL) \
+ -DFEATURE_dynamicgl=OFF \
+ -DFEATURE_easingcurve=ON \
+ -DFEATURE_egl=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_egl_x11=OFF \
+ -DFEATURE_eglfs=$(call ptx/onoff,PTXCONF_QT6_PLATFORM_EGLFS) \
+ -DFEATURE_eglfs_brcm=OFF \
+ -DFEATURE_eglfs_egldevice=OFF \
+ -DFEATURE_eglfs_gbm=$(call ptx/onoff,PTXCONF_QT6_PLATFORM_EGLFS) \
+ -DFEATURE_eglfs_mali=OFF \
+ -DFEATURE_eglfs_openwfd=OFF \
+ -DFEATURE_eglfs_rcar=OFF \
+ -DFEATURE_eglfs_viv=OFF \
+ -DFEATURE_eglfs_viv_wl=OFF \
+ -DFEATURE_eglfs_vsp2=OFF \
+ -DFEATURE_eglfs_x11=OFF \
+ -DFEATURE_enable_gdb_index=OFF \
+ -DFEATURE_etw=OFF \
+ -DFEATURE_evdev=$(call ptx/onoff,PTXCONF_QT6_INPUT_EVDEV) \
+ -DFEATURE_f16c=OFF \
+ -DFEATURE_filesystemiterator=ON \
+ -DFEATURE_filesystemmodel=ON \
+ -DFEATURE_filesystemwatcher=ON \
+ -DFEATURE_fontconfig=$(call ptx/onoff,PTXCONF_QT6_GUI) \
+ -DFEATURE_force_asserts=OFF \
+ -DFEATURE_force_debug_info=OFF \
+ -DFEATURE_framework=OFF \
+ -DFEATURE_freetype=$(call ptx/onoff,PTXCONF_QT6_GUI) \
+ -DFEATURE_future=ON \
+ -DFEATURE_gbm=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_gc_binaries=OFF \
+ -DFEATURE_gestures=ON \
+ -DFEATURE_gif=$(call ptx/onoff,PTXCONF_QT6_GIF) \
+ -DFEATURE_glib=$(call ptx/onoff,PTXCONF_QT6_GLIB) \
+ -DFEATURE_glibc=ON \
+ -DFEATURE_gssapi=OFF \
+ -DFEATURE_gui=$(call ptx/onoff,PTXCONF_QT6_GUI) \
+ -DFEATURE_harfbuzz=$(call ptx/onoff,PTXCONF_QT6_GUI) \
+ -DFEATURE_headersclean=OFF \
+ -DFEATURE_highdpiscaling=ON \
+ -DFEATURE_hijricalendar=ON \
+ -DFEATURE_http=ON \
+ -DFEATURE_ico=ON \
+ -DFEATURE_icu=$(call ptx/onoff,PTXCONF_QT6_ICU) \
+ -DFEATURE_identityproxymodel=ON \
+ -DFEATURE_im=ON \
+ -DFEATURE_image_heuristic_mask=ON \
+ -DFEATURE_image_text=ON \
+ -DFEATURE_imageformat_bmp=ON \
+ -DFEATURE_imageformat_jpeg=$(call ptx/onoff,PTXCONF_QT6_LIBJPEG) \
+ -DFEATURE_imageformat_png=$(call ptx/onoff,PTXCONF_QT6_LIBPNG) \
+ -DFEATURE_imageformat_ppm=ON \
+ -DFEATURE_imageformat_xbm=ON \
+ -DFEATURE_imageformat_xpm=ON \
+ -DFEATURE_imageformatplugin=ON \
+ -DFEATURE_imageio_text_loading=ON \
+ -DFEATURE_inotify=ON \
+ -DFEATURE_integrityfb=OFF \
+ -DFEATURE_integrityhid=OFF \
+ -DFEATURE_islamiccivilcalendar=ON \
+ -DFEATURE_itemmodel=ON \
+ -DFEATURE_itemmodeltester=OFF \
+ -DFEATURE_jalalicalendar=ON \
+ -DFEATURE_journald=$(call ptx/onoff,PTXCONF_QT6_JOURNALD) \
+ -DFEATURE_jpeg=$(call ptx/onoff,PTXCONF_QT6_LIBJPEG) \
+ -DFEATURE_kms=ON \
+ -DFEATURE_largefile=$(call ptx/onoff,PTXCONF_GLOBAL_LARGE_FILE) \
+ -DFEATURE_libinput=$(call ptx/onoff,PTXCONF_QT6_INPUT_LIBINPUT) \
+ -DFEATURE_libproxy=OFF \
+ -DFEATURE_library=ON \
+ -DFEATURE_libudev=$(call ptx/onoff,PTXCONF_QT6_LIBUDEV) \
+ -DFEATURE_linux_netlink=ON \
+ -DFEATURE_linuxfb=OFF \
+ -DFEATURE_localserver=ON \
+ -DFEATURE_lttng=OFF \
+ -DFEATURE_macdeployqt=OFF \
+ -DFEATURE_mimetype=ON \
+ -DFEATURE_mimetype_database=ON \
+ -DFEATURE_movie=ON \
+ -DFEATURE_msvc_obj_debug_info=OFF \
+ -DFEATURE_mtdev=OFF \
+ -DFEATURE_multiprocess=ON \
+ -DFEATURE_network=ON \
+ -DFEATURE_networkdiskcache=ON \
+ -DFEATURE_networkinterface=ON \
+ -DFEATURE_networklistmanager=OFF \
+ -DFEATURE_networkproxy=ON \
+ -DFEATURE_no_prefix=OFF \
+ -DFEATURE_ocsp=$(call ptx/onoff,PTXCONF_QT6_OPENSSL) \
+ -DFEATURE_opengl=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_opengl_desktop=OFF \
+ -DFEATURE_opengl_dynamic=OFF \
+ -DFEATURE_opengles2=ON \
+ -DFEATURE_opengles3=OFF \
+ -DFEATURE_opengles31=OFF \
+ -DFEATURE_opengles32=OFF \
+ -DFEATURE_openssl=$(call ptx/onoff,PTXCONF_QT6_OPENSSL) \
+ -DFEATURE_openssl_linked=$(call ptx/onoff,PTXCONF_QT6_OPENSSL) \
+ -DFEATURE_openssl_runtime=OFF \
+ -DFEATURE_openvg=OFF \
+ -DFEATURE_optimize_debug=OFF \
+ -DFEATURE_optimize_full=OFF \
+ -DFEATURE_optimize_size=OFF \
+ -DFEATURE_pcre2=ON \
+ -DFEATURE_pdf=ON \
+ -DFEATURE_picture=ON \
+ -DFEATURE_pkg_config=ON \
+ -DFEATURE_png=$(call ptx/onoff,PTXCONF_QT6_LIBPNG) \
+ -DFEATURE_printsupport=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTBASE_PRINT) \
+ -DFEATURE_private_tests=OFF \
+ -DFEATURE_process=ON \
+ -DFEATURE_processenvironment=ON \
+ -DFEATURE_proxymodel=ON \
+ -DFEATURE_publicsuffix_qt=ON \
+ -DFEATURE_publicsuffix_system=ON \
+ -DFEATURE_qmake=ON \
+ -DFEATURE_qreal=OFF \
+ -DFEATURE_raster_64bit=ON \
+ -DFEATURE_raster_fp=ON \
+ -DFEATURE_reduce_exports=ON \
+ -DFEATURE_regularexpression=ON \
+ -DFEATURE_relocatable=OFF \
+ -DFEATURE_rpath=OFF \
+ -DFEATURE_sanitize_address=OFF \
+ -DFEATURE_sanitize_fuzzer_no_link=OFF \
+ -DFEATURE_sanitize_memory=OFF \
+ -DFEATURE_sanitize_thread=OFF \
+ -DFEATURE_sanitize_undefined=OFF \
+ -DFEATURE_sanitizer=OFF \
+ -DFEATURE_schannel=OFF \
+ -DFEATURE_sctp=OFF \
+ -DFEATURE_securetransport=OFF \
+ -DFEATURE_separate_debug_info=OFF \
+ -DFEATURE_sessionmanager=OFF \
+ -DFEATURE_settings=ON \
+ -DFEATURE_shared=ON \
+ -DFEATURE_sharedmemory=ON \
+ -DFEATURE_shortcut=ON \
+ -DFEATURE_signaling_nan=ON \
+ -DFEATURE_simulator_and_device=OFF \
+ -DFEATURE_slog2=OFF \
+ -DFEATURE_socks5=ON \
+ -DFEATURE_sortfilterproxymodel=ON \
+ -DFEATURE_sql=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTBASE_SQL) \
+ -DFEATURE_sql_db2=OFF \
+ -DFEATURE_sql_ibase=OFF \
+ -DFEATURE_sql_mysql=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTBASE_SQL_MYSQL) \
+ -DFEATURE_sql_oci=OFF \
+ -DFEATURE_sql_odbc=OFF \
+ -DFEATURE_sql_psql=OFF \
+ -DFEATURE_sql_sqlite=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTBASE_SQL_SQLITE) \
+ -DFEATURE_sqlmodel=ON \
+ -DFEATURE_ssl=$(call ptx/onoff,PTXCONF_QT6_OPENSSL) \
+ -DFEATURE_sspi=OFF \
+ -DFEATURE_stack_protector_strong=OFF \
+ -DFEATURE_standarditemmodel=ON \
+ -DFEATURE_static=OFF \
+ -DFEATURE_stdlib_libcpp=OFF \
+ -DFEATURE_stringlistmodel=ON \
+ -DFEATURE_syslog=OFF \
+ -DFEATURE_system_doubleconversion=OFF \
+ -DFEATURE_system_freetype=$(call ptx/onoff,PTXCONF_QT6_GUI) \
+ -DFEATURE_system_harfbuzz=$(call ptx/onoff,PTXCONF_QT6_GUI) \
+ -DFEATURE_system_jpeg=$(call ptx/onoff,PTXCONF_QT6_LIBJPEG) \
+ -DFEATURE_system_libb2=OFF \
+ -DFEATURE_system_pcre2=ON \
+ -DFEATURE_system_png=$(call ptx/onoff,PTXCONF_QT6_LIBPNG) \
+ -DFEATURE_system_proxies=ON \
+ -DFEATURE_system_sqlite=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTBASE_SQL_SQLITE) \
+ -DFEATURE_system_textmarkdownreader=OFF \
+ -DFEATURE_system_zlib=ON \
+ -DFEATURE_systemtrayicon=ON \
+ -DFEATURE_tabletevent=ON \
+ -DFEATURE_temporaryfile=ON \
+ -DFEATURE_testcocoon=OFF \
+ -DFEATURE_testlib=$(call ptx/onoff,PTXCONF_QT6_TEST) \
+ -DFEATURE_testlib_selfcover=OFF \
+ -DFEATURE_textdate=ON \
+ -DFEATURE_texthtmlparser=ON \
+ -DFEATURE_textmarkdownreader=OFF \
+ -DFEATURE_textmarkdownwriter=OFF \
+ -DFEATURE_textodfwriter=ON \
+ -DFEATURE_thread=ON \
+ -DFEATURE_timezone=ON \
+ -DFEATURE_topleveldomain=ON \
+ -DFEATURE_translation=ON \
+ -DFEATURE_transposeproxymodel=ON \
+ -DFEATURE_tslib=OFF \
+ -DFEATURE_tuiotouch=ON \
+ -DFEATURE_udpsocket=ON \
+ -DFEATURE_undocommand=ON \
+ -DFEATURE_undogroup=ON \
+ -DFEATURE_undostack=ON \
+ -DFEATURE_valgrind=OFF \
+ -DFEATURE_validator=ON \
+ -DFEATURE_vkgen=OFF \
+ -DFEATURE_vkkhrdisplay=OFF \
+ -DFEATURE_vnc=OFF \
+ -DFEATURE_vsp2=OFF \
+ -DFEATURE_vulkan=OFF \
+ -DFEATURE_whatsthis=ON \
+ -DFEATURE_wheelevent=ON \
+ -DFEATURE_widgets=$(call ptx/onoff,PTXCONF_QT6_WIDGETS) \
+ -DFEATURE_windeployqt=OFF \
+ -DFEATURE_xcb=OFF \
+ -DFEATURE_xcb_xlib=OFF \
+ -DFEATURE_xkbcommon=$(call ptx/onoff,PTXCONF_QT6_LIBXKBCOMMON) \
+ -DFEATURE_xkbcommon_x11=OFF \
+ -DFEATURE_xlib=OFF \
+ -DFEATURE_xml=ON \
+ -DFEATURE_xmlstream=ON \
+ -DFEATURE_xmlstreamreader=ON \
+ -DFEATURE_xmlstreamwriter=ON \
+ -DFEATURE_zstd=OFF \
+ -DQT_BUILD_BENCHMARKS=OFF \
+ -DQT_BUILD_EXAMPLES=$(call ptx/onoff,PTXCONF_QT6_PREPARE_EXAMPLES) \
+ -DQT_BUILD_EXAMPLES_AS_EXTERNAL=OFF \
+ -DQT_BUILD_EXAMPLES_BY_DEFAULT=$(call ptx/onoff,PTXCONF_QT6_PREPARE_EXAMPLES) \
+ -DQT_BUILD_MANUAL_TESTS=OFF \
+ -DQT_BUILD_MINIMAL_STATIC_TESTS=OFF \
+ -DQT_BUILD_TESTS=OFF \
+ -DQT_BUILD_TESTS_BY_DEFAULT=OFF \
+ -DQT_BUILD_TOOLS_BY_DEFAULT=OFF \
+ -DQT_CMAKE_DEBUG_EXTEND_TARGET=OFF \
+ -DQT_CREATE_VERSIONED_HARD_LINK=OFF \
+ -DQT_QPA_DEFAULT_EGLFS_INTEGRATION=eglfs_kms \
+ -DQT_QPA_DEFAULT_PLATFORM=$(PTXCONF_QT6_PLATFORM_DEFAULT) \
+ -DQT_USE_CCACHE=OFF \
+ -DQT_WILL_INSTALL=ON \
+ -DWARNINGS_ARE_ERRORS=OFF
+
+ifdef PTXCONF_QT6_WIDGETS
+QT6_CONF_OPT += \
+ -DFEATURE_abstractbutton=ON \
+ -DFEATURE_abstractslider=ON \
+ -DFEATURE_buttongroup=ON \
+ -DFEATURE_calendarwidget=ON \
+ -DFEATURE_checkbox=ON \
+ -DFEATURE_colordialog=ON \
+ -DFEATURE_columnview=ON \
+ -DFEATURE_combobox=ON \
+ -DFEATURE_commandlinkbutton=ON \
+ -DFEATURE_completer=ON \
+ -DFEATURE_contextmenu=ON \
+ -DFEATURE_cups=OFF \
+ -DFEATURE_cupsjobwidget=OFF \
+ -DFEATURE_datawidgetmapper=ON \
+ -DFEATURE_datetimeedit=ON \
+ -DFEATURE_dial=ON \
+ -DFEATURE_dialog=ON \
+ -DFEATURE_dialogbuttonbox=ON \
+ -DFEATURE_dockwidget=ON \
+ -DFEATURE_effects=OFF \
+ -DFEATURE_errormessage=ON \
+ -DFEATURE_filedialog=ON \
+ -DFEATURE_fontcombobox=ON \
+ -DFEATURE_fontdialog=ON \
+ -DFEATURE_formlayout=ON \
+ -DFEATURE_fscompleter=ON \
+ -DFEATURE_graphicseffect=ON \
+ -DFEATURE_graphicsview=ON \
+ -DFEATURE_groupbox=ON \
+ -DFEATURE_gtk3=OFF \
+ -DFEATURE_inputdialog=ON \
+ -DFEATURE_itemviews=ON \
+ -DFEATURE_keysequenceedit=ON \
+ -DFEATURE_label=ON \
+ -DFEATURE_lcdnumber=ON \
+ -DFEATURE_lineedit=ON \
+ -DFEATURE_listview=ON \
+ -DFEATURE_listwidget=ON \
+ -DFEATURE_mainwindow=ON \
+ -DFEATURE_mdiarea=ON \
+ -DFEATURE_menu=ON \
+ -DFEATURE_menubar=ON \
+ -DFEATURE_messagebox=ON \
+ -DFEATURE_printdialog=ON \
+ -DFEATURE_printer=ON \
+ -DFEATURE_printpreviewdialog=ON \
+ -DFEATURE_printpreviewwidget=ON \
+ -DFEATURE_progressbar=ON \
+ -DFEATURE_progressdialog=ON \
+ -DFEATURE_pushbutton=ON \
+ -DFEATURE_radiobutton=ON \
+ -DFEATURE_resizehandler=ON \
+ -DFEATURE_rubberband=ON \
+ -DFEATURE_scrollarea=ON \
+ -DFEATURE_scrollbar=ON \
+ -DFEATURE_scroller=ON \
+ -DFEATURE_sizegrip=ON \
+ -DFEATURE_slider=ON \
+ -DFEATURE_spinbox=ON \
+ -DFEATURE_splashscreen=ON \
+ -DFEATURE_splitter=ON \
+ -DFEATURE_stackedwidget=ON \
+ -DFEATURE_statusbar=ON \
+ -DFEATURE_statustip=ON \
+ -DFEATURE_style_android=OFF \
+ -DFEATURE_style_fusion=ON \
+ -DFEATURE_style_mac=OFF \
+ -DFEATURE_style_stylesheet=ON \
+ -DFEATURE_style_windows=ON \
+ -DFEATURE_style_windowsvista=OFF \
+ -DFEATURE_syntaxhighlighter=ON \
+ -DFEATURE_tabbar=ON \
+ -DFEATURE_tableview=ON \
+ -DFEATURE_tablewidget=ON \
+ -DFEATURE_tabwidget=ON \
+ -DFEATURE_textbrowser=ON \
+ -DFEATURE_textedit=ON \
+ -DFEATURE_toolbar=ON \
+ -DFEATURE_toolbox=ON \
+ -DFEATURE_toolbutton=ON \
+ -DFEATURE_tooltip=ON \
+ -DFEATURE_treeview=ON \
+ -DFEATURE_treewidget=ON \
+ -DFEATURE_undoview=ON \
+ -DFEATURE_widgettextcontrol=ON \
+ -DFEATURE_wizard=ON
+endif
+endif
+
+ifdef PTXCONF_QT6_MODULE_QT3D
+QT6_CONF_OPT += \
+ -DFEATURE_qt3d_animation=ON \
+ -DFEATURE_qt3d_assimp=ON \
+ -DFEATURE_qt3d_extras=ON \
+ -DFEATURE_qt3d_fbxsdk=OFF \
+ -DFEATURE_qt3d_input=ON \
+ -DFEATURE_qt3d_logic=ON \
+ -DFEATURE_qt3d_opengl_renderer=ON \
+ -DFEATURE_qt3d_render=ON \
+ -DFEATURE_qt3d_rhi_renderer=ON \
+ -DFEATURE_qt3d_system_assimp=OFF \
+ -DFEATURE_qt3d_vulkan=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTCHARTS
+QT6_CONF_OPT += \
+ -DFEATURE_charts_area_chart=ON \
+ -DFEATURE_charts_bar_chart=ON \
+ -DFEATURE_charts_boxplot_chart=ON \
+ -DFEATURE_charts_candlestick_chart=ON \
+ -DFEATURE_charts_datetime_axis=ON \
+ -DFEATURE_charts_line_chart=ON \
+ -DFEATURE_charts_pie_chart=ON \
+ -DFEATURE_charts_scatter_chart=ON \
+ -DFEATURE_charts_spline_chart=ON
+endif
+
+ifdef PTXCONF_QT6_MODULE_QT5COMPAT
+QT6_CONF_OPT += \
+ -DFEATURE_big_codecs=ON \
+ -DFEATURE_codecs=ON \
+ -DFEATURE_iconv=OFF \
+ -DFEATURE_textcodec=ON
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTCONNECTIVITY
+QT6_CONF_OPT += \
+ -DFEATURE_bluez=ON \
+ -DFEATURE_bluez_le=ON \
+ -DFEATURE_pcsclite=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTIMAGEFORMATS
+QT6_CONF_OPT += \
+ -DFEATURE_tiff=ON \
+ -DFEATURE_webp=ON
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTDECLARATIVE
+QT6_CONF_OPT += \
+ -DFEATURE_qml_animation=ON \
+ -DFEATURE_qml_debug=ON \
+ -DFEATURE_qml_delegate_model=ON \
+ -DFEATURE_qml_devtools=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) \
+ -DFEATURE_qml_itemmodel=ON \
+ -DFEATURE_qml_jit=ON \
+ -DFEATURE_qml_list_model=ON \
+ -DFEATURE_qml_locale=ON \
+ -DFEATURE_qml_network=ON \
+ -DFEATURE_qml_object_model=ON \
+ -DFEATURE_qml_preview=ON \
+ -DFEATURE_qml_profiler=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) \
+ -DFEATURE_qml_python=ON \
+ -DFEATURE_qml_table_model=ON \
+ -DFEATURE_qml_worker_script=ON \
+ -DFEATURE_qml_xml_http_request=ON \
+ -DFEATURE_qml_xmllistmodel=ON
+
+# not documented but prevents broken rpaths in qml plugins
+QT6_CONF_OPT += \
+ -DQT_NO_QML_PLUGIN_RPATH=ON
+
+ifdef PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK
+QT6_CONF_OPT += \
+ -DFEATURE_quick_animatedimage=ON \
+ -DFEATURE_quick_canvas=ON \
+ -DFEATURE_quick_designer=ON \
+ -DFEATURE_quick_draganddrop=ON \
+ -DFEATURE_quick_flipable=ON \
+ -DFEATURE_quick_gridview=ON \
+ -DFEATURE_quick_itemview=ON \
+ -DFEATURE_quick_listview=ON \
+ -DFEATURE_quick_particles=ON \
+ -DFEATURE_quick_path=ON \
+ -DFEATURE_quick_pathview=ON \
+ -DFEATURE_quick_positioners=ON \
+ -DFEATURE_quick_repeater=ON \
+ -DFEATURE_quick_shadereffect=ON \
+ -DFEATURE_quick_sprite=ON \
+ -DFEATURE_quick_tableview=ON \
+ -DFEATURE_quick_treeview=ON \
+ -DFEATURE_quick_viewtransitions=ON \
+ -DFEATURE_quickcontrols2_basic=ON \
+ -DFEATURE_quickcontrols2_fusion=ON \
+ -DFEATURE_quickcontrols2_imagine=ON \
+ -DFEATURE_quickcontrols2_macos=ON \
+ -DFEATURE_quickcontrols2_material=ON \
+ -DFEATURE_quickcontrols2_universal=ON \
+ -DFEATURE_quickcontrols2_windows=ON \
+ -DFEATURE_quicktemplates2_calendar=ON \
+ -DFEATURE_quicktemplates2_hover=ON \
+ -DFEATURE_quicktemplates2_multitouch=ON
+endif
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTIMAGEFORMATS
+QT6_CONF_OPT += \
+ -DFEATURE_jasper=OFF \
+ -DFEATURE_mng=$(call ptx/onoff,PTXCONF_QT6_LIBMNG)
+ -DFEATURE_system_tiff=ON \
+ -DFEATURE_system_webp=ON \
+ -DFEATURE_tiff=ON \
+ -DFEATURE_webp=ON
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTMULTIMEDIA
+ifdef PTXCONF_QT6_MODULE_QTMULTIMEDIA_GST
+QT6_MODULE_QTMULTIMEDIA_GST_GL := $(PTXCONF_QT6_OPENGL)
+endif
+QT6_CONF_OPT += \
+ -DFEATURE_alsa=OFF \
+ -DFEATURE_avfoundation=OFF \
+ -DFEATURE_evr=OFF \
+ -DFEATURE_ffmpeg=OFF \
+ -DFEATURE_gpu_vivante=OFF \
+ -DFEATURE_gstreamer=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTMULTIMEDIA_GST) \
+ -DFEATURE_gstreamer_1_0=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTMULTIMEDIA_GST) \
+ -DFEATURE_gstreamer_app=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTMULTIMEDIA_GST) \
+ -DFEATURE_gstreamer_gl=$(call ptx/onoff,QT6_MODULE_QTMULTIMEDIA_GST_GL) \
+ -DFEATURE_gstreamer_photography=OFF \
+ -DFEATURE_linux_dmabuf=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_linux_v4l=ON \
+ -DFEATURE_pulseaudio=OFF \
+ -DFEATURE_spatialaudio=OFF \
+ -DFEATURE_spatialaudio_quick3d=OFF \
+ -DFEATURE_vaapi=OFF \
+ -DFEATURE_wasm=OFF \
+ -DFEATURE_wmf=OFF \
+ -DFEATURE_wmsdk=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTOPCUA
+QT6_CONF_OPT += \
+ -DFEATURE_gds=$(call ptx/onoff,PTXCONF_QT6_OPENSSL) \
+ -DFEATURE_ns0idgenerator=OFF \
+ -DFEATURE_ns0idnames=ON \
+ -DFEATURE_open62541=OFF \
+ -DFEATURE_open62541_security=OFF \
+ -DFEATURE_system_open62541=OFF \
+ -DFEATURE_uacpp=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTPOSITIONING
+QT6_CONF_OPT += \
+ -DFEATURE_gypsy=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTQUICK3D
+QT6_CONF_OPT += \
+ -DFEATURE_quick3d_assimp=ON \
+ -DFEATURE_system_assimp=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTSERIALBUS
+QT6_CONF_OPT += \
+ -DFEATURE_modbus_serialport=ON \
+ -DFEATURE_ntddmodm=OFF \
+ -DFEATURE_socketcan=ON \
+ -DFEATURE_socketcan_fd=ON
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTSCXML
+QT6_CONF_OPT += \
+ -DFEATURE_qeventtransition=$(call ptx/onoff,PTXCONF_QT6_GUI) \
+ -DFEATURE_scxml_ecmascriptdatamodel=ON \
+ -DFEATURE_statemachine=ON
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTSENSORS
+QT6_CONF_OPT += \
+ -DFEATURE_sensorfw=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTVIRTUALKEYBOARD
+QT6_CONF_OPT += \
+ -DFEATURE_3rdparty_hunspell=OFF \
+ -DFEATURE_cangjie=OFF \
+ -DFEATURE_cerence_hwr=OFF \
+ -DFEATURE_cerence_hwr_alphabetic=OFF \
+ -DFEATURE_cerence_hwr_cjk=OFF \
+ -DFEATURE_cerence_sdk=OFF \
+ -DFEATURE_cerence_xt9=OFF \
+ -DFEATURE_hangul=ON \
+ -DFEATURE_hunspell=OFF \
+ -DFEATURE_myscript=OFF \
+ -DFEATURE_openwnn=ON \
+ -DFEATURE_pinyin=ON \
+ -DFEATURE_system_hunspell=OFF \
+ -DFEATURE_tcime=ON \
+ -DFEATURE_thai=ON \
+ -DFEATURE_vkb_layouts=ON \
+ -DFEATURE_vkb_no_builtin_style=OFF \
+ -DFEATURE_vkb_no_bundle_pinyin=OFF \
+ -DFEATURE_vkb_no_bundle_tcime=OFF \
+ -DFEATURE_vkb_record_trace_input=OFF \
+ -DFEATURE_vkb_retro_style=OFF \
+ -DFEATURE_vkb_sensitive_debug=OFF \
+ -DFEATURE_zhuyin=ON
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTWAYLAND
+QT6_CONF_OPT += \
+ -DFEATURE_egl_extension_platform_wayland=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_wayland_brcm=OFF \
+ -DFEATURE_wayland_client=ON \
+ -DFEATURE_wayland_client_fullscreen_shell_v1=ON \
+ -DFEATURE_wayland_client_ivi_shell=ON \
+ -DFEATURE_wayland_client_primary_selection=ON \
+ -DFEATURE_wayland_client_qt_shell=ON \
+ -DFEATURE_wayland_client_wl_shell=OFF \
+ -DFEATURE_wayland_client_xdg_shell=ON \
+ -DFEATURE_wayland_datadevice=ON \
+ -DFEATURE_wayland_dmabuf_server_buffer=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_wayland_drm_egl_server_buffer=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_wayland_egl=$(call ptx/onoff,PTXCONF_QT6_OPENGL) \
+ -DFEATURE_wayland_libhybris_egl_server_buffer=OFF \
+ -DFEATURE_wayland_server=OFF \
+ -DFEATURE_wayland_shm_emulation_server_buffer=OFF \
+ -DFEATURE_wayland_text_input_v4_wip=OFF \
+ -DFEATURE_wayland_vulkan_server_buffer=OFF
+endif
+
+ifdef PTXCONF_QT6_MODULE_QTWEBENGINE
+QT6_CONF_OPT += \
+ -DQT_HOST_GN_PATH=$(PTXDIST_SYSROOT_HOST)/usr/bin/gn \
+ -DFEATURE_qtpdf_build=OFF \
+ -DFEATURE_qtpdf_quick_build=OFF \
+ -DFEATURE_qtpdf_widgets_build=OFF \
+ -DFEATURE_qtwebengine_build=ON \
+ -DFEATURE_qtwebengine_core_build=ON \
+ -DFEATURE_qtwebengine_quick_build=ON \
+ -DFEATURE_qtwebengine_widgets_build=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTWEBENGINE_WIDGETS) \
+ -DFEATURE_webengine_build_gn=ON \
+ -DFEATURE_webengine_build_ninja=OFF \
+ -DFEATURE_webengine_developer_build=OFF \
+ -DFEATURE_webengine_embedded_build=ON \
+ -DFEATURE_webengine_extensions=OFF \
+ -DFEATURE_webengine_geolocation=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTPOSITIONING) \
+ -DFEATURE_webengine_jumbo_build=ON \
+ -DFEATURE_webengine_kerberos=OFF \
+ -DFEATURE_webengine_native_spellchecker=OFF \
+ -DFEATURE_webengine_ozone_x11=OFF \
+ -DFEATURE_webengine_pepper_plugins=OFF \
+ -DFEATURE_webengine_printing_and_pdf=OFF \
+ -DFEATURE_webengine_proprietary_codecs=OFF \
+ -DFEATURE_webengine_qt_freetype=OFF \
+ -DFEATURE_webengine_qt_harfbuzz=OFF \
+ -DFEATURE_webengine_qt_libjpeg=OFF \
+ -DFEATURE_webengine_qt_libpng=OFF \
+ -DFEATURE_webengine_qt_zlib=OFF \
+ -DFEATURE_webengine_sanitizer=OFF \
+ -DFEATURE_webengine_spellchecker=OFF \
+ -DFEATURE_webengine_system_alsa=$(call ptx/onoff,PTXCONF_QT6_MODULE_QTWEBENGINE_MEDIA) \
+ -DFEATURE_webengine_system_ffmpeg=OFF \
+ -DFEATURE_webengine_system_freetype=ON \
+ -DFEATURE_webengine_system_glib=ON \
+ -DFEATURE_webengine_system_harfbuzz=OFF \
+ -DFEATURE_webengine_system_icu=OFF \
+ -DFEATURE_webengine_system_lcms2=OFF \
+ -DFEATURE_webengine_system_libevent=OFF \
+ -DFEATURE_webengine_system_libjpeg=ON \
+ -DFEATURE_webengine_system_libpci=OFF \
+ -DFEATURE_webengine_system_libpng=ON \
+ -DFEATURE_webengine_system_libvpx=OFF \
+ -DFEATURE_webengine_system_libwebp=ON \
+ -DFEATURE_webengine_system_libxml=OFF \
+ -DFEATURE_webengine_system_minizip=OFF \
+ -DFEATURE_webengine_system_opus=ON \
+ -DFEATURE_webengine_system_poppler=OFF \
+ -DFEATURE_webengine_system_pulseaudio=OFF \
+ -DFEATURE_webengine_system_re2=OFF \
+ -DFEATURE_webengine_system_snappy=OFF \
+ -DFEATURE_webengine_system_zlib=ON \
+ -DFEATURE_webengine_v8_snapshot_support=OFF \
+ -DFEATURE_webengine_webchannel=ON \
+ -DFEATURE_webengine_webrtc=OFF \
+ -DFEATURE_webengine_webrtc_pipewire=OFF \
+ -DFEATURE_webenginequick_ui_delegates=ON
+endif
+
+QT6_CONF_TOOL := cmake
+QT6_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -G Ninja \
+ --log-level=$(if $(filter 1,$(PTXDIST_VERBOSE)),TRACE,STATUS) \
+ -DPython_EXECUTABLE=$(PTXDIST_SYSROOT_HOST)/usr/lib/wrapper/$(SYSTEMPYTHON3) \
+ $(sort $(QT6_CONF_OPT))
+
+ifdef PTXCONF_QT6_GUI
+ifndef PTXCONF_QT6_PLATFORM_DEFAULT
+$(call ptx/error, Qt6: select at least one GUI platform!)
+endif
+endif
+
+# change default C++ standard
+# the detected standard is not used for configure and examples
+QT6_CXXFLAGS := -std=c++11
+
+$(STATEDIR)/qt6.prepare:
+ @$(call targetinfo)
+ @rm -rf "$(QT6_DIR)/qtbase/mkspecs/linux-ptx-g++"
+ @mkdir "$(QT6_DIR)/qtbase/mkspecs/linux-ptx-g++"
+ @$(foreach file, $(wildcard $(QT6_MKSPECS)/*), \
+ $(QT6_CONF_ENV) ptxd_replace_magic "$(file)" > \
+ "$(QT6_DIR)/qtbase/mkspecs/linux-ptx-g++/$(notdir $(file))"$(ptx/nl))
+
+ifdef PTXCONF_QT6_MODULE_QTWEBENGINE
+ifndef PTXCONF_ARCH_LP64
+ @echo "Checking for 32bit g++ host compiler ..."
+ @$(call world/execute, QT6, \
+ echo -e '#include <list>\n int main() { std::list<int> a; return 0; }' | \
+ g++ -x c++ - -o /dev/null -m32 &> /dev/null || \
+ ptxd_bailout "32bit g++ host compiler is missing (needed for QtWebengine)." \
+ "Please install g++-multilib (debian)")
+endif
+endif
+ @+$(call world/prepare, QT6)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/qt6.install:
+ @$(call targetinfo)
+ @$(call world/install, QT6)
+ @find $(QT6_PKGDIR) -name '*.qmltypes' | xargs -r rm
+ @find $(QT6_PKGDIR) -name '*.pri' -o -name '*.cmake' | \
+ xargs sed -i -e 's;$(PTXDIST_WORKSPACE);@WORKSPACE@;g' \
+ -e 's;$(shell readlink -f $(PTXDIST_WORKSPACE));@WORKSPACE@;g'
+ @$(call touch)
+
+QT6_QT_CONF := $(PTXDIST_SYSROOT_TARGET)/usr/bin/target_qt.conf
+
+QT6_CROSS_TOOLS := \
+ qmake \
+ qt-cmake \
+ qt-cmake-private \
+ qt-cmake-standalone-test \
+ qt-configure-module \
+ qtpaths
+
+QT6_BUILD_TOOLS := \
+ moc \
+ rcc \
+ uic
+
+$(STATEDIR)/qt6.install.post:
+ @$(call targetinfo)
+ @find $(QT6_PKGDIR) -name '*.pri' -o -name '*.cmake' | \
+ xargs sed -i 's;@WORKSPACE@;$(PTXDIST_WORKSPACE);g'
+ @$(call world/install.post, QT6)
+ @echo "[Paths]" > $(QT6_QT_CONF)
+ @echo "Prefix=/usr" >> $(QT6_QT_CONF)
+ @echo "HostPrefix=$(PTXDIST_SYSROOT_HOST)/usr" >> $(QT6_QT_CONF)
+ @echo "HostBinaries=$(PTXDIST_SYSROOT_CROSS)/usr/bin/qt6" >> $(QT6_QT_CONF)
+ @echo "HostLibraryExecutables=lib/qt6/libexec" >> $(QT6_QT_CONF)
+ @echo "HostData=$(SYSROOT)/usr/lib/qt6" >> $(QT6_QT_CONF)
+ @echo "Sysroot=" >> $(QT6_QT_CONF)
+ @echo "SysrootifyPrefix=false" >> $(QT6_QT_CONF)
+ @echo "TargetSpec=linux-ptx-g++" >> $(QT6_QT_CONF)
+ @echo "HostSpec=" >> $(QT6_QT_CONF)
+ @echo "Headers=$(SYSROOT)/usr/include/qt6" >> $(QT6_QT_CONF)
+ @echo "Libraries=$(SYSROOT)/usr/lib" >> $(QT6_QT_CONF)
+ @echo "Imports=/usr/lib/qt6/imports" >> $(QT6_QT_CONF)
+ @echo "Qml2Imports=/usr/lib/qt6/qml" >> $(QT6_QT_CONF)
+ @echo "" >> $(QT6_QT_CONF)
+# # qmake is found in sysroot-cross (via PATH) and sysroot target (via cmake)
+ @rm -rf $(PTXDIST_SYSROOT_CROSS)/bin/qt6
+ @mkdir $(PTXDIST_SYSROOT_CROSS)/bin/qt6
+ @$(foreach tool,$(QT6_CROSS_TOOLS), \
+ echo -e '#!/bin/sh\nexec $(PTXDIST_SYSROOT_TARGET)/usr/bin/$(tool) "$${@}"' > \
+ $(PTXDIST_SYSROOT_CROSS)/bin/qt6/$(tool)$(ptx/nl) \
+ chmod +x $(PTXDIST_SYSROOT_CROSS)/bin/qt6/$(tool)$(ptx/nl))
+ @$(foreach tool, $(QT6_BUILD_TOOLS), \
+ $(if $(wildcard $(PTXDIST_SYSROOT_HOST)/usr/lib/qt6/libexec/$(tool)), \
+ ln -vsf ../../sysroot-host/lib/qt6/libexec/$(tool) $(PTXDIST_SYSROOT_CROSS)/bin/$(tool)6$(ptx/nl)))
+ @$(call touch)
+
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+QT6_LIBS-y :=
+QT6_QML-y :=
+
+### Qt3d ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QT3D) += Qt63DAnimation Qt63DCore Qt63DExtras Qt63DInput Qt63DLogic Qt63DRender
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QT3D_QUICK) += Qt63DQuick Qt63DQuickAnimation Qt63DQuickExtras Qt63DQuickInput Qt63DQuickRender Qt63DQuickScene2D
+QT6_QML-$(PTXCONF_QT6_MODULE_QT3D_QUICK) += Qt3D
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QT3D) += geometryloaders/libdefaultgeometryloader
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QT3D) += geometryloaders/libgltfgeometryloader
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QT3D) += sceneparsers/libgltfsceneexport
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QT3D) += sceneparsers/libgltfsceneimport
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QT3D_QUICK) += renderplugins/libscene2d
+
+### QtBase ###
+QT6_LIBS-y += Qt6Core
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE) += Qt6Concurrent
+QT6_LIBS-$(PTXCONF_QT6_DBUS) += Qt6DBus
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE_GUI) += Qt6Gui
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE) += Qt6Network
+QT6_LIBS-$(PTXCONF_QT6_OPENGL) += Qt6OpenGL
+ifdef PTXCONF_QT6_OPENGL
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE_WIDGETS) += Qt6OpenGLWidgets
+endif
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE_PRINT) += Qt6PrintSupport
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE_SQL) += Qt6Sql
+ifdef PTXCONF_QT6_TEST
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE_WIDGETS) += Qt6Test
+endif
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE_WIDGETS) += Qt6Widgets
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTBASE) += Qt6Xml
+QT6_LIBS-$(PTXCONF_QT6_PLATFORM_EGLFS) += Qt6EglFSDeviceIntegration
+QT6_LIBS-$(PTXCONF_QT6_PLATFORM_EGLFS) += Qt6EglFsKmsGbmSupport
+QT6_LIBS-$(PTXCONF_QT6_PLATFORM_EGLFS) += Qt6EglFsKmsSupport
+QT6_PLUGINS-$(PTXCONF_QT6_INPUT_EVDEV) += generic/libqevdevkeyboardplugin
+QT6_PLUGINS-$(PTXCONF_QT6_INPUT_EVDEV) += generic/libqevdevmouseplugin
+QT6_PLUGINS-$(PTXCONF_QT6_INPUT_EVDEV) += generic/libqevdevtabletplugin
+QT6_PLUGINS-$(PTXCONF_QT6_INPUT_EVDEV) += generic/libqevdevtouchplugin
+QT6_PLUGINS-$(PTXCONF_QT6_INPUT_LIBINPUT) += generic/libqlibinputplugin
+QT6_PLUGINS-$(PTXCONF_QT6_GIF) += imageformats/libqgif
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTBASE_GUI) += imageformats/libqico
+QT6_PLUGINS-$(PTXCONF_QT6_LIBJPEG) += imageformats/libqjpeg
+QT6_PLUGINS-$(PTXCONF_QT6_PLATFORM_EGLFS) += platforms/libqeglfs
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTBASE_GUI) += platforms/libqminimal
+QT6_PLUGINS-$(PTXCONF_QT6_PLATFORM_EGLFS) += platforms/libqminimalegl
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTBASE_GUI) += platforms/libqoffscreen
+QT6_PLUGINS-$(PTXCONF_QT6_PLATFORM_EGLFS) += egldeviceintegrations/libqeglfs-kms-integration
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTBASE_SQL_MYSQL) += sqldrivers/libqsqlmysql
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTBASE_SQL_SQLITE) += sqldrivers/libqsqlite
+
+### QtCharts ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTCHARTS) += Qt6Charts
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTCHARTS_QUICK) += Qt6ChartsQml
+QT6_QML-$(PTXCONF_QT6_MODULE_QTCHARTS_QUICK) += QtCharts
+
+### QtConnectivity ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTCONNECTIVITY) += Qt6Bluetooth
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTCONNECTIVITY) += Qt6Nfc
+
+### QtDataVisualization ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDATAVIS3D) += Qt6DataVisualization
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDATAVIS3D) += Qt6DataVisualizationQml
+QT6_QML-$(PTXCONF_QT6_MODULE_QTDATAVIS3D) += QtDataVisualization
+
+### QtDeclarative ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += Qt6Qml
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += Qt6QmlCore
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += Qt6QmlLocalStorage
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += Qt6QmlXmlListModel
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QmlModels
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QmlWorkerScript
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6Quick
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickControls2
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickControls2Impl
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickDialogs2
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickDialogs2Utils
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickDialogs2QuickImpl
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickLayouts
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickShapes
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickTemplates2
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK_WIDGETS) += Qt6QuickWidgets
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK_PARTICLES) += Qt6QuickParticles
+ifdef PTXCONF_QT6_TEST
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += Qt6QuickTest
+endif
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_debugger
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_local
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_messages
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_native
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_nativedebugger
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_preview
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_profiler
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK_DEBUG) += qmltooling/libqmldbg_quickprofiler
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_server
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_DEBUG) += qmltooling/libqmldbg_tcp
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK_DEBUG) += qmltooling/libqmldbg_inspector
+QT6_QML-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += Qt
+QT6_QML-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += QtCore
+QT6_QML-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += QtQml
+QT6_QML-$(PTXCONF_QT6_MODULE_QTDECLARATIVE) += QtQuick
+ifdef PTXCONF_QT6_TEST
+QT6_QML-$(PTXCONF_QT6_MODULE_QTDECLARATIVE_QUICK) += QtTest
+endif
+
+### QtImageFormats ###
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTIMAGEFORMATS) += imageformats/libqicns
+QT6_PLUGINS-$(PTXCONF_QT6_LIBMNG) += imageformats/libqmng
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTIMAGEFORMATS) += imageformats/libqtga
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTIMAGEFORMATS) += imageformats/libqtiff
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTIMAGEFORMATS) += imageformats/libqwbmp
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTIMAGEFORMATS) += imageformats/libqwebp
+
+### QtLottie ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTLOTTIE) += Qt6Bodymovin
+
+### QtMultimedia ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTMULTIMEDIA) += Qt6Multimedia
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTMULTIMEDIA_QUICK) += Qt6MultimediaQuick
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTMULTIMEDIA_WIDGETS) += Qt6MultimediaWidgets
+QT6_QML-$(PTXCONF_QT6_MODULE_QTMULTIMEDIA_QUICK) += QtMultimedia
+
+### QtNetworkAuth ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTNETWORKAUTH) += Qt6NetworkAuth
+
+### QtPositioning ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTPOSITIONING) += Qt6Positioning
+
+### QtQuick3D ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3D
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DAssetImport
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DAssetUtils
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DEffects
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DGlslParser
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DHelpers
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DIblBaker
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DParticleEffects
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DParticles
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DRuntimeRender
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICK3D) += Qt6Quick3DUtils
+QT6_QML-$(PTXCONF_QT6_MODULE_QTQUICK3D) += QtQuick3D
+
+### QtQuickTimeline ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTQUICKTIMELINE) += Qt6QuickTimeline
+
+### QtRemoteObjects ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTREMOTEOBJECTS) += Qt6RemoteObjects
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTREMOTEOBJECTS_QUICK) += Qt6RemoteObjectsQml
+QT6_QML-$(PTXCONF_QT6_MODULE_QTREMOTEOBJECTS_QUICK) += QtRemoteObjects
+
+### QtShaderTools ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSHADERTOOLS) += Qt6ShaderTools
+
+### QtScxml ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSCXML) += Qt6Scxml
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSCXML) += Qt6StateMachine
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSCXML_QUICK) += Qt6StateMachineQml
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSCXML_QUICK) += Qt6ScxmlQml
+QT6_QML-$(PTXCONF_QT6_MODULE_QTSCXML_QUICK) += QtScxml
+
+### QtSensors ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSENSORS) += Qt6Sensors
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSENSORS_QUICK) += Qt6SensorsQuick
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTSENSORS) += sensors/libqtsensors_generic
+ifdef PTXCONF_QT6_DBUS
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTSENSORS) += sensors/libqtsensors_iio-sensor-proxy
+endif
+QT6_QML-$(PTXCONF_QT6_MODULE_QTSENSORS_QUICK) += QtSensors
+
+### QtSerialBus ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSERIALBUS) += Qt6SerialBus
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTSERIALBUS) += canbus/libqtsocketcanbus
+
+### QtSerialPort ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSERIALPORT) += Qt6SerialPort
+
+### QtSvg ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTSVG) += Qt6Svg
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTSVG_WIDGETS) += iconengines/libqsvgicon
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTSVG) += imageformats/libqsvg
+
+### QtVirtualKeyboard ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTVIRTUALKEYBOARD) += Qt6VirtualKeyboard
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTVIRTUALKEYBOARD) += platforminputcontexts/libqtvirtualkeyboardplugin
+
+### QtWayland ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWAYLAND) += Qt6WaylandClient
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND) += platforms/libqwayland-generic
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWAYLAND_MESA) += Qt6WaylandEglClientHwIntegration
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND_MESA) += platforms/libqwayland-egl
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND_MESA) += wayland-graphics-integration-client/libqt-plugin-wayland-egl
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND_MESA) += wayland-graphics-integration-client/libdmabuf-server
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND_MESA) += wayland-graphics-integration-client/libdrm-egl-server
+
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND) += wayland-shell-integration/libfullscreen-shell-v1
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND) += wayland-shell-integration/libivi-shell
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND) += wayland-shell-integration/libqt-shell
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND) += wayland-shell-integration/libxdg-shell
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWAYLAND) += wayland-decoration-client/libbradient
+
+### QtWebChannel ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBCHANNEL) += Qt6WebChannel
+QT6_QML-$(PTXCONF_QT6_MODULE_QTWEBCHANNEL_QUICK) += QtWebChannel
+
+### QtWebEngine ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBENGINE) += Qt6WebEngineCore
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBENGINE) += Qt6WebEngineQuick
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBENGINE) += Qt6WebEngineQuickDelegatesQml
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBENGINE_WIDGETS) += Qt6WebEngineWidgets
+QT6_QML-$(PTXCONF_QT6_MODULE_QTWEBENGINE) += QtWebEngine
+
+### QtWebSockets ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBSOCKETS) += Qt6WebSockets
+QT6_QML-$(PTXCONF_QT6_MODULE_QTWEBSOCKETS_QUICK) += QtWebSockets
+
+### QtWebView ###
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBVIEW) += Qt6WebView
+QT6_LIBS-$(PTXCONF_QT6_MODULE_QTWEBVIEW) += Qt6WebViewQuick
+QT6_QML-$(PTXCONF_QT6_MODULE_QTWEBVIEW) += QtWebView
+QT6_PLUGINS-$(PTXCONF_QT6_MODULE_QTWEBVIEW) += webview/libqtwebview_webengine
+
+
+$(STATEDIR)/qt6.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, qt6)
+ @$(call install_fixup, qt6,PRIORITY,optional)
+ @$(call install_fixup, qt6,SECTION,base)
+ @$(call install_fixup, qt6,AUTHOR,"Michael Olbrich <m.olbrich@pengutronix.de>")
+ @$(call install_fixup, qt6,DESCRIPTION,missing)
+
+ @$(foreach lib, $(QT6_LIBS-y), \
+ $(call install_lib, qt6, 0, 0, 0644, lib$(lib))$(ptx/nl))
+
+ifdef PTXCONF_QT6_MODULE_QTWEBENGINE
+ @$(call install_copy, qt6, 0, 0, 0755, -, \
+ /usr/lib/qt6/libexec/QtWebEngineProcess)
+ @$(call install_copy, qt6, 0, 0, 0644, -, \
+ /usr/share/qt6/resources/icudtl.dat)
+ @$(call install_copy, qt6, 0, 0, 0644, -, \
+ /usr/share/qt6/resources/qtwebengine_devtools_resources.pak)
+ @$(call install_copy, qt6, 0, 0, 0644, -, \
+ /usr/share/qt6/resources/qtwebengine_resources.pak)
+ @$(call install_copy, qt6, 0, 0, 0644, -, \
+ /usr/share/qt6/resources/qtwebengine_resources_100p.pak)
+ @$(call install_copy, qt6, 0, 0, 0644, -, \
+ /usr/share/qt6/resources/qtwebengine_resources_200p.pak)
+endif
+
+ @$(foreach plugin, $(QT6_PLUGINS-y), \
+ $(call install_copy, qt6, 0, 0, 0644, -, \
+ /usr/lib/qt6/plugins/$(plugin).so)$(ptx/nl))
+
+ @$(foreach import, $(QT6_IMPORTS-y), \
+ $(call install_tree, qt6, 0, 0, -, \
+ /usr/lib/qt6/imports/$(import))$(ptx/nl))
+
+ @$(foreach qml, $(QT6_QML-y), \
+ $(call install_glob, qt6, 0, 0, -, \
+ /usr/lib/qt6/qml/$(qml),,*/labs */test)$(ptx/nl))
+
+ifdef PTXCONF_QT6_MODULE_QTDECLARATIVE_QML
+ @$(call install_copy, qt6, 0, 0, 0755, -, /usr/bin/qml)
+endif
+ifdef PTXCONF_QT6_MODULE_QTDECLARATIVE_QMLSCENE
+ @$(call install_copy, qt6, 0, 0, 0755, -, /usr/bin/qmlscene)
+endif
+
+ @$(call install_finish, qt6)
+
+ @$(call touch)
+
+# vim: syntax=make