[oe] [meta-qt5][PATCH 0/2] Add nativesdk tools for Qt5 SDK

Denys Dmytriyenko denis at denix.org
Mon Dec 2 15:56:16 UTC 2013


Sorry for top-posting, but I wanted to reply in general and couldn't find the 
right place for inlining...

Anyway, the below assumptions aren't exactly correct. And the main one being - 
you don't really need to source the environment-setup script. But you'd need a 
different and much simpler qt.conf, which I populate as part of the 
meta-toolchain recipe (still pending submission though). And you can use 
relative paths in that generated qt.conf so qmake can be used w/o sourcing the 
environment-setup script. But even with absolute paths those will be fixed 
automatically by the SDK setup script at the install time...

The thing is, you cannot re-use the same qt.conf that you generate for the 
nativesdk tools, because that one is for cross-compiling for SDK. Like you 
mentioned, it cross-compiles the tools for SDK_MACHINE, which is different 
from target MACHINE as well as the build host. When the tools are used, you 
need a different qt.conf with a makespec to run on SDK_MACHINE and build for 
target MACHINE.

Also, I wanted the things to be as simple as possible, so I decided to re-use 
linux-oe-g++ makespec, as it is already there and we've been using it 
successfully for a long time with Qt4. The only thing is, existing 
linux-oe-g++ relies on the OE-specific variables, because that was the way OE 
SDK always worked.

-- 
Denys


On Mon, Dec 02, 2013 at 01:10:56PM +0100, Dominik Holland wrote:
> Hi all,
> 
> i'm the author of the merge-request on github.
> 
> The patchset from Denys looks nice. Especially because it cross
> compiles the host tools for the SDK_MACHINE which i forgot todo in
> my patchset.
> 
> I think the best way would be a combined version of both patchsets.
> 
> Because some of you think my patchset is too complicated i want to
> highlight why i added the complicated creation of the qt.conf and
> the additional patching of the mkspec files etc.
> 
> I didn't tested Denys version but i think it only works if you
> source the environment scripts of the SDK before.
> 
> As a Qt developer it's the defacto standard to get a SDK which works
> out of the box for your projects by just invoking qmake and no need
> to source a script before which changes your environment.
> 
> To get this done you need to patch the mkspec folder and the qt.conf
> to use relative paths instead the hardcoded paths which where
> created during the yocto build.
> 
> In addition i created a linux-oe-sdk-g++ which contains the real
> values of the environment variables but without --sysroot. This will
> be set by qt itself by using the CROSS_COMPILE prefix.
> 
> 
> I hope you understand that this is really needed if you want to get
> a good qt5 integration into a OE SDK.
> 
> Best Reagrds
> 
>  Dominik
> 
> P.S. If you want to use the qmake inside qtcreator you would need to
> set all the env variable of the environment script inside qtcreator
> which is really inconvenient
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list