[Buildroot] [PATCH v2 00/13] ppsh compatible Qt5 / generic qmake target install
Andreas Naumann
anaumann at ultratronik.de
Thu Mar 14 09:40:11 UTC 2019
Hi all,
(please disregard v1 of this, which just went out by accident to some of you
directly, but not the mailing list).
here's v2 with your suggestions, especially a generic target install step, taken
in. I ran out of time converting to a qmake infra, but let's first see if the
direction of this is acceptable.
I have separated the general qmake patches from the ppsh-specifics. However, I
included the rebased ppsh-v7 patches and my patches on top of that because it
was my original intend to improve on that. Please let me know if that's ok or
how to go on with it.
Details about the generic install are in the commit message (patch 1+2).
I have spent quite some time testing this:
- I have tested with Qt5.12.1 only. Qt5.6 should but might not always do the right
thing. However I think it was decided to remove support for 5.6 anyway.?
- I have checked for a few modules that the correct files were installed with/without
exmaples being selected as well as static vs. dynamic library setting.
- For some modules with options I ran a few different configurations and checked for
the respective file being installed/absent. However, qt5base has so many options, I
could not test them all. But overall it went surprisingly well, e.g. I didnt
notice files being installed that should not be there.
Finally I compared the target folders before/after the patch set, with everything
Qt5 being turned on. That showed some additional files and folders being installed
through the generic method:
- /usr/bin/xmlpatterns
- /usr/bin/xmlpatternsvalidator
- all plain libQt5*.so links
- /usr/lib/libQt5VirtualKeyboard.so.5.12.1 and links
- /usr/lib/qt/plugins/lipi_toolkit/*
- /usr/lib/qt/plugins/virtualkeyboard/*
- /usr/lib/libQt5WaylandCompositor.so.5.12.1 and links
- /usr/libexec/QtWebPluginProcess
- /usr/libexec/QtWebProcess
- /usr/qml/Qt/labs/location/*
- /usr/qml/QtWayland/*
After all, I think those files should probably be there, rather than not.
I still have not yet done any runtime tests.
Another word about the removal of the *.la *.prl fixup. When developing the
generic install, I found that the fixup command touches ALL (not only the qt-
relevant) files. This apparently does no harm, but we have a separate libtool fixup
step anyway. So I checked what it does and found.. no diff. Thats for both,
HOST_DIR being default and custom out of the buildroot dir. Are there other
situations where the qt specific fixup is needed? If so, would it be sensible
to limit it to prl files because la files are already taken care of in the generic
infra?
v1 -> v2:
- added generic qmake target install
- added removal of la/prl fixup (optional)
- rebased and reordered (together with ppsh-v7) on master
- split patches to separate qmake rework from ppsh specifics
- added handling of pkg-config search pathes for ppsh
best regards,
Andreas
Andreas Naumann (7):
qt5base: Do not build shared libs if BR2_STATIC_LIBS is chosen
qt5: Convert to generic target install command
qt5base: Fix inconsistencies when overriding qmake properties
qt5: Remove *.la/*.prl fixup script
qt5: Use qmake via QT5_QMAKE variable
qt5: Prepare qmake for per-package infrastructure
qt5: Fix pkgconfig search path for per-package infrastructure
Thomas Petazzoni (6):
core: implement per-package SDK and target
Makefile: allow top-level parallel build with
BR2_PER_PACKAGE_DIRECTORIES=y
package/pkg-generic: make libtool .la files compatible with
per-package directories
package/pkg-kconfig: handle KCONFIG_DEPENDENCIES with per-package
directories
docs/manual: add details about top-level parallel build support
docs/manual: document the effect of per-package directory on variables
Config.in | 18 +++++
Makefile | 48 +++++++------
docs/manual/adding-packages-generic.txt | 9 ++-
docs/manual/common-usage.txt | 44 ++++++++++++
docs/manual/faq-troubleshooting.txt | 3 +
docs/manual/quickstart.txt | 8 +--
package/pkg-generic.mk | 24 ++++++-
package/pkg-kconfig.mk | 1 +
package/pkg-utils.mk | 26 +++++++
package/python-sip/python-sip.mk | 3 +-
package/qextserialport/qextserialport.mk | 6 +-
package/qt5/qt5.mk | 30 +++++----
package/qt5/qt53d/qt53d.mk | 24 +------
package/qt5/qt5base/qt.conf.in | 17 +----
package/qt5/qt5base/qt5base.mk | 67 +++----------------
package/qt5/qt5canvas3d/qt5canvas3d.mk | 13 +---
package/qt5/qt5charts/qt5charts.mk | 27 +-------
.../qt5/qt5connectivity/qt5connectivity.mk | 47 +------------
package/qt5/qt5declarative/qt5declarative.mk | 35 +---------
package/qt5/qt5enginio/qt5enginio.mk | 26 +------
.../qt5graphicaleffects.mk | 5 +-
.../qt5/qt5imageformats/qt5imageformats.mk | 7 +-
package/qt5/qt5location/qt5location.mk | 37 +---------
package/qt5/qt5multimedia/qt5multimedia.mk | 34 +---------
.../qt5/qt5quickcontrols/qt5quickcontrols.mk | 28 +-------
.../qt5quickcontrols2/qt5quickcontrols2.mk | 27 +-------
package/qt5/qt5script/qt5script.mk | 19 +-----
package/qt5/qt5scxml/qt5scxml.mk | 24 +------
package/qt5/qt5sensors/qt5sensors.mk | 27 +-------
package/qt5/qt5serialbus/qt5serialbus.mk | 25 +------
package/qt5/qt5serialport/qt5serialport.mk | 19 +-----
package/qt5/qt5svg/qt5svg.mk | 27 +-------
package/qt5/qt5tools/qt5tools.mk | 3 +-
.../qt5virtualkeyboard/qt5virtualkeyboard.mk | 37 +---------
package/qt5/qt5wayland/qt5wayland.mk | 28 +-------
package/qt5/qt5webchannel/qt5webchannel.mk | 26 +------
package/qt5/qt5webengine/qt5webengine.mk | 28 +-------
.../qt5webkit-examples/qt5webkit-examples.mk | 10 +--
package/qt5/qt5webkit/qt5webkit.mk | 13 +---
package/qt5/qt5websockets/qt5websockets.mk | 27 +-------
package/qt5/qt5x11extras/qt5x11extras.mk | 8 +--
package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk | 19 +-----
package/qt5cinex/qt5cinex.mk | 3 +-
package/qwt/qwt.mk | 1 +
support/scripts/check-host-rpath | 27 ++++++--
support/scripts/fix-rpath | 29 ++++++--
46 files changed, 312 insertions(+), 702 deletions(-)
--
2.21.0
More information about the buildroot
mailing list