Patchwork qmake2.bbclass: export OE_QMAKE_QT_CONFIG

login
register
mail settings
Submitter Jonathan Liu
Date June 5, 2013, 9:01 a.m.
Message ID <1370422910-24366-1-git-send-email-net147@gmail.com>
Download mbox | patch
Permalink /patch/51163/
State Not Applicable, archived
Headers show

Comments

Jonathan Liu - June 5, 2013, 9:01 a.m.
qconfig.pri was not being loaded by qmake properly. This means Qt
qmake projects are unable to query QT_ARCH, QT_VERSION and other
variables defined in qconfig.pri.

Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
so that it can be located by qmake.

Signed-off-by: Jonathan Liu <net147@gmail.com>
---
 meta/classes/qmake2.bbclass | 1 +
 1 file changed, 1 insertion(+)
Martin Jansa - June 5, 2013, 9:30 a.m.
On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
> qconfig.pri was not being loaded by qmake properly. This means Qt
> qmake projects are unable to query QT_ARCH, QT_VERSION and other
> variables defined in qconfig.pri.
> 
> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
> so that it can be located by qmake.

There is such patch already:
http://lists.openembedded.org/pipermail/openembedded-core/2013-May/078314.html

> 
> Signed-off-by: Jonathan Liu <net147@gmail.com>
> ---
>  meta/classes/qmake2.bbclass | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta/classes/qmake2.bbclass b/meta/classes/qmake2.bbclass
> index 5eebd8e..ca6b0f0 100644
> --- a/meta/classes/qmake2.bbclass
> +++ b/meta/classes/qmake2.bbclass
> @@ -22,3 +22,4 @@ export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
>  export OE_QMAKE_LIBS_X11SM = "-lSM -lICE"
>  export OE_QMAKE_LRELEASE = "${STAGING_BINDIR_NATIVE}/lrelease4"
>  export OE_QMAKE_LUPDATE = "${STAGING_BINDIR_NATIVE}/lupdate4"
> +export OE_QMAKE_QT_CONFIG = "${STAGING_DATADIR}/qt4/mkspecs/qconfig.pri"
> -- 
> 1.8.2.3
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Saul Wold - June 5, 2013, 4:46 p.m.
On 06/05/2013 02:30 AM, Martin Jansa wrote:
> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>> qconfig.pri was not being loaded by qmake properly. This means Qt
>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>> variables defined in qconfig.pri.
>>
>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>> so that it can be located by qmake.
>
> There is such patch already:
> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/078314.html
>
Got lost in my queue, adding it for the next MUT.

Sau!


>>
>> Signed-off-by: Jonathan Liu <net147@gmail.com>
>> ---
>>   meta/classes/qmake2.bbclass | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/meta/classes/qmake2.bbclass b/meta/classes/qmake2.bbclass
>> index 5eebd8e..ca6b0f0 100644
>> --- a/meta/classes/qmake2.bbclass
>> +++ b/meta/classes/qmake2.bbclass
>> @@ -22,3 +22,4 @@ export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
>>   export OE_QMAKE_LIBS_X11SM = "-lSM -lICE"
>>   export OE_QMAKE_LRELEASE = "${STAGING_BINDIR_NATIVE}/lrelease4"
>>   export OE_QMAKE_LUPDATE = "${STAGING_BINDIR_NATIVE}/lupdate4"
>> +export OE_QMAKE_QT_CONFIG = "${STAGING_DATADIR}/qt4/mkspecs/qconfig.pri"
>> --
>> 1.8.2.3
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
Paul Eggleton - June 5, 2013, 4:57 p.m.
On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
> On 06/05/2013 02:30 AM, Martin Jansa wrote:
> > On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
> >> qconfig.pri was not being loaded by qmake properly. This means Qt
> >> qmake projects are unable to query QT_ARCH, QT_VERSION and other
> >> variables defined in qconfig.pri.
> >> 
> >> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
> >> so that it can be located by qmake.
> > 
> > There is such patch already:
> > http://lists.openembedded.org/pipermail/openembedded-core/2013-May/078314.
> > html
>
> Got lost in my queue, adding it for the next MUT.

FWIW I am still concerned by the assertion in the commit message about it 
causing undesirable behaviour. I'd want that checked out and the note removed 
before we look at merging this.

Cheers,
Paul
Saul Wold - June 5, 2013, 5:01 p.m.
On 06/05/2013 09:57 AM, Paul Eggleton wrote:
> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>> variables defined in qconfig.pri.
>>>>
>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>>>> so that it can be located by qmake.
>>>
>>> There is such patch already:
>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/078314.
>>> html
>>
>> Got lost in my queue, adding it for the next MUT.
>
> FWIW I am still concerned by the assertion in the commit message about it
> causing undesirable behaviour. I'd want that checked out and the note removed
> before we look at merging this.
>
OK, I will shelf this until I hear more about the testing of this change 
regarding the original patch's note.

Sau!

> Cheers,
> Paul
>
Paul Eggleton - June 5, 2013, 5:04 p.m.
On Wednesday 05 June 2013 17:57:32 Paul Eggleton wrote:
> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
> > On 06/05/2013 02:30 AM, Martin Jansa wrote:
> > > On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
> > >> qconfig.pri was not being loaded by qmake properly. This means Qt
> > >> qmake projects are unable to query QT_ARCH, QT_VERSION and other
> > >> variables defined in qconfig.pri.
> > >> 
> > >> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
> > >> so that it can be located by qmake.
> > > 
> > > There is such patch already:
> > > http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
> > > 4.
> > > html
> > 
> > Got lost in my queue, adding it for the next MUT.
> 
> FWIW I am still concerned by the assertion in the commit message about it
> causing undesirable behaviour. I'd want that checked out and the note
> removed before we look at merging this.

(I mean undesirable behaviour on rebuild after applying this patch; I should 
mention I'm testing this at the moment.)

Cheers,
Paul
Jonathan Liu - June 6, 2013, 3:11 a.m.
On 6 June 2013 03:04, Paul Eggleton <paul.eggleton@linux.intel.com> wrote:
> On Wednesday 05 June 2013 17:57:32 Paul Eggleton wrote:
>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>> > On 06/05/2013 02:30 AM, Martin Jansa wrote:
>> > > On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>> > >> qconfig.pri was not being loaded by qmake properly. This means Qt
>> > >> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>> > >> variables defined in qconfig.pri.
>> > >>
>> > >> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>> > >> so that it can be located by qmake.
>> > >
>> > > There is such patch already:
>> > > http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>> > > 4.
>> > > html
>> >
>> > Got lost in my queue, adding it for the next MUT.
>>
>> FWIW I am still concerned by the assertion in the commit message about it
>> causing undesirable behaviour. I'd want that checked out and the note
>> removed before we look at merging this.
>
> (I mean undesirable behaviour on rebuild after applying this patch; I should
> mention I'm testing this at the moment.)

Please test it in combination with the patch I just submitted which
fixes QMAKE_QT_CONFIG being overwritten with empty value from
.qmake.cache. I needed it to build Qt Creator.

You can do a basic test as follows:
bitbake -c devshell fotowall
mkdir test
cd test
echo 'message(Qt Version: $$QT_VERSION)' > test.pro
qmake2 test.pro

Regards,
Jonathan
Paul Eggleton - June 6, 2013, 9:54 a.m.
On Wednesday 05 June 2013 10:01:09 Saul Wold wrote:
> On 06/05/2013 09:57 AM, Paul Eggleton wrote:
> > On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
> >> On 06/05/2013 02:30 AM, Martin Jansa wrote:
> >>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
> >>>> qconfig.pri was not being loaded by qmake properly. This means Qt
> >>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
> >>>> variables defined in qconfig.pri.
> >>>> 
> >>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
> >>>> so that it can be located by qmake.
> >>> 
> >>> There is such patch already:
> >>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
> >>> 4.
> >>> html
> >> 
> >> Got lost in my queue, adding it for the next MUT.
> > 
> > FWIW I am still concerned by the assertion in the commit message about it
> > causing undesirable behaviour. I'd want that checked out and the note
> > removed before we look at merging this.
> 
> OK, I will shelf this until I hear more about the testing of this change
> regarding the original patch's note.

So I tested a rebuild of qt4-x11-free with Felipe's patch and two of 
Jonathan's ("qt4: fix QMAKE_QT_CONFIG being overwritten with empty value" and 
"classes/qmake_base: allow parallel make"), and did not observe any unexpected 
behaviour and buildhistory looks clean for qt itself and fotowall/quicky. So 
I'd say feel free to throw these into MUT, but I think we need to drop the 
note.

Cheers,
Paul
Otavio Salvador - June 6, 2013, 12:23 p.m.
On Thu, Jun 6, 2013 at 12:11 AM, Jonathan Liu <net147@gmail.com> wrote:
>
> Please test it in combination with the patch I just submitted which
> fixes QMAKE_QT_CONFIG being overwritten with empty value from
> .qmake.cache. I needed it to build Qt Creator.


Cool; maybe you could share the Qt Creator recipe? It could go to meta-oe :)

 --
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
eu@felipetonello.com - June 6, 2013, 7:18 p.m.
On Thu, Jun 6, 2013 at 2:54 AM, Paul Eggleton
<paul.eggleton@linux.intel.com> wrote:
> On Wednesday 05 June 2013 10:01:09 Saul Wold wrote:
>> On 06/05/2013 09:57 AM, Paul Eggleton wrote:
>> > On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>> >> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>> >>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>> >>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>> >>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>> >>>> variables defined in qconfig.pri.
>> >>>>
>> >>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>> >>>> so that it can be located by qmake.
>> >>>
>> >>> There is such patch already:
>> >>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>> >>> 4.
>> >>> html
>> >>
>> >> Got lost in my queue, adding it for the next MUT.
>> >
>> > FWIW I am still concerned by the assertion in the commit message about it
>> > causing undesirable behaviour. I'd want that checked out and the note
>> > removed before we look at merging this.
>>
>> OK, I will shelf this until I hear more about the testing of this change
>> regarding the original patch's note.
>
> So I tested a rebuild of qt4-x11-free with Felipe's patch and two of
> Jonathan's ("qt4: fix QMAKE_QT_CONFIG being overwritten with empty value" and
> "classes/qmake_base: allow parallel make"), and did not observe any unexpected
> behaviour and buildhistory looks clean for qt itself and fotowall/quicky. So
> I'd say feel free to throw these into MUT, but I think we need to drop the
> note.
>

Awesome.

Thank you,
Felipe
Saul Wold - June 6, 2013, 8:06 p.m.
On 06/06/2013 12:18 PM, Felipe Tonello wrote:
> On Thu, Jun 6, 2013 at 2:54 AM, Paul Eggleton
> <paul.eggleton@linux.intel.com> wrote:
>> On Wednesday 05 June 2013 10:01:09 Saul Wold wrote:
>>> On 06/05/2013 09:57 AM, Paul Eggleton wrote:
>>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>>>> variables defined in qconfig.pri.
>>>>>>>
>>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>>>>>>> so that it can be located by qmake.
>>>>>>
>>>>>> There is such patch already:
>>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>>>>>> 4.
>>>>>> html
>>>>>
>>>>> Got lost in my queue, adding it for the next MUT.
>>>>
>>>> FWIW I am still concerned by the assertion in the commit message about it
>>>> causing undesirable behaviour. I'd want that checked out and the note
>>>> removed before we look at merging this.
>>>
>>> OK, I will shelf this until I hear more about the testing of this change
>>> regarding the original patch's note.
>>
>> So I tested a rebuild of qt4-x11-free with Felipe's patch and two of
>> Jonathan's ("qt4: fix QMAKE_QT_CONFIG being overwritten with empty value" and
>> "classes/qmake_base: allow parallel make"), and did not observe any unexpected
>> behaviour and buildhistory looks clean for qt itself and fotowall/quicky. So
>> I'd say feel free to throw these into MUT, but I think we need to drop the
>> note.
>>
>
> Awesome.

So can someone put a final updated patch series together.  I am still 
not sure about Jonathans's allow parallel make change, it seemed to have 
the -j option since it's added with a _prepend which is not overriden by 
the = assignment.

Sau!

>
> Thank you,
> Felipe
>
>
Jonathan Liu - June 6, 2013, 11:17 p.m.
On 07/06/2013, at 6:07 AM, Saul Wold <sgw@linux.intel.com> wrote:

> On 06/06/2013 12:18 PM, Felipe Tonello wrote:
>> On Thu, Jun 6, 2013 at 2:54 AM, Paul Eggleton
>> <paul.eggleton@linux.intel.com> wrote:
>>> On Wednesday 05 June 2013 10:01:09 Saul Wold wrote:
>>>> On 06/05/2013 09:57 AM, Paul Eggleton wrote:
>>>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>>>>> variables defined in qconfig.pri.
>>>>>>>>
>>>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>>>>>>>> so that it can be located by qmake.
>>>>>>>
>>>>>>> There is such patch already:
>>>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>>>>>>> 4.
>>>>>>> html
>>>>>>
>>>>>> Got lost in my queue, adding it for the next MUT.
>>>>>
>>>>> FWIW I am still concerned by the assertion in the commit message about it
>>>>> causing undesirable behaviour. I'd want that checked out and the note
>>>>> removed before we look at merging this.
>>>>
>>>> OK, I will shelf this until I hear more about the testing of this change
>>>> regarding the original patch's note.
>>>
>>> So I tested a rebuild of qt4-x11-free with Felipe's patch and two of
>>> Jonathan's ("qt4: fix QMAKE_QT_CONFIG being overwritten with empty value" and
>>> "classes/qmake_base: allow parallel make"), and did not observe any unexpected
>>> behaviour and buildhistory looks clean for qt itself and fotowall/quicky. So
>>> I'd say feel free to throw these into MUT, but I think we need to drop the
>>> note.
>>
>> Awesome.
>
> So can someone put a final updated patch series together.  I am still not sure about Jonathans's allow parallel make change, it seemed to have the -j option since it's added with a _prepend which is not overriden by the = assignment.
>
> Sau!

It has make -j 16 MAKEFLAGS=.
-j 16 adds to MAKEFLAGS, and MAKEFLAGS= clears it. It is trivial to
check this is the case and I have verified it both when building
fotowall and independently on command line for building Qt projects
outside of Yocto.

Regards,
Jonathan

>
>>
>> Thank you,
>> Felipe
>>
>>
Martin Jansa - June 6, 2013, 11:31 p.m.
On Fri, Jun 07, 2013 at 09:17:09AM +1000, Jonathan Liu wrote:
> On 07/06/2013, at 6:07 AM, Saul Wold <sgw@linux.intel.com> wrote:
> 
> > On 06/06/2013 12:18 PM, Felipe Tonello wrote:
> >> On Thu, Jun 6, 2013 at 2:54 AM, Paul Eggleton
> >> <paul.eggleton@linux.intel.com> wrote:
> >>> On Wednesday 05 June 2013 10:01:09 Saul Wold wrote:
> >>>> On 06/05/2013 09:57 AM, Paul Eggleton wrote:
> >>>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
> >>>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
> >>>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
> >>>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
> >>>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
> >>>>>>>> variables defined in qconfig.pri.
> >>>>>>>>
> >>>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
> >>>>>>>> so that it can be located by qmake.
> >>>>>>>
> >>>>>>> There is such patch already:
> >>>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
> >>>>>>> 4.
> >>>>>>> html
> >>>>>>
> >>>>>> Got lost in my queue, adding it for the next MUT.
> >>>>>
> >>>>> FWIW I am still concerned by the assertion in the commit message about it
> >>>>> causing undesirable behaviour. I'd want that checked out and the note
> >>>>> removed before we look at merging this.
> >>>>
> >>>> OK, I will shelf this until I hear more about the testing of this change
> >>>> regarding the original patch's note.
> >>>
> >>> So I tested a rebuild of qt4-x11-free with Felipe's patch and two of
> >>> Jonathan's ("qt4: fix QMAKE_QT_CONFIG being overwritten with empty value" and
> >>> "classes/qmake_base: allow parallel make"), and did not observe any unexpected
> >>> behaviour and buildhistory looks clean for qt itself and fotowall/quicky. So
> >>> I'd say feel free to throw these into MUT, but I think we need to drop the
> >>> note.
> >>
> >> Awesome.
> >
> > So can someone put a final updated patch series together.  I am still not sure about Jonathans's allow parallel make change, it seemed to have the -j option since it's added with a _prepend which is not overriden by the = assignment.
> >
> > Sau!
> 
> It has make -j 16 MAKEFLAGS=.
> -j 16 adds to MAKEFLAGS, and MAKEFLAGS= clears it. It is trivial to
> check this is the case and I have verified it both when building
> fotowall and independently on command line for building Qt projects
> outside of Yocto.

disadvantage of this (at least in qt5) is that it starts independent
make processes which all inherit MAKEFLAGS, so instead of 16 processes
you can get a lot more - I've seen something like 40 when building
qtwebkit with -j 8.

But on other hand it's faster then -j1.
https://github.com/meta-qt5/meta-qt5/commit/e9c61a9e6f51f500df349f8fe569ec095a1b8d2b
https://github.com/meta-qt5/meta-qt5/commit/f76e45b5a8c59b1b8e4b806d2a2a09e6baf4d4e2
Jonathan Liu - June 10, 2013, 5:09 a.m.
On 7/06/2013 9:31 AM, Martin Jansa wrote:
> On Fri, Jun 07, 2013 at 09:17:09AM +1000, Jonathan Liu wrote:
>> On 07/06/2013, at 6:07 AM, Saul Wold <sgw@linux.intel.com> wrote:
>>
>>> On 06/06/2013 12:18 PM, Felipe Tonello wrote:
>>>> On Thu, Jun 6, 2013 at 2:54 AM, Paul Eggleton
>>>> <paul.eggleton@linux.intel.com> wrote:
>>>>> On Wednesday 05 June 2013 10:01:09 Saul Wold wrote:
>>>>>> On 06/05/2013 09:57 AM, Paul Eggleton wrote:
>>>>>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>>>>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>>>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>>>>>>> variables defined in qconfig.pri.
>>>>>>>>>>
>>>>>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>>>>>>>>>> so that it can be located by qmake.
>>>>>>>>> There is such patch already:
>>>>>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>>>>>>>>> 4.
>>>>>>>>> html
>>>>>>>> Got lost in my queue, adding it for the next MUT.
>>>>>>> FWIW I am still concerned by the assertion in the commit message about it
>>>>>>> causing undesirable behaviour. I'd want that checked out and the note
>>>>>>> removed before we look at merging this.
>>>>>> OK, I will shelf this until I hear more about the testing of this change
>>>>>> regarding the original patch's note.
>>>>> So I tested a rebuild of qt4-x11-free with Felipe's patch and two of
>>>>> Jonathan's ("qt4: fix QMAKE_QT_CONFIG being overwritten with empty value" and
>>>>> "classes/qmake_base: allow parallel make"), and did not observe any unexpected
>>>>> behaviour and buildhistory looks clean for qt itself and fotowall/quicky. So
>>>>> I'd say feel free to throw these into MUT, but I think we need to drop the
>>>>> note.
>>>> Awesome.
>>> So can someone put a final updated patch series together.  I am still not sure about Jonathans's allow parallel make change, it seemed to have the -j option since it's added with a _prepend which is not overriden by the = assignment.
>>>
>>> Sau!
>> It has make -j 16 MAKEFLAGS=.
>> -j 16 adds to MAKEFLAGS, and MAKEFLAGS= clears it. It is trivial to
>> check this is the case and I have verified it both when building
>> fotowall and independently on command line for building Qt projects
>> outside of Yocto.
> disadvantage of this (at least in qt5) is that it starts independent
> make processes which all inherit MAKEFLAGS, so instead of 16 processes
> you can get a lot more - I've seen something like 40 when building
> qtwebkit with -j 8.
>
> But on other hand it's faster then -j1.
> https://github.com/meta-qt5/meta-qt5/commit/e9c61a9e6f51f500df349f8fe569ec095a1b8d2b
> https://github.com/meta-qt5/meta-qt5/commit/f76e45b5a8c59b1b8e4b806d2a2a09e6baf4d4e2
>
What about using make -j 16 -l 16?
This will prevent more make processes being created if the load average 
is 16 or higher.

Regards,
Jonathan
Jonathan Liu - June 11, 2013, 11:46 p.m.
On 6/06/2013 3:04 AM, Paul Eggleton wrote:
> On Wednesday 05 June 2013 17:57:32 Paul Eggleton wrote:
>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>> variables defined in qconfig.pri.
>>>>>
>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>>>>> so that it can be located by qmake.
>>>> There is such patch already:
>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>>>> 4.
>>>> html
>>> Got lost in my queue, adding it for the next MUT.
>> FWIW I am still concerned by the assertion in the commit message about it
>> causing undesirable behaviour. I'd want that checked out and the note
>> removed before we look at merging this.
> (I mean undesirable behaviour on rebuild after applying this patch; I should
> mention I'm testing this at the moment.)
>
> Cheers,
> Paul
>
Looks like this was missed in the last pull.

Regards,
Jonathan
Saul Wold - June 13, 2013, 3:20 p.m.
On 06/11/2013 04:46 PM, Jonathan Liu wrote:
> On 6/06/2013 3:04 AM, Paul Eggleton wrote:
>> On Wednesday 05 June 2013 17:57:32 Paul Eggleton wrote:
>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>>> variables defined in qconfig.pri.
>>>>>>
>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of qconfig.pri
>>>>>> so that it can be located by qmake.
>>>>> There is such patch already:
>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>>>>>
>>>>> 4.
>>>>> html
>>>> Got lost in my queue, adding it for the next MUT.
>>> FWIW I am still concerned by the assertion in the commit message
>>> about it
>>> causing undesirable behaviour. I'd want that checked out and the note
>>> removed before we look at merging this.
>> (I mean undesirable behaviour on rebuild after applying this patch; I
>> should
>> mention I'm testing this at the moment.)
>>
>> Cheers,
>> Paul
>>
> Looks like this was missed in the last pull.
>

After some further local testing with this patch there was a problem 
when I built world and it built qt-mobility-embedded, I got the 
following error on multi-architectures

> ake[3]: Entering directory `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
> x86_64-poky-linux-g++  -m64 --sysroot=/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64 -c -pipe -pipe -pipe -O2 -pipe -g -feliminate-unused-debug-types -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -g -g -g -Wall -W -Wall -W -Wall -W -D_REENTRANT -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/share/qtopia/mkspecs/linux-g++ -I. -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtCore -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtGui -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtOpenGL -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia -I../../../src/global -I../../../src/sensors -I../../../build/Debug/cubehouse/moc -o ../../../build/Debug/cubehouse/view.o view.cpp
> In file included from view.cpp:41:0:
> view.h:44:26: fatal error: QtOpenGL/qgl.h: No such file or directory
>  #include <QtOpenGL/qgl.h>
>                           ^
> compilation terminated.
> make[3]: *** [../../../build/Debug/cubehouse/view.o] Error 1
> make[3]: Leaving directory `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
> make[2]: *** [sub-cubehouse-make_default] Error 2
> make[2]: *** Waiting for unfinished jobs....


So I have placed this on hold.

SaU!

> Regards,
> Jonathan
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
Jonathan Liu - June 13, 2013, 11:35 p.m.
On 14/06/2013 1:20 AM, Saul Wold wrote:
> On 06/11/2013 04:46 PM, Jonathan Liu wrote:
>> On 6/06/2013 3:04 AM, Paul Eggleton wrote:
>>> On Wednesday 05 June 2013 17:57:32 Paul Eggleton wrote:
>>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>>>> variables defined in qconfig.pri.
>>>>>>>
>>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of 
>>>>>>> qconfig.pri
>>>>>>> so that it can be located by qmake.
>>>>>> There is such patch already:
>>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831 
>>>>>>
>>>>>>
>>>>>> 4.
>>>>>> html
>>>>> Got lost in my queue, adding it for the next MUT.
>>>> FWIW I am still concerned by the assertion in the commit message
>>>> about it
>>>> causing undesirable behaviour. I'd want that checked out and the note
>>>> removed before we look at merging this.
>>> (I mean undesirable behaviour on rebuild after applying this patch; I
>>> should
>>> mention I'm testing this at the moment.)
>>>
>>> Cheers,
>>> Paul
>>>
>> Looks like this was missed in the last pull.
>>
>
> After some further local testing with this patch there was a problem 
> when I built world and it built qt-mobility-embedded, I got the 
> following error on multi-architectures
>
>> ake[3]: Entering directory 
>> `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
>> x86_64-poky-linux-g++  -m64 
>> --sysroot=/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64 -c -pipe 
>> -pipe -pipe -O2 -pipe -g -feliminate-unused-debug-types -O2 -pipe -g 
>> -feliminate-unused-debug-types -fpermissive 
>> -fvisibility-inlines-hidden -g -g -g -Wall -W -Wall -W -Wall -W 
>> -D_REENTRANT -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED 
>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/share/qtopia/mkspecs/linux-g++ 
>> -I. 
>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtCore 
>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtGui 
>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtOpenGL 
>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia -I../../../src/global 
>> -I../../../src/sensors -I../../../build/Debug/cubehouse/moc -o 
>> ../../../build/Debug/cubehouse/view.o view.cpp
>> In file included from view.cpp:41:0:
>> view.h:44:26: fatal error: QtOpenGL/qgl.h: No such file or directory
>>  #include <QtOpenGL/qgl.h>
>>                           ^
>> compilation terminated.
What does 
/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtOpenGL 
contain?

Regards,
Jonathan
>> make[3]: *** [../../../build/Debug/cubehouse/view.o] Error 1
>> make[3]: Leaving directory 
>> `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
>> make[2]: *** [sub-cubehouse-make_default] Error 2
>> make[2]: *** Waiting for unfinished jobs....
>
>
> So I have placed this on hold.
>
> SaU!
Saul Wold - June 13, 2013, 11:51 p.m.
On 06/13/2013 04:35 PM, Jonathan Liu wrote:
> On 14/06/2013 1:20 AM, Saul Wold wrote:
>> On 06/11/2013 04:46 PM, Jonathan Liu wrote:
>>> On 6/06/2013 3:04 AM, Paul Eggleton wrote:
>>>> On Wednesday 05 June 2013 17:57:32 Paul Eggleton wrote:
>>>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>>>>> variables defined in qconfig.pri.
>>>>>>>>
>>>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of
>>>>>>>> qconfig.pri
>>>>>>>> so that it can be located by qmake.
>>>>>>> There is such patch already:
>>>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>>>>>>>
>>>>>>>
>>>>>>> 4.
>>>>>>> html
>>>>>> Got lost in my queue, adding it for the next MUT.
>>>>> FWIW I am still concerned by the assertion in the commit message
>>>>> about it
>>>>> causing undesirable behaviour. I'd want that checked out and the note
>>>>> removed before we look at merging this.
>>>> (I mean undesirable behaviour on rebuild after applying this patch; I
>>>> should
>>>> mention I'm testing this at the moment.)
>>>>
>>>> Cheers,
>>>> Paul
>>>>
>>> Looks like this was missed in the last pull.
>>>
>>
>> After some further local testing with this patch there was a problem
>> when I built world and it built qt-mobility-embedded, I got the
>> following error on multi-architectures
>>
>>> ake[3]: Entering directory
>>> `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
>>>
>>> x86_64-poky-linux-g++  -m64
>>> --sysroot=/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64 -c -pipe
>>> -pipe -pipe -O2 -pipe -g -feliminate-unused-debug-types -O2 -pipe -g
>>> -feliminate-unused-debug-types -fpermissive
>>> -fvisibility-inlines-hidden -g -g -g -Wall -W -Wall -W -Wall -W
>>> -D_REENTRANT -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/share/qtopia/mkspecs/linux-g++
>>> -I.
>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtCore
>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtGui
>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtOpenGL
>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia -I../../../src/global
>>> -I../../../src/sensors -I../../../build/Debug/cubehouse/moc -o
>>> ../../../build/Debug/cubehouse/view.o view.cpp
>>> In file included from view.cpp:41:0:
>>> view.h:44:26: fatal error: QtOpenGL/qgl.h: No such file or directory
>>>  #include <QtOpenGL/qgl.h>
>>>                           ^
>>> compilation terminated.
> What does
> /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtOpenGL
> contain?
>

Non existant!
ls  /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/
phonon      QtDBus         QtHelp        QtScriptTools  QtUiTools
Qt          QtDeclarative  QtMultimedia  QtSql          QtWebKit
Qt3Support  QtDesigner     QtNetwork     QtSvg          QtXml
QtCore      QtGui          QtScript      QtTest         QtXmlPatterns



> Regards,
> Jonathan
>>> make[3]: *** [../../../build/Debug/cubehouse/view.o] Error 1
>>> make[3]: Leaving directory
>>> `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
>>>
>>> make[2]: *** [sub-cubehouse-make_default] Error 2
>>> make[2]: *** Waiting for unfinished jobs....
>>
>>
>> So I have placed this on hold.
>>
>> SaU!
>
>
>
Saul Wold - June 14, 2013, 6:15 p.m.
On 06/13/2013 04:51 PM, Saul Wold wrote:
> On 06/13/2013 04:35 PM, Jonathan Liu wrote:
>> On 14/06/2013 1:20 AM, Saul Wold wrote:
>>> On 06/11/2013 04:46 PM, Jonathan Liu wrote:
>>>> On 6/06/2013 3:04 AM, Paul Eggleton wrote:
>>>>> On Wednesday 05 June 2013 17:57:32 Paul Eggleton wrote:
>>>>>> On Wednesday 05 June 2013 09:46:49 Saul Wold wrote:
>>>>>>> On 06/05/2013 02:30 AM, Martin Jansa wrote:
>>>>>>>> On Wed, Jun 05, 2013 at 07:01:50PM +1000, Jonathan Liu wrote:
>>>>>>>>> qconfig.pri was not being loaded by qmake properly. This means Qt
>>>>>>>>> qmake projects are unable to query QT_ARCH, QT_VERSION and other
>>>>>>>>> variables defined in qconfig.pri.
>>>>>>>>>
>>>>>>>>> Export OE_QMAKE_QT_CONFIG, setting it to the location of
>>>>>>>>> qconfig.pri
>>>>>>>>> so that it can be located by qmake.
>>>>>>>> There is such patch already:
>>>>>>>> http://lists.openembedded.org/pipermail/openembedded-core/2013-May/07831
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 4.
>>>>>>>> html
>>>>>>> Got lost in my queue, adding it for the next MUT.
>>>>>> FWIW I am still concerned by the assertion in the commit message
>>>>>> about it
>>>>>> causing undesirable behaviour. I'd want that checked out and the note
>>>>>> removed before we look at merging this.
>>>>> (I mean undesirable behaviour on rebuild after applying this patch; I
>>>>> should
>>>>> mention I'm testing this at the moment.)
>>>>>
>>>>> Cheers,
>>>>> Paul
>>>>>
>>>> Looks like this was missed in the last pull.
>>>>
>>>
>>> After some further local testing with this patch there was a problem
>>> when I built world and it built qt-mobility-embedded, I got the
>>> following error on multi-architectures
>>>
>>>> ake[3]: Entering directory
>>>> `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
>>>>
>>>>
>>>> x86_64-poky-linux-g++  -m64
>>>> --sysroot=/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64 -c -pipe
>>>> -pipe -pipe -O2 -pipe -g -feliminate-unused-debug-types -O2 -pipe -g
>>>> -feliminate-unused-debug-types -fpermissive
>>>> -fvisibility-inlines-hidden -g -g -g -Wall -W -Wall -W -Wall -W
>>>> -D_REENTRANT -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
>>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/share/qtopia/mkspecs/linux-g++
>>>>
>>>> -I.
>>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtCore
>>>>
>>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtGui
>>>>
>>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtOpenGL
>>>>
>>>> -I/srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia
>>>> -I../../../src/global
>>>> -I../../../src/sensors -I../../../build/Debug/cubehouse/moc -o
>>>> ../../../build/Debug/cubehouse/view.o view.cpp
>>>> In file included from view.cpp:41:0:
>>>> view.h:44:26: fatal error: QtOpenGL/qgl.h: No such file or directory
>>>>  #include <QtOpenGL/qgl.h>
>>>>                           ^
>>>> compilation terminated.
>> What does
>> /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/QtOpenGL
>>
>> contain?
>>
>
> Non existant!
> ls  /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/qtopia/
> phonon      QtDBus         QtHelp        QtScriptTools  QtUiTools
> Qt          QtDeclarative  QtMultimedia  QtSql          QtWebKit
> Qt3Support  QtDesigner     QtNetwork     QtSvg          QtXml
> QtCore      QtGui          QtScript      QtTest         QtXmlPatterns
>

A follow-up to this, it seems I have both a qtopia include dir and a qt4 
include dir with qt4 being a superset of qtopia except for the qconfig.h 
in Qt and QtCore, where qtopia seems to have more checks.

Sau!

>
>
>> Regards,
>> Jonathan
>>>> make[3]: *** [../../../build/Debug/cubehouse/view.o] Error 1
>>>> make[3]: Leaving directory
>>>> `/srv/ssd/sgw/builds/world/tmp/work/x86_64-poky-linux/qt-mobility-embedded/1.2.0-r8/qt-mobility-opensource-src-1.2.0/examples/sensors/cubehouse'
>>>>
>>>>
>>>> make[2]: *** [sub-cubehouse-make_default] Error 2
>>>> make[2]: *** Waiting for unfinished jobs....
>>>
>>>
>>> So I have placed this on hold.
>>>
>>> SaU!
>>
>>
>>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>

Patch

diff --git a/meta/classes/qmake2.bbclass b/meta/classes/qmake2.bbclass
index 5eebd8e..ca6b0f0 100644
--- a/meta/classes/qmake2.bbclass
+++ b/meta/classes/qmake2.bbclass
@@ -22,3 +22,4 @@  export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
 export OE_QMAKE_LIBS_X11SM = "-lSM -lICE"
 export OE_QMAKE_LRELEASE = "${STAGING_BINDIR_NATIVE}/lrelease4"
 export OE_QMAKE_LUPDATE = "${STAGING_BINDIR_NATIVE}/lupdate4"
+export OE_QMAKE_QT_CONFIG = "${STAGING_DATADIR}/qt4/mkspecs/qconfig.pri"