From 550886bf0e2f2ee66af5d8e50409cd4fa126453f Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Tue, 13 Nov 2018 22:09:21 +0200 Subject: [PATCH] qt5: fix cross compilation for tools and libraries --- x11-packages/qt5-base/build.sh | 51 ++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/x11-packages/qt5-base/build.sh b/x11-packages/qt5-base/build.sh index 437b909e1..a51ea0989 100644 --- a/x11-packages/qt5-base/build.sh +++ b/x11-packages/qt5-base/build.sh @@ -167,6 +167,7 @@ termux_step_make_install() { cd - } + ## Compiling libQt5Bootstrap.a for target arch. cd "${TERMUX_PKG_SRCDIR}/qtbase/src/tools/bootstrap" && { make clean @@ -174,8 +175,48 @@ termux_step_make_install() { -spec "${TERMUX_PKG_SRCDIR}/qtbase/mkspecs/termux-cross" make -j "${TERMUX_MAKE_PROCESSES}" + install -Dm644 ../../../lib/libQt5Bootstrap.a "${TERMUX_PREFIX}/lib/libQt5Bootstrap.a" + install -Dm644 ../../../lib/libQt5Bootstrap.prl "${TERMUX_PREFIX}/lib/libQt5Bootstrap.prl" } + ## Compiling libQt5QmlDevTools.a for target arch. + cd "${TERMUX_PKG_SRCDIR}/qtdeclarative/src/qmldevtools" && { + make clean + + "${TERMUX_PKG_SRCDIR}/qtbase/bin/qmake" \ + -spec "${TERMUX_PKG_SRCDIR}/qtbase/mkspecs/termux-cross" + + make -j "${TERMUX_MAKE_PROCESSES}" + install -Dm644 ../../lib/libQt5QmlDevTools.a "${TERMUX_PREFIX}/lib/libQt5QmlDevTools.a" + install -Dm644 ../../lib/libQt5QmlDevTools.prl "${TERMUX_PREFIX}/lib/libQt5QmlDevTools.prl" + } + + ## Compiling libQt5PacketProtocol.a for target arch. + cd "${TERMUX_PKG_SRCDIR}/qtdeclarative/src/plugins/qmltooling/packetprotocol" && { + make clean + + "${TERMUX_PKG_SRCDIR}/qtbase/bin/qmake" \ + -spec "${TERMUX_PKG_SRCDIR}/qtbase/mkspecs/termux-cross" + + make -j "${TERMUX_MAKE_PROCESSES}" + install -Dm644 ../../../../lib/libQt5PacketProtocol.a "${TERMUX_PREFIX}/lib/libQt5PacketProtocol.a" + install -Dm644 ../../../../lib/libQt5PacketProtocol.prl "${TERMUX_PREFIX}/lib/libQt5PacketProtocol.prl" + } + + ## Compiling qt5-declarative utilities for target arch. + for i in qmlcachegen qmlimportscanner qmllint qmlmin; do + cd "${TERMUX_PKG_SRCDIR}/qtdeclarative/tools/${i}" && { + make clean + + "${TERMUX_PKG_SRCDIR}/qtbase/bin/qmake" \ + -spec "${TERMUX_PKG_SRCDIR}/qtbase/mkspecs/termux-cross" + + make -j "${TERMUX_MAKE_PROCESSES}" + install -Dm700 "../../bin/${i}" "${TERMUX_PREFIX}/bin/${i}" + } + done + + ## Compiling qt5-base utilities for target arch. for i in moc qlalr qvkgen rcc uic; do cd "${TERMUX_PKG_SRCDIR}/qtbase/src/tools/${i}" && { make clean @@ -194,10 +235,7 @@ termux_step_make_install() { Makefile make -j "${TERMUX_MAKE_PROCESSES}" - - install \ - -Dm700 "${TERMUX_PKG_BUILDDIR}/qtbase/bin/${i}" \ - "${TERMUX_PREFIX}/bin/${i}" + install -Dm700 "../../../bin/${i}" "${TERMUX_PREFIX}/bin/${i}" } done unset i @@ -210,9 +248,12 @@ termux_step_make_install() { "${TERMUX_PREFIX}/bin/qmake" } - # Drop QMAKE_PRL_BUILD_DIR because reference the build dir. + ## Drop QMAKE_PRL_BUILD_DIR because reference the build dir. find "${TERMUX_PREFIX}/lib" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' "{}" \; + + ## Remove *.la files. + find "${TERMUX_PREFIX}/lib" -iname \*.la -delete } termux_step_create_debscripts() {