All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype
@ 2017-02-09 22:30 Peter Seiderer
  2017-02-09 22:30 ` [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz Peter Seiderer
  2017-02-10  8:36 ` [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype Thomas Petazzoni
  0 siblings, 2 replies; 8+ messages in thread
From: Peter Seiderer @ 2017-02-09 22:30 UTC (permalink / raw)
  To: buildroot

Fixes [1]:

  Project ERROR: Library 'libpng' is not defined.
  make[3]: *** [sub-3rdparty-freetype-make_first] Error 3

[1] http://autobuild.buildroot.net/results/219162ba616289f799a5053c4dcc6b8574284283

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 package/qt5/qt5base/Config.in  | 1 +
 package/qt5/qt5base/qt5base.mk | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index f22e034b3..337dcf245 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -128,6 +128,7 @@ config BR2_PACKAGE_QT5BASE_XML
 
 config BR2_PACKAGE_QT5BASE_GUI
 	bool "gui module"
+	select BR2_PACKAGE_FREETYPE
 	# At least one graphic backend must be enabled, so enable
 	# linuxfb if nothing is enabled.
 	select BR2_PACKAGE_QT5BASE_LINUXFB if \
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 2cf0331b0..07803e776 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -100,6 +100,8 @@ endif
 # We have to use --enable-linuxfb, otherwise Qt thinks that -linuxfb
 # is to add a link against the "inuxfb" library.
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-gui,-no-gui)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-system-freetype,-no-freetype)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_GUI),freetype)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)
-- 
2.11.0

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

* [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz
  2017-02-09 22:30 [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype Peter Seiderer
@ 2017-02-09 22:30 ` Peter Seiderer
  2017-02-10 16:12   ` Peter Seiderer
  2017-02-10  8:36 ` [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype Thomas Petazzoni
  1 sibling, 1 reply; 8+ messages in thread
From: Peter Seiderer @ 2017-02-09 22:30 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Missing BR2_TOOLCHAIN_HAS_SYNC_4 dependecy propagation from harfbuzz.
---
 package/qt5/qt5base/Config.in  | 1 +
 package/qt5/qt5base/qt5base.mk | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 337dcf245..9cfbd10ab 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -129,6 +129,7 @@ config BR2_PACKAGE_QT5BASE_XML
 config BR2_PACKAGE_QT5BASE_GUI
 	bool "gui module"
 	select BR2_PACKAGE_FREETYPE
+	select BR2_PACKAGE_HARFBUZZ
 	# At least one graphic backend must be enabled, so enable
 	# linuxfb if nothing is enabled.
 	select BR2_PACKAGE_QT5BASE_LINUXFB if \
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 07803e776..5c17c649d 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -102,6 +102,8 @@ endif
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-gui,-no-gui)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-system-freetype,-no-freetype)
 QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_GUI),freetype)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-system-harfbuzz,-no-harfbuzz)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_GUI),harfbuzz)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)
-- 
2.11.0

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

* [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype
  2017-02-09 22:30 [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype Peter Seiderer
  2017-02-09 22:30 ` [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz Peter Seiderer
@ 2017-02-10  8:36 ` Thomas Petazzoni
  2017-02-10 14:36   ` Peter Seiderer
  1 sibling, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2017-02-10  8:36 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu,  9 Feb 2017 23:30:54 +0100, Peter Seiderer wrote:
> Fixes [1]:
> 
>   Project ERROR: Library 'libpng' is not defined.
>   make[3]: *** [sub-3rdparty-freetype-make_first] Error 3
> 
> [1] http://autobuild.buildroot.net/results/219162ba616289f799a5053c4dcc6b8574284283
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

So since Qt 5.8, both freetype and harfbuzz are mandatory for the GUI
support ?

Should we make these additional dependencies only exist for the Qt
latest version (they were not needed for Qt 5.6) ?

Thanks!

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

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

* [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype
  2017-02-10  8:36 ` [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype Thomas Petazzoni
@ 2017-02-10 14:36   ` Peter Seiderer
  2017-02-10 14:59     ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Seiderer @ 2017-02-10 14:36 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

On Fri, 10 Feb 2017 09:36:34 +0100, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> Hello,
> 
> On Thu,  9 Feb 2017 23:30:54 +0100, Peter Seiderer wrote:
> > Fixes [1]:
> > 
> >   Project ERROR: Library 'libpng' is not defined.
> >   make[3]: *** [sub-3rdparty-freetype-make_first] Error 3
> > 
> > [1] http://autobuild.buildroot.net/results/219162ba616289f799a5053c4dcc6b8574284283
> > 
> > Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> 
> So since Qt 5.8, both freetype and harfbuzz are mandatory for the GUI
> support ?

Do not know if 'mandatory', but at the moment qt-provided/built-in
freetype/harfbuzz are used by both versions (5.6/5.8) in case
GUI is enabled...

I can try without freetype/harfbuzz but I think this will lead to
no/very poor font support (maybe bitmap fonts?)...

> 
> Should we make these additional dependencies only exist for the Qt
> latest version (they were not needed for Qt 5.6) ?

If using the system/buildroot provided libraries is preferred it should
be done for both versions...

Regards,
Peter

> 
> Thanks!
> 
> Thomas

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

* [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype
  2017-02-10 14:36   ` Peter Seiderer
@ 2017-02-10 14:59     ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2017-02-10 14:59 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 10 Feb 2017 15:36:19 +0100, Peter Seiderer wrote:

> > So since Qt 5.8, both freetype and harfbuzz are mandatory for the GUI
> > support ?  
> 
> Do not know if 'mandatory', but at the moment qt-provided/built-in
> freetype/harfbuzz are used by both versions (5.6/5.8) in case
> GUI is enabled...
> 
> I can try without freetype/harfbuzz but I think this will lead to
> no/very poor font support (maybe bitmap fonts?)...

OK. If you feel like they are technically not mandatory, but in
practice quite needed to get a decent functionality, then OK to have
them enabled.

> > Should we make these additional dependencies only exist for the Qt
> > latest version (they were not needed for Qt 5.6) ?  
> 
> If using the system/buildroot provided libraries is preferred it should
> be done for both versions...

System/buildroot provided libraries are definitely preferred. That's
why we're using -system-<foo> all over the place in qt5base.mk.

Thanks!

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

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

* [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz
  2017-02-09 22:30 ` [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz Peter Seiderer
@ 2017-02-10 16:12   ` Peter Seiderer
  2017-02-11 18:20     ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Seiderer @ 2017-02-10 16:12 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu,  9 Feb 2017 23:30:55 +0100, Peter Seiderer <ps.report@gmx.net> wrote:

> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Missing BR2_TOOLCHAIN_HAS_SYNC_4 dependecy propagation from harfbuzz.

Qt5 does not (yet) have the dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (but seems
to compile fine with the bundled version of harfbuzz), is this
because (the existing) dependency on BR2_TOOLCHAIN_HAS_THREADS_NPTL is
'stronger' than BR2_TOOLCHAIN_HAS_SYNC_4 (or is this complete unrelated)?

Regards,
Peter


> ---
>  package/qt5/qt5base/Config.in  | 1 +
>  package/qt5/qt5base/qt5base.mk | 2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
> index 337dcf245..9cfbd10ab 100644
> --- a/package/qt5/qt5base/Config.in
> +++ b/package/qt5/qt5base/Config.in
> @@ -129,6 +129,7 @@ config BR2_PACKAGE_QT5BASE_XML
>  config BR2_PACKAGE_QT5BASE_GUI
>  	bool "gui module"
>  	select BR2_PACKAGE_FREETYPE
> +	select BR2_PACKAGE_HARFBUZZ
>  	# At least one graphic backend must be enabled, so enable
>  	# linuxfb if nothing is enabled.
>  	select BR2_PACKAGE_QT5BASE_LINUXFB if \
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 07803e776..5c17c649d 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -102,6 +102,8 @@ endif
>  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-gui,-no-gui)
>  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-system-freetype,-no-freetype)
>  QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_GUI),freetype)
> +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-system-harfbuzz,-no-harfbuzz)
> +QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_GUI),harfbuzz)
>  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
>  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb)
>  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)

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

* [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz
  2017-02-10 16:12   ` Peter Seiderer
@ 2017-02-11 18:20     ` Thomas Petazzoni
  2017-02-11 21:35       ` Peter Seiderer
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2017-02-11 18:20 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 10 Feb 2017 17:12:23 +0100, Peter Seiderer wrote:

> Qt5 does not (yet) have the dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (but seems
> to compile fine with the bundled version of harfbuzz), is this
> because (the existing) dependency on BR2_TOOLCHAIN_HAS_THREADS_NPTL is
> 'stronger' than BR2_TOOLCHAIN_HAS_SYNC_4 (or is this complete unrelated)?

These are completely unrelated. For example, SPARC has NPTL, but not
BR2_TOOLCHAIN_HAS_SYNC_4.

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

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

* [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz
  2017-02-11 18:20     ` Thomas Petazzoni
@ 2017-02-11 21:35       ` Peter Seiderer
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Seiderer @ 2017-02-11 21:35 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

On Sat, 11 Feb 2017 19:20:55 +0100, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> Hello,
> 
> On Fri, 10 Feb 2017 17:12:23 +0100, Peter Seiderer wrote:
> 
> > Qt5 does not (yet) have the dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (but seems
> > to compile fine with the bundled version of harfbuzz), is this
> > because (the existing) dependency on BR2_TOOLCHAIN_HAS_THREADS_NPTL is
> > 'stronger' than BR2_TOOLCHAIN_HAS_SYNC_4 (or is this complete unrelated)?
> 
> These are completely unrelated. For example, SPARC has NPTL, but not
> BR2_TOOLCHAIN_HAS_SYNC_4.

Thanks for the answer...

Found the trick of the Qt built-in harfbuzz, they use the QAtomicPointer implementation
instead of the default harfbuzz provided for hb_atomic_int_impl_add, hb_atomic_ptr_impl_get
and hb_atomic_ptr_impl_cmpexch (see qtbase-opensource-src-5.8.0/src/3rdparty/harfbuzz-ng/config.h).

What should we do for the !BR2_TOOLCHAIN_HAS_SYNC_4 case:

- fall back to qt built-in harfbuzz
- disable harfbuzz support

Regards,
Peter

> 
> Thomas

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

end of thread, other threads:[~2017-02-11 21:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-09 22:30 [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype Peter Seiderer
2017-02-09 22:30 ` [Buildroot] [PATCH v1 2/2] WIP: qt5base: use system/buildroot provided harfbuzz Peter Seiderer
2017-02-10 16:12   ` Peter Seiderer
2017-02-11 18:20     ` Thomas Petazzoni
2017-02-11 21:35       ` Peter Seiderer
2017-02-10  8:36 ` [Buildroot] [PATCH v1 1/2] qt5base: use system/buildroot provided freetype Thomas Petazzoni
2017-02-10 14:36   ` Peter Seiderer
2017-02-10 14:59     ` Thomas Petazzoni

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.