qt5: Add an option to select default platform
PATCH v2 1/1 qt5: Add an option to select default platform
Whithout this path, default platform is automaticaly set (generally set to "eglfs" as defined in qt5base/mkspecs/devices/common/linux_device_pre.conf:1). This choice is not always what the user would like. Thus, user have to manually appends "-platform <BACKEND>" to command line when running any qt5 application.
This patch allows user to choose default platform explicitly.
---
v2:
* Fix typo in "minimal".
* Add help for options minimal and offscreen. I didn't find any documentation about offscreen. So, description of this option is my understanding of sources.
package/qt5/qt5base/Config.in | 49 ++++++++++++++++++++++++++++++++++++++++++ package/qt5/qt5base/qt5base.mk | 6 ++++++ 2 files changed, 55 insertions(+)
package/qt5/qt5base/Config.in +49 -0
@@ -144,6 +144,55 @@ config BR2_PACKAGE_QT5BASE_EGLFS comment "eglfs backend available if OpenGLES and EGL are enabled" depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES +choice + prompt "default graphical platform" + default BR2_PACKAGE_QT5BASE_DEFAULT_QPA_MINIMAL + help + Notice you may choose platform at runtime using -platform (-platform + help to get list of compiled platforms). + +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_MINIMAL + bool "minimal" + help + Dummy platform allowing user to launch graphical application without + any real graphical backend + +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_OFFSCREEN + bool "offscreen" + help + Similar to "minimal". However, if compiled with OpenGL, with backend + allows to allocate offscreen OpenGL contexts. + +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_LINUXFB + bool "linuxfb" + depends on BR2_PACKAGE_QT5BASE_LINUXFB + +comment 'linuxfb needs linuxfb support enabled' + depends on !BR2_PACKAGE_QT5BASE_LINUXFB + +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_DIRECTFB + bool "directfb" + depends on BR2_PACKAGE_QT5BASE_DIRECTFB + +comment 'directfb needs directfb support enabled' + depends on !BR2_PACKAGE_QT5BASE_DIRECTFB + +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_XCB + bool "xcb" + depends on BR2_PACKAGE_QT5BASE_XCB + +comment 'xcb needs X.org XCB support enabled' + depends on !BR2_PACKAGE_QT5BASE_XCB + +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_EGLFS + bool "eglfs" + depends on BR2_PACKAGE_QT5BASE_EGLFS + +comment 'eglfs needs eglfs support enabled' + depends on !BR2_PACKAGE_QT5BASE_EGLFS + +endchoice + config BR2_PACKAGE_QT5BASE_PRINTSUPPORT bool "print support module" select BR2_PACKAGE_QT5BASE_WIDGETS
package/qt5/qt5base/qt5base.mk +6 -0
@@ -96,6 +96,12 @@ else QT5BASE_CONFIGURE_OPTS += -no-xcb endif +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_MINIMAL),-qpa minimal) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_OFFSCREEN),-qpa offscreen) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_LINUXFB),-qpa linuxfb) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_XCB),-qpa xcb) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_EGLFS),-qpa eglfs) + ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y) QT5BASE_CONFIGURE_OPTS += -opengl es2 -eglfs QT5BASE_DEPENDENCIES += libgles libegl
Signature · 1 line
2.0.0
PATCH v2 1/1 qt5: Add an option to select default platform
J?r?me, All,
On 2014-07-04 18:11 +0200, J?r?me Pouiller spake thusly:
Quoted 10 lines
Whithout this path, default platform is automaticaly set (generally set to "eglfs" as defined in
qt5base/mkspecs/devices/common/linux_device_pre.conf:1). This choice is not always what the user would like. Thus, user have to manually appends "-platform <BACKEND>" to command line when running any qt5 application.This patch allows user to choose default platform explicitly.
Signed-off-by J?r?me Pouiller <[email protected]>
As discussed in your previous iteration, it was stated that a free-form string would be just better than a choice.
So I'm marking this patchs "Changes REquested" in the Patchwork.
Thanks!
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'