* [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag
@ 2019-06-26 14:04 Giulio Benetti
2019-06-26 14:04 ` [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization Giulio Benetti
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Giulio Benetti @ 2019-06-26 14:04 UTC (permalink / raw)
To: buildroot
In qmake.conf.in has been left 'QMAKE_CXXFLAGS_RELEASE += -O3' but this
leads to not use Buildroot CXXFLAGS when building in release
mode(without debugging symbols). So let's remove it to let Qt5 to follow
Buildroot optimization flags like other packages do.
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
---
package/qt5/qt5base/qmake.conf.in | 1 -
1 file changed, 1 deletion(-)
diff --git a/package/qt5/qt5base/qmake.conf.in b/package/qt5/qt5base/qmake.conf.in
index f14527aa7f..26bee2cb39 100644
--- a/package/qt5/qt5base/qmake.conf.in
+++ b/package/qt5/qt5base/qmake.conf.in
@@ -15,7 +15,6 @@ QMAKE_CXX = $${CROSS_COMPILE}g++
# modifications to gcc-base.conf
QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS}
QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS}
-QMAKE_CXXFLAGS_RELEASE += -O3
CONFIG += nostrip
QMAKE_LIBS += -lrt -lpthread -ldl
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization
2019-06-26 14:04 [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag Giulio Benetti
@ 2019-06-26 14:04 ` Giulio Benetti
2019-08-03 10:21 ` Thomas Petazzoni
2019-08-03 10:20 ` [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag Thomas Petazzoni
2019-08-29 21:42 ` Peter Korsgaard
2 siblings, 1 reply; 6+ messages in thread
From: Giulio Benetti @ 2019-06-26 14:04 UTC (permalink / raw)
To: buildroot
Qt5 has predefined optimization flags depending if you're building for
size, for debug etc. But this is a problem because those flags override
Buildroot's TARGET_CFLAGS. In particular QMAKE_CFLAGS_OPTIMIZE_FULL is
set to -O3 by default and when a qt5 module .pro file contains 'CONFIG
+= optimize_full', qmake appends QMAKE_CFLAGS_OPTIMIZE_FULL to CFLAGS.
So the only consistent way that avoid patching qt5 to set optimization
according to Buildroot is to set QMAKE_CFLAGS_OPTIMIZE_FULL =
$(TARGET_OPTIMIZATION) by passing a new qt variable BR_OPTIMIZATION when
calling qt5 ./configure.
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
---
package/qt5/qt5base/qmake.conf.in | 1 +
package/qt5/qt5base/qt5base.mk | 1 +
2 files changed, 2 insertions(+)
diff --git a/package/qt5/qt5base/qmake.conf.in b/package/qt5/qt5base/qmake.conf.in
index 26bee2cb39..4de880d2a2 100644
--- a/package/qt5/qt5base/qmake.conf.in
+++ b/package/qt5/qt5base/qmake.conf.in
@@ -15,6 +15,7 @@ QMAKE_CXX = $${CROSS_COMPILE}g++
# modifications to gcc-base.conf
QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS}
QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS}
+QMAKE_CFLAGS_OPTIMIZE_FULL = $${BR_OPTIMIZATION}
CONFIG += nostrip
QMAKE_LIBS += -lrt -lpthread -ldl
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index e4aa76908a..69e90a37b3 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -361,6 +361,7 @@ define QT5BASE_CONFIGURE_CMDS
-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
-device-option BR_COMPILER_CFLAGS="$(QT5BASE_CFLAGS)" \
-device-option BR_COMPILER_CXXFLAGS="$(QT5BASE_CXXFLAGS)" \
+ -device-option BR_OPTIMIZATION="$(TARGET_OPTIMIZATION)" \
$(QT5BASE_CONFIGURE_OPTS) \
)
endef
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag
2019-06-26 14:04 [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag Giulio Benetti
2019-06-26 14:04 ` [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization Giulio Benetti
@ 2019-08-03 10:20 ` Thomas Petazzoni
2019-08-29 21:42 ` Peter Korsgaard
2 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2019-08-03 10:20 UTC (permalink / raw)
To: buildroot
On Wed, 26 Jun 2019 16:04:11 +0200
Giulio Benetti <giulio.benetti@micronovasrl.com> wrote:
> In qmake.conf.in has been left 'QMAKE_CXXFLAGS_RELEASE += -O3' but this
> leads to not use Buildroot CXXFLAGS when building in release
> mode(without debugging symbols). So let's remove it to let Qt5 to follow
> Buildroot optimization flags like other packages do.
>
> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
> ---
> package/qt5/qt5base/qmake.conf.in | 1 -
> 1 file changed, 1 deletion(-)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization
2019-06-26 14:04 ` [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization Giulio Benetti
@ 2019-08-03 10:21 ` Thomas Petazzoni
2019-08-03 17:08 ` Giulio Benetti
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2019-08-03 10:21 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 26 Jun 2019 16:04:12 +0200
Giulio Benetti <giulio.benetti@micronovasrl.com> wrote:
> diff --git a/package/qt5/qt5base/qmake.conf.in b/package/qt5/qt5base/qmake.conf.in
> index 26bee2cb39..4de880d2a2 100644
> --- a/package/qt5/qt5base/qmake.conf.in
> +++ b/package/qt5/qt5base/qmake.conf.in
> @@ -15,6 +15,7 @@ QMAKE_CXX = $${CROSS_COMPILE}g++
> # modifications to gcc-base.conf
> QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS}
> QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS}
> +QMAKE_CFLAGS_OPTIMIZE_FULL = $${BR_OPTIMIZATION}
> CONFIG += nostrip
>
> QMAKE_LIBS += -lrt -lpthread -ldl
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index e4aa76908a..69e90a37b3 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -361,6 +361,7 @@ define QT5BASE_CONFIGURE_CMDS
> -device-option CROSS_COMPILE="$(TARGET_CROSS)" \
> -device-option BR_COMPILER_CFLAGS="$(QT5BASE_CFLAGS)" \
> -device-option BR_COMPILER_CXXFLAGS="$(QT5BASE_CXXFLAGS)" \
> + -device-option BR_OPTIMIZATION="$(TARGET_OPTIMIZATION)" \
TARGET_OPTIMIZATION is already inside TARGET_CFLAGS, so it doesn't make
a lot of sense to pass them again. Basically, it's just easier to set
QMAKE_CFLAGS_OPTIMIZE, QMAKE_CFLAGS_OPTIMIZE_FULL,
QMAKE_CFLAGS_OPTIMIZE_SIZE, QMAKE_CFLAGS_OPTIMIZE_DEBUG to the empty
value. See the final commit at:
https://git.buildroot.org/buildroot/commit/?id=7c0aa83527e0b0179f9e3f73a3e63df1fdc5a6e6
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization
2019-08-03 10:21 ` Thomas Petazzoni
@ 2019-08-03 17:08 ` Giulio Benetti
0 siblings, 0 replies; 6+ messages in thread
From: Giulio Benetti @ 2019-08-03 17:08 UTC (permalink / raw)
To: buildroot
Hello Thomas,
Il 03/08/2019 12:21, Thomas Petazzoni ha scritto:
> Hello,
>
> On Wed, 26 Jun 2019 16:04:12 +0200
> Giulio Benetti <giulio.benetti@micronovasrl.com> wrote:
>
>> diff --git a/package/qt5/qt5base/qmake.conf.in b/package/qt5/qt5base/qmake.conf.in
>> index 26bee2cb39..4de880d2a2 100644
>> --- a/package/qt5/qt5base/qmake.conf.in
>> +++ b/package/qt5/qt5base/qmake.conf.in
>> @@ -15,6 +15,7 @@ QMAKE_CXX = $${CROSS_COMPILE}g++
>> # modifications to gcc-base.conf
>> QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS}
>> QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS}
>> +QMAKE_CFLAGS_OPTIMIZE_FULL = $${BR_OPTIMIZATION}
>> CONFIG += nostrip
>>
>> QMAKE_LIBS += -lrt -lpthread -ldl
>> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
>> index e4aa76908a..69e90a37b3 100644
>> --- a/package/qt5/qt5base/qt5base.mk
>> +++ b/package/qt5/qt5base/qt5base.mk
>> @@ -361,6 +361,7 @@ define QT5BASE_CONFIGURE_CMDS
>> -device-option CROSS_COMPILE="$(TARGET_CROSS)" \
>> -device-option BR_COMPILER_CFLAGS="$(QT5BASE_CFLAGS)" \
>> -device-option BR_COMPILER_CXXFLAGS="$(QT5BASE_CXXFLAGS)" \
>> + -device-option BR_OPTIMIZATION="$(TARGET_OPTIMIZATION)" \
>
> TARGET_OPTIMIZATION is already inside TARGET_CFLAGS, so it doesn't make
> a lot of sense to pass them again. Basically, it's just easier to set
> QMAKE_CFLAGS_OPTIMIZE, QMAKE_CFLAGS_OPTIMIZE_FULL,
> QMAKE_CFLAGS_OPTIMIZE_SIZE, QMAKE_CFLAGS_OPTIMIZE_DEBUG to the empty
> value. See the final commit at:
>
> https://git.buildroot.org/buildroot/commit/?id=7c0aa83527e0b0179f9e3f73a3e63df1fdc5a6e6
Good idea to override them in qmake.conf.in, I didn't think about it.
Thank you
--
Giulio Benetti
CTO
MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale ? 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag
2019-06-26 14:04 [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag Giulio Benetti
2019-06-26 14:04 ` [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization Giulio Benetti
2019-08-03 10:20 ` [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag Thomas Petazzoni
@ 2019-08-29 21:42 ` Peter Korsgaard
2 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2019-08-29 21:42 UTC (permalink / raw)
To: buildroot
>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
> In qmake.conf.in has been left 'QMAKE_CXXFLAGS_RELEASE += -O3' but this
> leads to not use Buildroot CXXFLAGS when building in release
> mode(without debugging symbols). So let's remove it to let Qt5 to follow
> Buildroot optimization flags like other packages do.
> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Committed to 2019.02.x and 2019.05.x, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-08-29 21:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-26 14:04 [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag Giulio Benetti
2019-06-26 14:04 ` [Buildroot] [PATCH 2/2] package/qt5/qt5base: build with correct optimization Giulio Benetti
2019-08-03 10:21 ` Thomas Petazzoni
2019-08-03 17:08 ` Giulio Benetti
2019-08-03 10:20 ` [Buildroot] [PATCH 1/2] package/qt5/qt5base: drop wrong optimization flag Thomas Petazzoni
2019-08-29 21:42 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox