All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] qt5: Add an option to select default platform
@ 2014-07-04  9:36 Jérôme Pouiller
  2014-07-04 11:02 ` Thomas Petazzoni
  2014-07-04 20:03 ` Arnout Vandecappelle
  0 siblings, 2 replies; 5+ messages in thread
From: Jérôme Pouiller @ 2014-07-04  9:36 UTC (permalink / raw)
  To: buildroot

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 <jezz@sysmic.org>
---
 package/qt5/qt5base/Config.in  | 43 ++++++++++++++++++++++++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk |  6 ++++++
 2 files changed, 49 insertions(+)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 70ddcd3..5fa7c02 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -144,6 +144,49 @@ 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"
+
+config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_OFFSCREEN
+	bool "offscreen"
+
+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
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 618251e..9018ff8 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -96,6 +96,12 @@ else
 QT5BASE_CONFIGURE_OPTS += -no-xcb
 endif
 
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_MINIMAL),-qpa minimalb)
+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
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] qt5: Add an option to select default platform
  2014-07-04  9:36 [Buildroot] [PATCH] qt5: Add an option to select default platform Jérôme Pouiller
@ 2014-07-04 11:02 ` Thomas Petazzoni
  2014-07-04 20:03 ` Arnout Vandecappelle
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2014-07-04 11:02 UTC (permalink / raw)
  To: buildroot

Dear J?r?me Pouiller,

On Fri,  4 Jul 2014 11:36:11 +0200, J?r?me Pouiller wrote:

> +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"

Maybe some help text would be appropriate here...

> +
> +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_OFFSCREEN
> +	bool "offscreen"

... and here, to describe what those platforms are.

Are they actually useful in practice? What do they do?

> +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_MINIMAL),-qpa minimalb)

is "minimalb" intended here, as opposed to "minimal"?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] qt5: Add an option to select default platform
  2014-07-04  9:36 [Buildroot] [PATCH] qt5: Add an option to select default platform Jérôme Pouiller
  2014-07-04 11:02 ` Thomas Petazzoni
@ 2014-07-04 20:03 ` Arnout Vandecappelle
  2014-07-07  7:58   ` Jérôme Pouiller
  1 sibling, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2014-07-04 20:03 UTC (permalink / raw)
  To: buildroot

On 04/07/14 11:36, J?r?me Pouiller wrote:
> 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 <jezz@sysmic.org>
> ---
>  package/qt5/qt5base/Config.in  | 43 ++++++++++++++++++++++++++++++++++++++++++
>  package/qt5/qt5base/qt5base.mk |  6 ++++++
>  2 files changed, 49 insertions(+)
> 
> diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
> index 70ddcd3..5fa7c02 100644
> --- a/package/qt5/qt5base/Config.in
> +++ b/package/qt5/qt5base/Config.in
> @@ -144,6 +144,49 @@ 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

 I wonder if it is really worthwhile to make this a choice. That means that
whenever a new platform is added (wayland, vnc, ...) we have to update the
choice. And one could imagine a user implementing their own QPA plugin...

 So I would propose to make this a string, default to empty, and when it's empty
don't pass the -qpa option.

 Help text could be something like

	  Choose the default platform abstraction to use for graphical
	  application. If this is empty, the default for your architecture
	  will be used (usually this is eglfs).

	  You can get a list of supported platform by running a Qt application
	  with the option "-platform help" on your target. You can choose a
	  different platform at runtime with the -platform option.



 Regards,
 Arnout

> +	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"
> +
> +config BR2_PACKAGE_QT5BASE_DEFAULT_QPA_OFFSCREEN
> +	bool "offscreen"
> +
> +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
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 618251e..9018ff8 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -96,6 +96,12 @@ else
>  QT5BASE_CONFIGURE_OPTS += -no-xcb
>  endif
>  
> +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DEFAULT_QPA_MINIMAL),-qpa minimalb)
> +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
> 


-- 
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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] qt5: Add an option to select default platform
  2014-07-04 20:03 ` Arnout Vandecappelle
@ 2014-07-07  7:58   ` Jérôme Pouiller
  2014-07-15 20:30     ` Yann E. MORIN
  0 siblings, 1 reply; 5+ messages in thread
From: Jérôme Pouiller @ 2014-07-07  7:58 UTC (permalink / raw)
  To: buildroot

Hello Arnout,

On Friday 04 July 2014 22:03:09 Arnout Vandecappelle wrote:
> On 04/07/14 11:36, J?r?me Pouiller wrote:
> > 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 <jezz@sysmic.org>
> > ---
> > 
> >  package/qt5/qt5base/Config.in  | 43
> >  ++++++++++++++++++++++++++++++++++++++++++
> >  package/qt5/qt5base/qt5base.mk |  6 ++++++
> >  2 files changed, 49 insertions(+)
> > 
> > diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
> > index 70ddcd3..5fa7c02 100644
> > --- a/package/qt5/qt5base/Config.in
> > +++ b/package/qt5/qt5base/Config.in
> > @@ -144,6 +144,49 @@ 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
> 
>  I wonder if it is really worthwhile to make this a choice. That means that
> whenever a new platform is added (wayland, vnc, ...) we have to update the
> choice. And one could imagine a user implementing their own QPA plugin...
> 
>  So I would propose to make this a string, default to empty, and when it's
> empty don't pass the -qpa option.
I have no opinion on that. If nobody has any arguments against, I am going to 
implement this idea.


-- 
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] qt5: Add an option to select default platform
  2014-07-07  7:58   ` Jérôme Pouiller
@ 2014-07-15 20:30     ` Yann E. MORIN
  0 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2014-07-15 20:30 UTC (permalink / raw)
  To: buildroot

J?r?me, All,

On 2014-07-07 09:58 +0200, J?r?me Pouiller spake thusly:
> On Friday 04 July 2014 22:03:09 Arnout Vandecappelle wrote:
> > On 04/07/14 11:36, J?r?me Pouiller wrote:
> > > 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 <jezz@sysmic.org>
> > > ---
> > > 
> > >  package/qt5/qt5base/Config.in  | 43
> > >  ++++++++++++++++++++++++++++++++++++++++++
> > >  package/qt5/qt5base/qt5base.mk |  6 ++++++
> > >  2 files changed, 49 insertions(+)
> > > 
> > > diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
> > > index 70ddcd3..5fa7c02 100644
> > > --- a/package/qt5/qt5base/Config.in
> > > +++ b/package/qt5/qt5base/Config.in
> > > @@ -144,6 +144,49 @@ 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
> > 
> >  I wonder if it is really worthwhile to make this a choice. That means that
> > whenever a new platform is added (wayland, vnc, ...) we have to update the
> > choice. And one could imagine a user implementing their own QPA plugin...
> > 
> >  So I would propose to make this a string, default to empty, and when it's
> > empty don't pass the -qpa option.
> I have no opinion on that. If nobody has any arguments against, I am going to 
> implement this idea.

Yes, I concur with Arnout: that would be a better solution.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-07-15 20:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-04  9:36 [Buildroot] [PATCH] qt5: Add an option to select default platform Jérôme Pouiller
2014-07-04 11:02 ` Thomas Petazzoni
2014-07-04 20:03 ` Arnout Vandecappelle
2014-07-07  7:58   ` Jérôme Pouiller
2014-07-15 20:30     ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.