* [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.