diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2022-07-04 09:00:32 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2023-01-31 10:28:06 +0100 |
commit | a78e1b48b16e24e9d9e1c6affa788e2604c921d5 (patch) | |
tree | 3fd3f4903e24cb40722808c8854bfd6a1fe8cfd3 | |
parent | cce4ed5f50fcbf58c64605843f77a4fb5982d851 (diff) | |
download | ptxdist-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.conf | 26 | ||||
-rw-r--r-- | config/qt6/linux-ptx-g++/qplatformdefs.h | 2 | ||||
-rw-r--r-- | patches/qt-everywhere-src-6.4.2/0001-HACK-qtwebengine-workaround-for-too-long-file-names.patch | 39 | ||||
-rw-r--r-- | patches/qt-everywhere-src-6.4.2/0002-HACK-don-t-complain-about-unnecessary-host-tools.patch | 56 | ||||
-rw-r--r-- | patches/qt-everywhere-src-6.4.2/0003-ptxdist-qtwebengine-allow-building-with-ptxdist.patch | 26 | ||||
-rw-r--r-- | patches/qt-everywhere-src-6.4.2/0004-fix-building-with-QT_FEATURE_qml_devtools-disabled.patch | 29 | ||||
-rw-r--r-- | patches/qt-everywhere-src-6.4.2/series | 7 | ||||
-rw-r--r-- | rules/host-qt6.in | 51 | ||||
-rw-r--r-- | rules/host-qt6.make | 451 | ||||
-rw-r--r-- | rules/qt6.in | 546 | ||||
-rw-r--r-- | rules/qt6.make | 1137 |
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 |