package/qt5/qt5enginio: switch to a depends on for SSL support
qt5enginio requires SSL support in qt5base. However, the SSL support in qt5base is a bit annoying: while it can be provided by either openssl or libressl for Qt latest, it can only be provided by libressl for Qt 5.6. Fabrice Fontaine initially proposed [0] a dependency on BR2_PACKAGE_QT5BASE_OPENSSL, and a long discussion followed. Ultimately, we found the dependency to not be nice, as it required users to know that they need to enable some SSL implementation to be able to enable qt5enginio. The current solution enables BR2_PACKAGE_OPENSSL (the virtual package), which can be either openssl or libressl. This choice was done under the assumption that we anyway don't test Qt 5.6 in the autobuilders. However, this is incorrect: Qt latest needs gcc >= 4.8 on host and target, and we have configurations in the autobuilders that don't meet this requirement, and therefore build Qt 5.6, and face a build issue due to OpenSSL being used instead of LibreSSL. After additional thinking, this commit simply gets back to the original solution proposed by Fabrice: a "depends on". We simply add Config.in comments to help the user in knowing what is missing to enable qt5enginio. An alternate solution would have been to disallow selecting qt5enginio when Qt 5.6 is used. But fixing the qt5enginio build is also needed for the LTS branch, and we can't drop qt5enginio on Qt 5.6 in the LTS branch, as that could bother users. Fixes: http://autobuild.buildroot.net/results/227d4b9e2b48c5b3f2dcf0fad9eefa2816c1eb0c/ [0] https://patchwork.ozlabs.org/patch/1053883/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
20ab45c56c
commit
035540b64a
|
@ -2,7 +2,7 @@ config BR2_PACKAGE_QT5ENGINIO
|
||||||
bool "qt5enginio"
|
bool "qt5enginio"
|
||||||
select BR2_PACKAGE_QT5BASE_GUI
|
select BR2_PACKAGE_QT5BASE_GUI
|
||||||
select BR2_PACKAGE_QT5BASE_NETWORK
|
select BR2_PACKAGE_QT5BASE_NETWORK
|
||||||
select BR2_PACKAGE_OPENSSL
|
depends on BR2_PACKAGE_QT5BASE_OPENSSL
|
||||||
help
|
help
|
||||||
Qt is a cross-platform application and UI framework for
|
Qt is a cross-platform application and UI framework for
|
||||||
developers using C++.
|
developers using C++.
|
||||||
|
@ -15,9 +15,12 @@ config BR2_PACKAGE_QT5ENGINIO
|
||||||
|
|
||||||
http://doc.qt.io/archives/qt-5.5/enginio-index.html
|
http://doc.qt.io/archives/qt-5.5/enginio-index.html
|
||||||
|
|
||||||
# Forcibly selecting libressl is not possible because it is from a choice, and
|
# When Qt 5.6 is removed, replace the depends on
|
||||||
# depending on it is also not possible because we select openssl. So just a
|
# BR2_PACKAGE_QT5BASE_OPENSSL above by a select BR2_PACKAGE_OPENSSL.
|
||||||
# a warning.
|
comment "qt5enginio needs libressl"
|
||||||
comment "qt5enginio needs libressl for Qt5.6"
|
|
||||||
depends on BR2_PACKAGE_QT5_VERSION_5_6
|
depends on BR2_PACKAGE_QT5_VERSION_5_6
|
||||||
depends on !BR2_PACKAGE_LIBRESSL
|
depends on !BR2_PACKAGE_QT5BASE_OPENSSL
|
||||||
|
|
||||||
|
comment "qt5enginio needs openssl"
|
||||||
|
depends on BR2_PACKAGE_QT5_VERSION_LATEST
|
||||||
|
depends on !BR2_PACKAGE_QT5BASE_OPENSSL
|
||||||
|
|
Loading…
Reference in a new issue