[Buildroot] [PATCH v6 5/9] qt5declarative: enable Quick for non-GL platforms for Qt 5.8.0
Arnout Vandecappelle
arnout at mind.be
Thu Feb 2 22:20:14 UTC 2017
On 31-01-17 08:59, Zoltan Gyarmati wrote:
> From: Naumann Andreas <ANaumann at ultratronik.de>
>
> Since Qt 5.8.0 provides a software rasterizer we can enable Quick for non-GL
> platforms. However, some modules provide less functionality without OpenGL,
> so install steps have to be limited for the softrender only backend:
> - qtmultimedia does not provide qml
>
> Signed-off-by: Andreas Naumann <anaumann at ultratronik.de>
> Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati at gmail.com>
> ---
> package/qt5/qt5declarative/Config.in | 6 +++---
> package/qt5/qt5multimedia/qt5multimedia.mk | 3 +++
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
> index eba4c8d..a8accdb 100644
> --- a/package/qt5/qt5declarative/Config.in
> +++ b/package/qt5/qt5declarative/Config.in
> @@ -15,11 +15,11 @@ config BR2_PACKAGE_QT5DECLARATIVE
> if BR2_PACKAGE_QT5DECLARATIVE
>
> comment "quick module needs an OpenGL-capable backend"
> - depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
> + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_QT5_VERSION_5_6
>
> config BR2_PACKAGE_QT5DECLARATIVE_QUICK
> bool "quick module"
> - select BR2_PACKAGE_QT5BASE_OPENGL
> - depends on BR2_PACKAGE_QT5_GL_AVAILABLE
> + select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE
> + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_QT5_VERSION_5_8
This means that the conditions that are added to be able to select
BR2_PACKAGE_QT5DECLARATIVE_QUICK are no longer correct (e.g. in
qt5quickcontrols). Since the condition is a bit complicated, it's probably
better to add an auxiliary symbol:
config BR2_PACKAGE_QT5DECLARATIVE_QUICK_AVAILABLE
default y
depends on BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_QT5_VERSION_5_6
comment "quick module needs an OpenGL-capable backend"
depends on !BR2_PACKAGE_QT5DECLARATIVE_QUICK_AVAILABLE
etc.
Do that as a separate patch that converts all the existing users of
BR2_PACKAGE_QT5DECLARATIVE_QUICK.
Note that it has to be checked if all the packages that now depend on
BR2_PACKAGE_QT5_GL_AVAILABLE really do work with the softrenderer.
>
> endif
> diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk
> index 7ce947a..b11b8d1 100644
> --- a/package/qt5/qt5multimedia/qt5multimedia.mk
> +++ b/package/qt5/qt5multimedia/qt5multimedia.mk
> @@ -58,11 +58,14 @@ define QT5MULTIMEDIA_INSTALL_TARGET_LIBS
> endef
> endif
>
> +# QtMultimedia QMLs have a hard dependency on OpenGL -> not available for softraster backends
Line is too long - wrap at 80 characters.
Just to be sure: if you try to use these QML classes you get a runtime failure,
correct? So the only reason not to copy them is that we know they won't work anyway?
Regards,
Arnout
> +ifeq ($(BR2_PACKAGE_QT5_GL_AVAILABLE),y)
> ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
> define QT5MULTIMEDIA_INSTALL_TARGET_QMLS
> cp -dpfr $(STAGING_DIR)/usr/qml/QtMultimedia $(TARGET_DIR)/usr/qml/
> endef
> endif
> +endif
>
> ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
> define QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list