diff options
author | Samuli Piippo <samuli.piippo@qt.io> | 2017-01-26 16:54:50 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-01-26 16:18:39 +0100 |
commit | 333949a8239dfa7788b35f1059614733e11a6a25 (patch) | |
tree | 420843abad8bfc939484fa34bd6f7da9d432db8d /recipes-qt/qt5/nativesdk-qtbase_git.bb | |
parent | c0ba8ab590ba4e17a2a04925cf48915233d4f493 (diff) |
Upgrade to Qt 5.8
The linux-oe-g++ mkspec is changed to use $$(...) operator to obtain
the contents of an environment value when qmake is run instead of when
Makefile is processed. All OE_QMAKE_xxx variables need to be exported
for qmake to find them. configure's setBootstrapVariable function needs
to change $$(..) to normal $(...) operator to work with qmake's Makefile.
qt.conf generation for qtbase recipes is not needed, as configure will
generate its own version based on configure arguments. Skip running
qmake, since configure is now automatically invoked when it's run in
qtbase's root folder.
Update PACKAGECONFIGs for qtbase to match current configure options.
The new Qt configuration system [1] can be used with a new variable
EXTRA_QMAKEVARS_CONFIGURE, which takes both command line and feature
arguments.
Merge the two qtwayland recipes to one that supports all three targets
(target, native, nativesdk) without need for additional patch.
Recipes for new Qt modules: QtSCXML, QtNetworkAuth, QtGamepad.
Removes qtdeclarative-render2d
[1] https://www.mail-archive.com/development@qt-project.org/msg25257.html
Change-Id: Ib37c4d7323e8b45aa2b171e8427b6ec15aaee213
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/nativesdk-qtbase_git.bb')
-rw-r--r-- | recipes-qt/qt5/nativesdk-qtbase_git.bb | 93 |
1 files changed, 9 insertions, 84 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index dce78fce..7d2ce583 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -27,21 +27,17 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" # common for qtbase-native, qtbase-nativesdk and qtbase SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ - file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ file://0003-Add-external-hostbindir-option.patch \ file://0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch \ file://0005-configure-bump-path-length-from-256-to-512-character.patch \ - file://0006-QOpenGLPaintDevice-sub-area-support.patch \ - file://0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch \ file://0008-configure-paths-for-target-qmake-properly.patch \ - file://0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch \ + file://0009-Disable-all-unknown-features-instead-of-erroring-out.patch \ file://0010-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ " # common for qtbase-native and nativesdk-qtbase SRC_URI += " \ file://0011-Always-build-uic.patch \ - file://0012-Add-external-hostbindir-option-for-native-sdk.patch \ " # CMake's toolchain configuration of nativesdk-qtbase @@ -58,10 +54,11 @@ FILES_${PN}-tools-dev = " \ ${FILES_SOLIBSDEV} ${libdir}/*.la \ ${libdir}/*.prl \ ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \ + ${OE_QMAKE_PATH_LIBS}/*.prl \ " FILES_${PN}-tools-staticdev = " \ - ${libdir}/libQt5Bootstrap.a \ + ${OE_QMAKE_PATH_LIBS}/*.a \ " FILES_${PN}-tools-dbg = " \ @@ -95,71 +92,10 @@ QT_CONFIG_FLAGS += " \ OE_QMAKE_PATH_HOST_DATA = "${libdir}${QT_DIR_NAME}" OE_QMAKE_PATH_HOST_LIBS = "${libdir}" -do_generate_qt_config_file() { - cat > ${QT_CONF_PATH} <<EOF -[Paths] -Prefix = ${OE_QMAKE_PATH_PREFIX} -Headers = ${OE_QMAKE_PATH_HEADERS} -Libraries = ${OE_QMAKE_PATH_LIBS} -ArchData = ${OE_QMAKE_PATH_ARCHDATA} -Data = ${OE_QMAKE_PATH_DATA} -Binaries = ${OE_QMAKE_PATH_BINS} -LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS} -Plugins = ${OE_QMAKE_PATH_PLUGINS} -Imports = ${OE_QMAKE_PATH_IMPORTS} -Qml2Imports = ${OE_QMAKE_PATH_QML} -Translations = ${OE_QMAKE_PATH_TRANSLATIONS} -Documentation = ${OE_QMAKE_PATH_DOCS} -Settings = ${OE_QMAKE_PATH_SETTINGS} -Examples = ${OE_QMAKE_PATH_EXAMPLES} -Tests = ${OE_QMAKE_PATH_TESTS} -HostBinaries = ${OE_QMAKE_PATH_HOST_BINS} -HostData = ${OE_QMAKE_PATH_HOST_DATA} -HostLibraries = ${OE_QMAKE_PATH_HOST_LIBS} -HostSpec = ${OE_QMAKESPEC} -TartgetSpec = ${OE_XQMAKESPEC} -ExternalHostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} -Sysroot = -EOF -} - -do_generate_qt_config_file_append() { - cat >> ${QT_CONF_PATH} <<EOF - -[EffectivePaths] -Prefix=.. -EOF -} - -# qtbase is exception, we need to use mkspecs from ${S} -QMAKE_MKSPEC_PATH = "${B}" - -# qtbase is exception, configure script is using our get(X)QEvalMakeConf and setBootstrapEvalVariable functions to read it from shell -export OE_QMAKE_COMPILER -export OE_QMAKE_CC -export OE_QMAKE_CFLAGS -export OE_QMAKE_CXX -export OE_QMAKE_CXXFLAGS -export OE_QMAKE_LINK -export OE_QMAKE_LDFLAGS -export OE_QMAKE_AR -export OE_QMAKE_STRIP - -# another exception is that we need to run bin/qmake, because EffectivePaths are relative to qmake location -OE_QMAKE_QMAKE_ORIG := "${OE_QMAKE_QMAKE}" -OE_QMAKE_QMAKE = "bin/qmake" - do_configure() { - # we need symlink in path relative to source, because - # EffectivePaths:Prefix is relative to qmake location - if [ ! -e ${B}/bin/qmake ]; then - mkdir -p ${B}/bin - ln -sf ${OE_QMAKE_QMAKE_ORIG} ${B}/bin/qmake - fi - ${S}/configure -v \ -opensource -confirm-license \ - -sysroot ${STAGING_DIR_NATIVE} \ + -sysroot ${STAGING_DIR_TARGET} \ -no-gcc-sysroot \ -system-zlib \ -dbus-runtime \ @@ -193,33 +129,22 @@ do_configure() { -testsdir ${OE_QMAKE_PATH_TESTS} \ -hostbindir ${OE_QMAKE_PATH_HOST_BINS} \ -hostdatadir ${OE_QMAKE_PATH_HOST_DATA} \ + -host-option CROSS_COMPILE=${HOST_PREFIX} \ -external-hostbindir ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \ -no-glib \ -no-iconv \ -silent \ -nomake examples \ -nomake tests \ - -nomake libs \ -no-compile-examples \ -no-rpath \ - -platform ${OE_QMAKESPEC} \ - -xplatform linux-oe-g++ \ + -platform ${OE_QMAKE_PLATFORM_NATIVE} \ + -xplatform ${OE_QMAKE_PLATFORM} \ ${QT_CONFIG_FLAGS} - - bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake 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} - - install -m 755 ${B}/bin/qmake-target ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake - - # for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt) - # e.g. qt3d, qtwayland - ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt + qmake5_base_do_install # remove things unused in nativesdk, we need the headers and libs rm -rf ${D}${datadir} \ @@ -262,4 +187,4 @@ fakeroot do_generate_qt_environment_file() { addtask generate_qt_environment_file after do_install before do_package -SRCREV = "69b43e74d78e050cf5e40197acafa4bc9f90c0bd" +SRCREV = "49dc9aa409d727824f26b246054a22b5a7dd5980" |