All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] qt: add QT_COORD_TYPE to double option
@ 2015-01-20 10:49 Richard Genoud
  2015-04-22  8:34 ` [Buildroot] [PATCH RESEND] " Richard Genoud
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Genoud @ 2015-01-20 10:49 UTC (permalink / raw)
  To: buildroot

From: Julien D'Ascenzio <jdascenzio@paratronic.fr>

On ARM-based platforms, qreal is a typedef for float for performance
reasons.
But we may want a double precision anyway.

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
---
 package/qt/Config.in | 7 +++++++
 package/qt/qt.mk     | 5 +++++
 2 files changed, 12 insertions(+)

diff --git a/package/qt/Config.in b/package/qt/Config.in
index 44710f52e627..fbc068b360b9 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -88,6 +88,13 @@ config BR2_PACKAGE_QT_CONFIG_FILE
 	  This option allows to set the path of such a configuration
 	  file, which Buildroot will give to Qt at compile time.
 
+config BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE
+	bool "QT_COORD_TYPE to double"
+	help
+	  Set QT_COORD_TYPE to double
+	  On ARM-based platforms, qreal is a typedef for float for performance reasons.
+	  If unsure say n.
+
 config BR2_PACKAGE_QT_QT3SUPPORT
 	bool "Compatibility with Qt3"
 	depends on BR2_PACKAGE_QT_GUI_MODULE
diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index 98fc0e65f9c0..8fbbd63521c3 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -60,6 +60,11 @@ QT_CFLAGS+=-marm
 QT_CXXFLAGS+=-marm
 endif
 
+ifeq ($(BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE),y)
+QT_CFLAGS += -DQT_COORD_TYPE=double
+QT_CXXFLAGS += -DQT_COORD_TYPE=double
+endif
+
 ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
 QT_CONFIGURE_OPTS += -qt3support
 else
-- 
2.0.0

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

* [Buildroot] [PATCH RESEND] qt: add QT_COORD_TYPE to double option
  2015-01-20 10:49 [Buildroot] [PATCH] qt: add QT_COORD_TYPE to double option Richard Genoud
@ 2015-04-22  8:34 ` Richard Genoud
  2015-04-25 22:22   ` Yann E. MORIN
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Richard Genoud @ 2015-04-22  8:34 UTC (permalink / raw)
  To: buildroot

From: Julien D'Ascenzio <jdascenzio@paratronic.fr>

On ARM-based platforms, qreal is a typedef for float for performance
reasons.
But we may want a double precision anyway.

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
---
Rebased and compiled on master (21 april 2015) for arm926ej-s

 package/qt/Config.in | 7 +++++++
 package/qt/qt.mk     | 5 +++++
 2 files changed, 12 insertions(+)

diff --git a/package/qt/Config.in b/package/qt/Config.in
index 43f5a0fc7c0d..c3922abb9f23 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -120,6 +120,13 @@ config BR2_PACKAGE_QT_CONFIG_FILE
 	  This option allows to set the path of such a configuration
 	  file, which Buildroot will give to Qt at compile time.
 
+config BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE
+	bool "QT_COORD_TYPE to double"
+	help
+	  Set QT_COORD_TYPE to double
+	  On ARM-based platforms, qreal is a typedef for float for performance reasons.
+	  If unsure say n.
+
 config BR2_PACKAGE_QT_QT3SUPPORT
 	bool "Compatibility with Qt3"
 	depends on BR2_PACKAGE_QT_GUI_MODULE
diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index 76acbfcea476..ce0a21ab288a 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -46,6 +46,11 @@ QT_CFLAGS += -marm
 QT_CXXFLAGS += -marm
 endif
 
+ifeq ($(BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE),y)
+QT_CFLAGS += -DQT_COORD_TYPE=double
+QT_CXXFLAGS += -DQT_COORD_TYPE=double
+endif
+
 ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
 QT_CONFIGURE_OPTS += -qt3support
 else
-- 
2.3.4

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

* [Buildroot] [PATCH RESEND] qt: add QT_COORD_TYPE to double option
  2015-04-22  8:34 ` [Buildroot] [PATCH RESEND] " Richard Genoud
@ 2015-04-25 22:22   ` Yann E. MORIN
  2015-04-26 10:16   ` Thomas Petazzoni
  2015-04-28  9:42   ` Peter Korsgaard
  2 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2015-04-25 22:22 UTC (permalink / raw)
  To: buildroot

Richard, All,

On 2015-04-22 10:34 +0200, Richard Genoud spake thusly:
> From: Julien D'Ascenzio <jdascenzio@paratronic.fr>
> 
> On ARM-based platforms, qreal is a typedef for float for performance
> reasons.
> But we may want a double precision anyway.
> 
> Signed-off-by: Richard Genoud <richard.genoud@gmail.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[build-tested only with a minimal Qt config for cCortex A7]

Regards,
Yann E. MORIN.

> ---
> Rebased and compiled on master (21 april 2015) for arm926ej-s
> 
>  package/qt/Config.in | 7 +++++++
>  package/qt/qt.mk     | 5 +++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/package/qt/Config.in b/package/qt/Config.in
> index 43f5a0fc7c0d..c3922abb9f23 100644
> --- a/package/qt/Config.in
> +++ b/package/qt/Config.in
> @@ -120,6 +120,13 @@ config BR2_PACKAGE_QT_CONFIG_FILE
>  	  This option allows to set the path of such a configuration
>  	  file, which Buildroot will give to Qt at compile time.
>  
> +config BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE
> +	bool "QT_COORD_TYPE to double"
> +	help
> +	  Set QT_COORD_TYPE to double
> +	  On ARM-based platforms, qreal is a typedef for float for performance reasons.
> +	  If unsure say n.
> +
>  config BR2_PACKAGE_QT_QT3SUPPORT
>  	bool "Compatibility with Qt3"
>  	depends on BR2_PACKAGE_QT_GUI_MODULE
> diff --git a/package/qt/qt.mk b/package/qt/qt.mk
> index 76acbfcea476..ce0a21ab288a 100644
> --- a/package/qt/qt.mk
> +++ b/package/qt/qt.mk
> @@ -46,6 +46,11 @@ QT_CFLAGS += -marm
>  QT_CXXFLAGS += -marm
>  endif
>  
> +ifeq ($(BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE),y)
> +QT_CFLAGS += -DQT_COORD_TYPE=double
> +QT_CXXFLAGS += -DQT_COORD_TYPE=double
> +endif
> +
>  ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
>  QT_CONFIGURE_OPTS += -qt3support
>  else
> -- 
> 2.3.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 8+ messages in thread

* [Buildroot] [PATCH RESEND] qt: add QT_COORD_TYPE to double option
  2015-04-22  8:34 ` [Buildroot] [PATCH RESEND] " Richard Genoud
  2015-04-25 22:22   ` Yann E. MORIN
@ 2015-04-26 10:16   ` Thomas Petazzoni
  2015-04-28  9:42   ` Peter Korsgaard
  2 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2015-04-26 10:16 UTC (permalink / raw)
  To: buildroot

Dear Richard Genoud,

On Wed, 22 Apr 2015 10:34:18 +0200, Richard Genoud wrote:
> From: Julien D'Ascenzio <jdascenzio@paratronic.fr>
> 
> On ARM-based platforms, qreal is a typedef for float for performance
> reasons.
> But we may want a double precision anyway.
> 
> Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
> ---
> Rebased and compiled on master (21 april 2015) for arm926ej-s

Applied after slightly improving the Config.in help text, thanks.

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

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

* [Buildroot] [PATCH RESEND] qt: add QT_COORD_TYPE to double option
  2015-04-22  8:34 ` [Buildroot] [PATCH RESEND] " Richard Genoud
  2015-04-25 22:22   ` Yann E. MORIN
  2015-04-26 10:16   ` Thomas Petazzoni
@ 2015-04-28  9:42   ` Peter Korsgaard
  2015-04-28 10:24     ` Richard Genoud
  2015-04-28 15:42     ` [Buildroot] [PATCH] qt: QT_COORD_TYPE_DOUBLE should only be set on soft float Richard Genoud
  2 siblings, 2 replies; 8+ messages in thread
From: Peter Korsgaard @ 2015-04-28  9:42 UTC (permalink / raw)
  To: buildroot

>>>>> "Richard" == Richard Genoud <richard.genoud@gmail.com> writes:

 > From: Julien D'Ascenzio <jdascenzio@paratronic.fr>
 > On ARM-based platforms, qreal is a typedef for float for performance
 > reasons.
 > But we may want a double precision anyway.

 > Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
 > ---
 > Rebased and compiled on master (21 april 2015) for arm926ej-s

This causes compilation issues with the test module as it defines a
template using double and one using qreal:

http://autobuild.buildroot.net/?reason=qt-4.8.6

Care to take a look and send a fix?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH RESEND] qt: add QT_COORD_TYPE to double option
  2015-04-28  9:42   ` Peter Korsgaard
@ 2015-04-28 10:24     ` Richard Genoud
  2015-04-28 15:42     ` [Buildroot] [PATCH] qt: QT_COORD_TYPE_DOUBLE should only be set on soft float Richard Genoud
  1 sibling, 0 replies; 8+ messages in thread
From: Richard Genoud @ 2015-04-28 10:24 UTC (permalink / raw)
  To: buildroot

2015-04-28 11:42 GMT+02:00 Peter Korsgaard <peter@korsgaard.com>:
>>>>>> "Richard" == Richard Genoud <richard.genoud@gmail.com> writes:
>
>  > From: Julien D'Ascenzio <jdascenzio@paratronic.fr>
>  > On ARM-based platforms, qreal is a typedef for float for performance
>  > reasons.
>  > But we may want a double precision anyway.
>
>  > Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
>  > ---
>  > Rebased and compiled on master (21 april 2015) for arm926ej-s
>
> This causes compilation issues with the test module as it defines a
> template using double and one using qreal:
>
> http://autobuild.buildroot.net/?reason=qt-4.8.6
>
> Care to take a look and send a fix?
yes, I'll have a look.
thanks !

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

* [Buildroot] [PATCH] qt: QT_COORD_TYPE_DOUBLE should only be set on soft float
  2015-04-28  9:42   ` Peter Korsgaard
  2015-04-28 10:24     ` Richard Genoud
@ 2015-04-28 15:42     ` Richard Genoud
  2015-04-28 19:23       ` Peter Korsgaard
  1 sibling, 1 reply; 8+ messages in thread
From: Richard Genoud @ 2015-04-28 15:42 UTC (permalink / raw)
  To: buildroot

If QT_COORD_TYPE_DOUBLE is forced and hard float is used, Qt compilation
breaks because it can't find hard coded operations on double.

Moreover, QT_COORD_TYPE is float only if QT_NO_FPU is set.
(cf src/corelib/global/qglobal.h)

So, we can safely make the QT_COORD_TYPE_DOUBLE option depend on
BR2_SOFT_FLOAT.

Reported-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
---
 package/qt/Config.in | 1 +
 1 file changed, 1 insertion(+)

based on master 2a15ce89ac5a
Compiled for:
cortexA8 in hard float/soft float with and without QT_COORD_TYPE_DOUBLE
x86_64
arm926t with and without QT_COORD_TYPE_DOUBLE

diff --git a/package/qt/Config.in b/package/qt/Config.in
index 83fdeec812bb..9568b7010cff 100644
--- a/package/qt/Config.in
+++ b/package/qt/Config.in
@@ -121,6 +121,7 @@ config BR2_PACKAGE_QT_CONFIG_FILE
 	  file, which Buildroot will give to Qt at compile time.
 
 config BR2_PACKAGE_QT_QT_COORD_TYPE_DOUBLE
+	depends on BR2_SOFT_FLOAT
 	bool "QT_COORD_TYPE to double"
 	help
 	  Set QT_COORD_TYPE to double. On ARM-based platforms, qreal
-- 
2.3.4

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

* [Buildroot] [PATCH] qt: QT_COORD_TYPE_DOUBLE should only be set on soft float
  2015-04-28 15:42     ` [Buildroot] [PATCH] qt: QT_COORD_TYPE_DOUBLE should only be set on soft float Richard Genoud
@ 2015-04-28 19:23       ` Peter Korsgaard
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2015-04-28 19:23 UTC (permalink / raw)
  To: buildroot

>>>>> "Richard" == Richard Genoud <richard.genoud@gmail.com> writes:

 > If QT_COORD_TYPE_DOUBLE is forced and hard float is used, Qt compilation
 > breaks because it can't find hard coded operations on double.

 > Moreover, QT_COORD_TYPE is float only if QT_NO_FPU is set.
 > (cf src/corelib/global/qglobal.h)

 > So, we can safely make the QT_COORD_TYPE_DOUBLE option depend on
 > BR2_SOFT_FLOAT.

 > Reported-by: Peter Korsgaard <peter@korsgaard.com>
 > Signed-off-by: Richard Genoud <richard.genoud@gmail.com>

Committed, thanks.

-- 
Venlig hilsen,
Peter Korsgaard 

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

end of thread, other threads:[~2015-04-28 19:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-20 10:49 [Buildroot] [PATCH] qt: add QT_COORD_TYPE to double option Richard Genoud
2015-04-22  8:34 ` [Buildroot] [PATCH RESEND] " Richard Genoud
2015-04-25 22:22   ` Yann E. MORIN
2015-04-26 10:16   ` Thomas Petazzoni
2015-04-28  9:42   ` Peter Korsgaard
2015-04-28 10:24     ` Richard Genoud
2015-04-28 15:42     ` [Buildroot] [PATCH] qt: QT_COORD_TYPE_DOUBLE should only be set on soft float Richard Genoud
2015-04-28 19:23       ` Peter Korsgaard

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.