# based on src/corelib/global/qprocessordetection.h
config BR2_PACKAGE_QT6_ARCH_SUPPORTS
	bool
	# no support for ARMv4
	default y if BR2_ARM_CPU_ARMV5 || BR2_ARM_CPU_ARMV6 || BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
	default y if BR2_i386
	default y if BR2_x86_64
	default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
	# sparc 32-bit is supposedly supported, but has issues due to
	# the need of libatomic
	default y if BR2_sparc64
	depends on BR2_USE_MMU

config BR2_PACKAGE_QT6_GL_SUPPORTS
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES

comment "qt6 needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, host gcc >= 8"
	depends on !BR2_PACKAGE_QT5
	depends on BR2_PACKAGE_QT6_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \
		!BR2_HOST_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_HAS_THREADS || \
		BR2_STATIC_LIBS || !BR2_USE_WCHAR

menuconfig BR2_PACKAGE_QT6
	bool "Qt6"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8
	depends on BR2_HOST_GCC_AT_LEAST_8
	depends on BR2_PACKAGE_QT6_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on !BR2_STATIC_LIBS
	depends on BR2_USE_WCHAR
	depends on !BR2_PACKAGE_QT5
	select BR2_PACKAGE_QT6BASE
	help
	  This option enables the Qt6 framework. Sub-options allow to
	  select which modules should be built.

	  http://qt.io

if BR2_PACKAGE_QT6

source "package/qt6/qt6base/Config.in"
source "package/qt6/qt6charts/Config.in"
source "package/qt6/qt6core5compat/Config.in"
source "package/qt6/qt6declarative/Config.in"
source "package/qt6/qt6graphs/Config.in"
source "package/qt6/qt6grpc/Config.in"
source "package/qt6/qt6languageserver/Config.in"
source "package/qt6/qt6mqtt/Config.in"
source "package/qt6/qt6multimedia/Config.in"
source "package/qt6/qt6opcua/Config.in"
source "package/qt6/qt6positioning/Config.in"
source "package/qt6/qt6quick3d/Config.in"
source "package/qt6/qt6quicktimeline/Config.in"
source "package/qt6/qt6scxml/Config.in"
source "package/qt6/qt6serialbus/Config.in"
source "package/qt6/qt6serialport/Config.in"
source "package/qt6/qt6shadertools/Config.in"
source "package/qt6/qt6svg/Config.in"
source "package/qt6/qt6tools/Config.in"
source "package/qt6/qt6virtualkeyboard/Config.in"
source "package/qt6/qt6wayland/Config.in"
source "package/qt6/qt6websockets/Config.in"

endif
