mirror of
https://github.com/thead-yocto-mirror/meta-qt5
synced 2026-09-18 13:11:55 +02:00
A flaw was introduced by commitb8a236df: [ qt5: Fix cmake config files ] Removing ${S}/include must be done before configure script being called, but it's not in that case for qtbase-native recipe after the commit, that is saying, ${S}/include was removed after configure being called, which causes compiling issues for native build. Further more, the logic introduced by commitb8a236dfshould only apply to qtbase recipes, so they should be moved to qtbase recipes as well. Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
140 lines
5.2 KiB
BlitzBasic
140 lines
5.2 KiB
BlitzBasic
DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]"
|
|
DEPENDS = "zlib-native dbus-native"
|
|
SECTION = "libs"
|
|
HOMEPAGE = "http://qt-project.org"
|
|
|
|
LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
|
|
LIC_FILES_CHKSUM = " \
|
|
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
|
|
file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \
|
|
file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \
|
|
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
|
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
|
|
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
|
|
file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
|
|
file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
|
|
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
|
|
"
|
|
|
|
require qt5-native.inc
|
|
require qt5-git.inc
|
|
|
|
# common for qtbase-native, qtbase-nativesdk and qtbase
|
|
# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-shared
|
|
# 5.9.meta-qt5-shared.2
|
|
SRC_URI += "\
|
|
file://0001-Add-linux-oe-g-platform.patch \
|
|
file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
|
|
file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
|
|
file://0004-configure-bump-path-length-from-256-to-512-character.patch \
|
|
file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \
|
|
file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \
|
|
file://0007-Delete-qlonglong-and-qulonglong.patch \
|
|
file://0008-Replace-pthread_yield-with-sched_yield.patch \
|
|
"
|
|
|
|
# common for qtbase-native and nativesdk-qtbase
|
|
# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-native
|
|
# 5.9.meta-qt5-native.2
|
|
SRC_URI += " \
|
|
file://0009-Always-build-uic.patch \
|
|
file://0010-Add-OE-specific-specs-for-clang-compiler.patch \
|
|
file://0011-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \
|
|
file://0012-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \
|
|
"
|
|
|
|
# only for qtbase-native
|
|
SRC_URI += " \
|
|
file://0001-Bootstrap-without-linkat-feature.patch \
|
|
"
|
|
|
|
CLEANBROKEN = "1"
|
|
|
|
XPLATFORM_toolchain-clang = "linux-oe-clang"
|
|
XPLATFORM ?= "linux-oe-g++"
|
|
|
|
PACKAGECONFIG_CONFARGS = " \
|
|
-sysroot ${STAGING_DIR_NATIVE} \
|
|
-no-gcc-sysroot \
|
|
-system-zlib \
|
|
-qt-pcre \
|
|
-no-libjpeg \
|
|
-no-libpng \
|
|
-no-gif \
|
|
-no-accessibility \
|
|
-no-cups \
|
|
-no-gui \
|
|
-no-qml-debug \
|
|
-no-sql-mysql \
|
|
-no-sql-sqlite \
|
|
-no-opengl \
|
|
-no-openssl \
|
|
-no-xcb \
|
|
-no-icu \
|
|
-verbose \
|
|
-release \
|
|
-prefix ${OE_QMAKE_PATH_PREFIX} \
|
|
-hostprefix ${OE_QMAKE_PATH_PREFIX} \
|
|
-bindir ${OE_QMAKE_PATH_BINS} \
|
|
-hostbindir ${OE_QMAKE_PATH_BINS} \
|
|
-libdir ${OE_QMAKE_PATH_LIBS} \
|
|
-hostlibdir ${OE_QMAKE_PATH_LIBS} \
|
|
-headerdir ${OE_QMAKE_PATH_HEADERS} \
|
|
-archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
|
|
-datadir ${OE_QMAKE_PATH_DATA} \
|
|
-hostdatadir ${QMAKE_MKSPEC_PATH_NATIVE} \
|
|
-docdir ${OE_QMAKE_PATH_DOCS} \
|
|
-sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
|
|
-no-glib \
|
|
-no-iconv \
|
|
-silent \
|
|
-nomake examples \
|
|
-nomake tests \
|
|
-no-rpath \
|
|
-no-feature-linkat \
|
|
-platform ${XPLATFORM} \
|
|
"
|
|
|
|
# for qtbase configuration we need default settings
|
|
# since we cannot set empty set filename to a not existent file
|
|
deltask generate_qt_config_file
|
|
|
|
do_configure_prepend() {
|
|
# Regenerate header files when they are included in source tarball
|
|
# Otherwise cmake files don't set PRIVATE_HEADERS correctly
|
|
rm -rf ${S}/include
|
|
mkdir -p ${S}/.git || true
|
|
|
|
# Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory"
|
|
touch ${S}/mkspecs/oe-device-extra.pri
|
|
|
|
MAKEFLAGS="${PARALLEL_MAKE}" ${S}/configure -${QT_EDITION} -confirm-license ${PACKAGECONFIG_CONFARGS} || die "Configuring qt failed. PACKAGECONFIG_CONFARGS was ${PACKAGECONFIG_CONFARGS}"
|
|
}
|
|
|
|
do_install() {
|
|
# Fix install paths for all
|
|
find . -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
|
|
|
|
oe_runmake install INSTALL_ROOT=${D}
|
|
|
|
if [ -d ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE} ] ; then
|
|
echo "Some files are installed in wrong directory ${D}${STAGING_DIR_NATIVE}"
|
|
cp -ra ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}/* ${D}${STAGING_DIR_NATIVE}
|
|
rm -rf ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}
|
|
# remove empty dirs
|
|
TMP=`dirname ${D}/${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}`
|
|
while test ${TMP} != ${D}${STAGING_DIR_NATIVE}; do
|
|
rmdir ${TMP}
|
|
TMP=`dirname ${TMP}`;
|
|
done
|
|
fi
|
|
|
|
install -m 755 ${B}/bin/qfloat16-tables ${D}${OE_QMAKE_PATH_BINS}
|
|
|
|
# since 5.9.2 something sets a very strange path to mkspec ("${_qt5Core_install_prefix}/../../../../../../../../../../usr/lib/qt5//mkspecs/linux-oe-g++")
|
|
# override this until somebody finds a better way
|
|
echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake
|
|
}
|
|
|
|
SRCREV = "50117d738af526cbfbd5afa50b9a501acb0fb9ce"
|