kumquat-buildroot/package/qt6/qt6base/qt6base.mk
Jesse Van Gavere c84f8742be package/qt6/qt6base: add support for sql module w/ sqlite
Even though Qt6 support using a bundled sqlite, in Buildroot, we
always prefer to use non-bundled libraries when possible.

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-09-20 08:09:24 +02:00

220 lines
5.7 KiB
Makefile

################################################################################
#
# 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)
QT6BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL
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_gui=OFF \
-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_avx512vl=OFF
define QT6BASE_BUILD_CMDS
$(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6BASE_BUILDDIR)
endef
define QT6BASE_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) --prefix $(STAGING_DIR)/usr
endef
define QT6BASE_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) --prefix $(TARGET_DIR)/usr
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_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))