################################################################################ # # qt6base # ################################################################################ QT6BASE_VERSION = $(QT6_VERSION) QT6BASE_SITE = $(QT6_SITE) QT6BASE_SOURCE = qtbase-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6BASE_VERSION).tar.xz QT6BASE_LICENSE = \ GPL-2.0+ or LGPL-3.0, \ GPL-3.0 with exception (tools), \ GFDL-1.3 (docs), \ Apache-2.0, \ BSD-3-Clause, \ BSL-1.0, \ MIT QT6BASE_LICENSE_FILES = \ LICENSES/Apache-2.0.txt \ LICENSES/BSD-3-Clause.txt \ LICENSES/BSL-1.0.txt \ LICENSES/GFDL-1.3-no-invariants-only.txt \ LICENSES/GPL-2.0-only.txt \ LICENSES/GPL-3.0-only.txt \ LICENSES/LGPL-3.0-only.txt \ LICENSES/MIT.txt \ LICENSES/Qt-GPL-exception-1.0.txt QT6BASE_DEPENDENCIES = \ host-ninja \ host-qt6base \ double-conversion \ libb2 \ pcre2 \ zlib QT6BASE_INSTALL_STAGING = YES QT6BASE_CONF_OPTS = \ -GNinja \ -DQT_HOST_PATH=$(HOST_DIR) \ -DFEATURE_concurrent=OFF \ -DFEATURE_xml=OFF \ -DFEATURE_sql=OFF \ -DFEATURE_testlib=OFF \ -DFEATURE_network=OFF \ -DFEATURE_dbus=OFF \ -DFEATURE_icu=OFF \ -DFEATURE_glib=OFF \ -DFEATURE_system_doubleconversion=ON \ -DFEATURE_system_pcre2=ON \ -DFEATURE_system_zlib=ON \ -DFEATURE_system_libb2=ON # x86 optimization options. While we have a BR2_X86_CPU_HAS_AVX512, it # is not clear yet how it maps to all the avx512* options of Qt, so we # for now keeps them disabled. QT6BASE_CONF_OPTS += \ -DFEATURE_sse2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \ -DFEATURE_sse3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \ -DFEATURE_sse4_1=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \ -DFEATURE_sse4_2=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \ -DFEATURE_ssse3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF) \ -DFEATURE_avx=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \ -DFEATURE_avx2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \ -DFEATURE_avx512bw=OFF \ -DFEATURE_avx512cd=OFF \ -DFEATURE_avx512dq=OFF \ -DFEATURE_avx512er=OFF \ -DFEATURE_avx512f=OFF \ -DFEATURE_avx512ifma=OFF \ -DFEATURE_avx512pf=OFF \ -DFEATURE_avx512vbmi=OFF \ -DFEATURE_avx512vbmi2=OFF \ -DFEATURE_avx512vl=OFF \ -DFEATURE_vaes=OFF define QT6BASE_BUILD_CMDS $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6BASE_BUILDDIR) endef define QT6BASE_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) endef define QT6BASE_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) endef HOST_QT6BASE_DEPENDENCIES = \ host-ninja \ host-double-conversion \ host-libb2 \ host-pcre2 \ host-zlib HOST_QT6BASE_CONF_OPTS = \ -GNinja \ -DFEATURE_gui=OFF \ -DFEATURE_concurrent=OFF \ -DFEATURE_xml=ON \ -DFEATURE_sql=OFF \ -DFEATURE_testlib=OFF \ -DFEATURE_network=OFF \ -DFEATURE_dbus=OFF \ -DFEATURE_icu=OFF \ -DFEATURE_glib=OFF \ -DFEATURE_system_doubleconversion=ON \ -DFEATURE_system_libb2=ON \ -DFEATURE_system_pcre2=ON \ -DFEATURE_system_zlib=ON define HOST_QT6BASE_BUILD_CMDS $(HOST_MAKE_ENV) $(BR2_CMAKE) --build $(HOST_QT6BASE_BUILDDIR) endef define HOST_QT6BASE_INSTALL_CMDS $(HOST_MAKE_ENV) $(BR2_CMAKE) --install $(HOST_QT6BASE_BUILDDIR) endef # Conditional blocks below are ordered by alphabetic ordering of the # BR2_PACKAGE_* option. ifeq ($(BR2_PACKAGE_HAS_UDEV),y) QT6BASE_CONF_OPTS += -DFEATURE_libudev=ON QT6BASE_DEPENDENCIES += udev else QT6BASE_CONF_OPTS += -DFEATURE_libudev=OFF endif ifeq ($(BR2_PACKAGE_ICU),y) QT6BASE_CONF_OPTS += -DFEATURE_icu=ON QT6BASE_DEPENDENCIES += icu else QT6BASE_CONF_OPTS += -DFEATURE_icu=OFF endif ifeq ($(BR2_PACKAGE_LIBGLIB2),y) QT6BASE_CONF_OPTS += -DFEATURE_glib=ON QT6BASE_DEPENDENCIES += libglib2 else QT6BASE_CONF_OPTS += -DFEATURE_glib=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_GUI),y) QT6BASE_CONF_OPTS += \ -DFEATURE_gui=ON \ -DFEATURE_freetype=ON \ -DFEATURE_vulkan=OFF QT6BASE_DEPENDENCIES += freetype ifeq ($(BR2_PACKAGE_QT6BASE_LINUXFB),y) QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=ON else QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_XCB),y) QT6BASE_CONF_OPTS += \ -DFEATURE_xcb=ON \ -DFEATURE_xcb_xlib=ON \ -DFEATURE_xkbcommon=ON \ -DFEATURE_xkbcommon_x11=ON QT6BASE_DEPENDENCIES += \ libxcb \ libxkbcommon \ xcb-util-wm \ xcb-util-image \ xcb-util-keysyms \ xcb-util-renderutil \ xlib_libX11 else QT6BASE_CONF_OPTS += -DFEATURE_xcb=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_HARFBUZZ),y) QT6BASE_CONF_OPTS += -DFEATURE_harfbuzz=ON ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),y) # system harfbuzz in case __sync for 4 bytes is supported QT6BASE_CONF_OPTS += -DQT_USE_BUNDLED_BundledHarfbuzz=OFF QT6BASE_DEPENDENCIES += harfbuzz else #BR2_TOOLCHAIN_HAS_SYNC_4 # qt harfbuzz otherwise (using QAtomic instead) QT6BASE_CONF_OPTS += -DQT_USE_BUNDLED_BundledHarfbuzz=ON QT6BASE_LICENSE += , MIT (harfbuzz) QT6BASE_LICENSE_FILES += src/3rdparty/harfbuzz-ng/COPYING endif else QT6BASE_CONF_OPTS += -DFEATURE_harfbuzz=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_PNG),y) QT6BASE_CONF_OPTS += -DFEATURE_png=ON -DFEATURE_system_png=ON QT6BASE_DEPENDENCIES += libpng else QT6BASE_CONF_OPTS += -DFEATURE_png=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_GIF),y) QT6BASE_CONF_OPTS += -DFEATURE_gif=ON else QT6BASE_CONF_OPTS += -DFEATURE_gif=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_JPEG),y) QT6BASE_CONF_OPTS += -DFEATURE_jpeg=ON QT6BASE_DEPENDENCIES += jpeg else QT6BASE_CONF_OPTS += -DFEATURE_jpeg=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_PRINTSUPPORT),y) QT6BASE_CONF_OPTS += -DFEATURE_printsupport=ON ifeq ($(BR2_PACKAGE_CUPS),y) QT6BASE_CONF_OPTS += -DFEATURE_cups=ON QT6BASE_DEPENDENCIES += cups else QT6BASE_CONF_OPTS += -DFEATURE_cups=OFF endif else QT6BASE_CONF_OPTS += -DFEATURE_printsupport=OFF endif ifeq ($(BR2_PACKAGE_LIBDRM),y) QT6BASE_CONF_OPTS += -DFEATURE_kms=ON QT6BASE_DEPENDENCIES += libdrm else QT6BASE_CONF_OPTS += -DFEATURE_kms=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_FONTCONFIG),y) QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=ON QT6BASE_DEPENDENCIES += fontconfig else QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_WIDGETS),y) QT6BASE_CONF_OPTS += -DFEATURE_widgets=ON # only enable gtk support if libgtk3 X11 backend is enabled ifeq ($(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_LIBGTK3_X11),yy) QT6BASE_CONF_OPTS += -DFEATURE_gtk3=ON QT6BASE_DEPENDENCIES += libgtk3 else QT6BASE_CONF_OPTS += -DFEATURE_gtk3=OFF endif else QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF endif ifeq ($(BR2_PACKAGE_LIBINPUT),y) QT6BASE_CONF_OPTS += -DFEATURE_libinput=ON QT6BASE_DEPENDENCIES += libinput else QT6BASE_CONF_OPTS += -DFEATURE_libinput=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_TSLIB),y) QT6BASE_CONF_OPTS += -DFEATURE_tslib=ON QT6BASE_DEPENDENCIES += tslib else QT6BASE_CONF_OPTS += -DFEATURE_tslib=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_EGLFS),y) QT6BASE_CONF_OPTS += -DFEATURE_egl=ON -DFEATURE_eglfs=ON QT6BASE_DEPENDENCIES += libegl libgbm else QT6BASE_CONF_OPTS += -DFEATURE_eglfs=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP),y) QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengl_desktop=ON QT6BASE_DEPENDENCIES += libgl else ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_ES2),y) QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengles2=ON QT6BASE_DEPENDENCIES += libgles else QT6BASE_CONF_OPTS += -DFEATURE_opengl=OFF -DINPUT_opengl=no endif else QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF endif QT6BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT6BASE_DEFAULT_QPA)) QT6BASE_CONF_OPTS += $(if $(QT6BASE_DEFAULT_QPA),-DQT_QPA_DEFAULT_PLATFORM=$(QT6BASE_DEFAULT_QPA)) ifeq ($(BR2_PACKAGE_OPENSSL),y) QT6BASE_CONF_OPTS += -DINPUT_openssl=yes QT6BASE_DEPENDENCIES += openssl else QT6BASE_CONF_OPTS += -DINPUT_openssl=no endif ifeq ($(BR2_PACKAGE_QT6BASE_CONCURRENT),y) QT6BASE_CONF_OPTS += -DFEATURE_concurrent=ON else QT6BASE_CONF_OPTS += -DFEATURE_concurrent=OFF endif # We need host-qt6base with D-Bus support, otherwise: "the tool # "Qt6::qdbuscpp2xml" was not found in the Qt6DBusTools package." ifeq ($(BR2_PACKAGE_QT6BASE_DBUS),y) QT6BASE_CONF_OPTS += -DFEATURE_dbus=ON -DINPUT_dbus=linked QT6BASE_DEPENDENCIES += dbus HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=ON HOST_QT6BASE_DEPENDENCIES += host-dbus else QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF HOST_QT6BASE_CONF_OPTS += -DFEATURE_dbus=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_NETWORK),y) QT6BASE_CONF_OPTS += -DFEATURE_network=ON else QT6BASE_CONF_OPTS += -DFEATURE_network=OFF endif # Qt6 SQL Plugins ifeq ($(BR2_PACKAGE_QT6BASE_SQL),y) QT6BASE_CONF_OPTS += -DFEATURE_sql=ON QT6BASE_CONF_OPTS += -DFEATURE_sql_db2=OFF -DFEATURE_sql_ibase=OFF -DFEATURE_sql_oci=OFF -DFEATURE_sql_odbc=OFF ifeq ($(BR2_PACKAGE_QT6BASE_MYSQL),y) QT6BASE_CONF_OPTS += -DFEATURE_sql_mysql=ON QT6BASE_DEPENDENCIES += mysql else QT6BASE_CONF_OPTS += -DFEATURE_sql_mysql=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_PSQL),y) QT6BASE_CONF_OPTS += -DFEATURE_sql_psql=ON QT6BASE_DEPENDENCIES += postgresql else QT6BASE_CONF_OPTS += -DFEATURE_sql_psql=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_SQLITE),y) QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=ON -DFEATURE_system_sqlite=ON QT6BASE_DEPENDENCIES += sqlite else QT6BASE_CONF_OPTS += -DFEATURE_sql_sqlite=OFF endif else QT6BASE_CONF_OPTS += -DFEATURE_sql=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_SYSLOG),y) QT6BASE_CONF_OPTS += -DFEATURE_syslog=ON else QT6BASE_CONF_OPTS += -DFEATURE_syslog=OFF endif ifeq ($(BR2_PACKAGE_SYSTEMD),y) QT6BASE_CONF_OPTS += -DFEATURE_journald=ON QT6BASE_DEPENDENCIES += systemd else QT6BASE_CONF_OPTS += -DFEATURE_journald=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_TEST),y) QT6BASE_CONF_OPTS += -DFEATURE_testlib=ON else QT6BASE_CONF_OPTS += -DFEATURE_testlib=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_XML),y) QT6BASE_CONF_OPTS += -DFEATURE_xml=ON else QT6BASE_CONF_OPTS += -DFEATURE_xml=OFF endif ifeq ($(BR2_PACKAGE_ZSTD),y) QT6BASE_CONF_OPTS += -DFEATURE_zstd=ON QT6BASE_DEPENDENCIES += zstd else QT6BASE_CONF_OPTS += -DFEATURE_zstd=OFF endif $(eval $(cmake-package)) $(eval $(host-cmake-package))