[Buildroot] [PATCHv2] qt: X11 support

Arnout Vandecappelle arnout at mind.be
Sun Mar 4 14:14:10 UTC 2012


On Sunday 04 March 2012 04:06:41 Ismael Luceno wrote:
> Also reworked the QT_QMAKE_SET macro, to make it work on all qmakespecs.
> 
> Signed-off-by: Ismael Luceno <ismael.luceno at gmail.com>

 Sorry, I tried your patch and it doesn't work...

> +choice
> +	prompt "GUI Backend"
> +	help
> +	  Select the graphic system, used to arbitrate screen access.
> +
> +config BR2_PACKAGE_QT_GUI_QWS
> +	bool "QWS"
> +	default y if !BR2_PACKAGE_XORG7
> +	help
> +	  QWS is a compact and efficient windowing system. Using it, Qt-based
> +	  applications write directly to the Linux framebuffer, eliminating the
> +	  need for the X Window System.
> +
> +config BR2_PACKAGE_QT_GUI_X11
> +	depends on BR2_PACKAGE_XORG7
> +	bool "X Window System"
> +	default y if BR2_PACKAGE_XORG7
> +endchoice

 It looks like this default construct isn't allowed for choices.  So it has
to become:

choice
	prompt "GUI Backend"
	default BR2_PACKAGE_QT_GUI_QWS if !BR2_PACKAGE_XORG7
	default BR2_PACKAGE_QT_GUI_X11 if BR2_PACKAGE_XORG7
...

 Note that I didn't test this, so please check if it does work (i.e. that
you see what you expect when you enable resp. disable XORG7).

[snip]
> diff --git a/package/qt/qt.mk b/package/qt/qt.mk
> index 776eb63..c6fd292 100644
> --- a/package/qt/qt.mk
> +++ b/package/qt/qt.mk
> @@ -220,7 +220,14 @@ else
>  QT_EMB_PLATFORM = generic
>  endif
>  
> +ifeq ($(BR2_PACKAGE_QT_GUI_X11),y)
> +QT_SPEC = linux-g++
> +QT_CONFIGURE_OPTS += -xplatform linux-g++ -arch $(QT_EMB_PLATFORM)

 You will need to add dependencies here.  At least libX11 is required, but
I see a lot more in build/qt-4.8.0/config.tests/x11.

 You have to test this with a clean build of a minimal config, e.g.

BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_QT=y
BR2_PACKAGE_QT_LICENSE_APPROVED=y
# BR2_PACKAGE_QT_XML is not set
# BR2_PACKAGE_QT_SCRIPT is not set
BR2_PACKAGE_XORG7=y

(again, I haven't tested if this config actually works).

 And if you want to be sure you have the dependencies right in the .mk
file, run 'make qt' rather than plain 'make'.


[snip]

 Regards,
 Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
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



More information about the buildroot mailing list