diff options
Diffstat (limited to 'recipes-qt/qt5/nativesdk-qtbase.inc')
-rw-r--r-- | recipes-qt/qt5/nativesdk-qtbase.inc | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase.inc b/recipes-qt/qt5/nativesdk-qtbase.inc deleted file mode 100644 index 35953bbe..00000000 --- a/recipes-qt/qt5/nativesdk-qtbase.inc +++ /dev/null @@ -1,272 +0,0 @@ -DESCRIPTION = "SDK version of Qt/[X11|Mac|Embedded]" -DEPENDS = "nativesdk-zlib nativesdk-dbus qtbase-native" -SECTION = "libs" -HOMEPAGE = "http://qt-project.org" - -QT_MODULE = "qtbase" - -require nativesdk-qt5.inc - -# it's already included with newer oe-core, but include it here for dylan -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-Revert-eglfs-Print-the-chosen-config-in-debug-mode.patch \ - file://0006-qeglplatformintegration-Undefine-CursorShape-from-X..patch \ - file://0007-configure-bump-path-length-from-256-to-512-character.patch \ - file://0008-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \ - file://0009-QOpenGLPaintDevice-sub-area-support.patch \ - file://0010-Make-Qt5GuiConfigExtras.cmake-find-gl-es-include-dir.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 \ -" - -# specific for nativesdk-qtbase -SRC_URI += " \ - file://0013-configure-preserve-built-qmake-and-swap-with-native-.patch \ -" - -# CMake's toolchain configuration of nativesdk-qtbase -SRC_URI += " \ - file://OEQt5Toolchain.cmake \ -" - -PACKAGES = "${PN}-tools-dbg ${PN}-tools-dev ${PN}-tools-staticdev ${PN}-tools" - -PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" - -FILES_${PN}-tools-dev = " \ - ${includedir} \ - ${FILES_SOLIBSDEV} ${libdir}/*.la \ - ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \ -" - -FILES_${PN}-tools-staticdev = " \ - ${libdir}/libQt5Bootstrap.a \ -" - -FILES_${PN}-tools-dbg = " \ - ${libdir}/.debug \ - ${OE_QMAKE_PATH_BINS}/.debug \ -" - -FILES_${PN}-tools = " \ - ${libdir}/lib*${SOLIBS} \ - ${OE_QMAKE_PATH_BINS}/* \ - ${SDKPATHNATIVE}/environment-setup.d \ - ${datadir}/cmake \ -" - -# qttools binaries are placed in a subdir of bin in order to avoid -# collisions with qt4. This would trigger debian.bbclass to rename the -# package, since it doesn't detect binaries in subdirs. Explicitly -# disable package auto-renaming for the tools-package. -DEBIAN_NOAUTONAME_${PN}-tools = "1" - -QT_CONFIG_FLAGS += " \ - -shared \ - -silent \ - -no-pch \ - -no-rpath \ - -pkg-config \ - ${EXTRA_OECONF} \ -" - -# qtbase is exception, as these are used as install path for sysroots -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 = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake" -OE_QMAKE_QMAKE = "bin/qmake" - -do_configure() { - # we need symlink in path relative to source, because - # EffectivePaths:Prefix is relative to qmake location - # Also, configure expects qmake-native to swap with real one - if [ ! -e ${B}/bin/qmake-native ]; then - mkdir ${B}/bin - ln -sf ${OE_QMAKE_QMAKE_ORIG} ${B}/bin/qmake-native - fi - - ${S}/configure -v \ - -opensource -confirm-license \ - -sysroot ${STAGING_DIR_NATIVE} \ - -no-gcc-sysroot \ - -system-zlib \ - -no-libjpeg \ - -no-libpng \ - -no-gif \ - -no-accessibility \ - -no-cups \ - -no-nis \ - -no-gui \ - -no-qml-debug \ - -no-sql-mysql \ - -no-sql-sqlite \ - -no-opengl \ - -no-openssl \ - -no-xcb \ - -verbose \ - -release \ - -prefix ${OE_QMAKE_PATH_PREFIX} \ - -bindir ${OE_QMAKE_PATH_BINS} \ - -libdir ${OE_QMAKE_PATH_LIBS} \ - -datadir ${OE_QMAKE_PATH_DATA} \ - -sysconfdir ${OE_QMAKE_PATH_SETTINGS} \ - -docdir ${OE_QMAKE_PATH_DOCS} \ - -headerdir ${OE_QMAKE_PATH_HEADERS} \ - -archdatadir ${OE_QMAKE_PATH_ARCHDATA} \ - -libexecdir ${OE_QMAKE_PATH_LIBEXECS} \ - -plugindir ${OE_QMAKE_PATH_PLUGINS} \ - -importdir ${OE_QMAKE_PATH_IMPORTS} \ - -qmldir ${OE_QMAKE_PATH_QML} \ - -translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \ - -testsdir ${OE_QMAKE_PATH_TESTS} \ - -hostbindir ${OE_QMAKE_PATH_HOST_BINS} \ - -hostdatadir ${OE_QMAKE_PATH_HOST_DATA} \ - -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++ \ - ${QT_CONFIG_FLAGS} - - bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. EXTRA_OECONF was ${EXTRA_OECONF}" -} - -# Set the EXTRA_QTLIB variable to e.g. Xml, in order to not remove libQt5Xml.so.* -EXTRA_QTLIB ?= "" - -python __anonymous () { - templibs = "" - for e in d.getVar("EXTRA_QTLIB", True).split(): - templibs = "%s -not -name 'libQt5%s.so*' -and" % (templibs, e) - d.setVar("QTLIBSPRESERVE", templibs) -} - -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} - - # replace the native qmake installed above with nativesdk version - rm -rf ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake - install -m 755 ${B}/bin/qmake-real ${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 - - # remove things unused in nativesdk, we need the headers, Qt5Core - # and Qt5Bootstrap. - rm -rf ${D}${datadir} \ - ${D}/${OE_QMAKE_PATH_PLUGINS} \ - ${D}${libdir}/cmake \ - ${D}${libdir}/pkgconfig - find ${D}${libdir} -maxdepth 1 -name 'lib*' -and -not -type d -and \ - -not -name 'libQt5Core.so*' -and \ - ${QTLIBSPRESERVE} \ - -not -name 'libQt5Bootstrap.a' \ - -exec rm '{}' ';' - - # Install CMake's toolchain configuration - mkdir -p ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/ - install -m 644 ${WORKDIR}/OEQt5Toolchain.cmake ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/ -} - -do_generate_qt_environment_file() { - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d/ - script=${D}${SDKPATHNATIVE}/environment-setup.d/qt5.sh - - echo 'export PATH=${OE_QMAKE_PATH_HOST_BINS}:$PATH' > $script - echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script - echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script - echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script - echo 'export OE_QMAKE_CC=$CC' >> $script - echo 'export OE_QMAKE_CXX=$CXX' >> $script - echo 'export OE_QMAKE_LINK=$CXX' >> $script - echo 'export OE_QMAKE_AR=$AR' >> $script - echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script - echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script - echo 'export OE_QMAKE_INCDIR_QT=`qmake -query QT_INSTALL_HEADERS`' >> $script - echo 'export OE_QMAKE_MOC=${OE_QMAKE_PATH_HOST_BINS}/moc' >> $script - echo 'export OE_QMAKE_UIC=${OE_QMAKE_PATH_HOST_BINS}/uic' >> $script - echo 'export OE_QMAKE_RCC=${OE_QMAKE_PATH_HOST_BINS}/rcc' >> $script - echo 'export OE_QMAKE_QDBUSCPP2XML=${OE_QMAKE_PATH_HOST_BINS}/qdbuscpp2xml' >> $script - echo 'export OE_QMAKE_QDBUSXML2CPP=${OE_QMAKE_PATH_HOST_BINS}/qdbusxml2cpp' >> $script - echo 'export OE_QMAKE_QT_CONFIG=`qmake -query QT_INSTALL_LIBS`/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script - echo 'export OE_QMAKE_PATH_HOST_BINS=${OE_QMAKE_PATH_HOST_BINS}' >> $script - echo 'export QMAKESPEC=`qmake -query QT_INSTALL_LIBS`/${QT_DIR_NAME}/mkspecs/linux-oe-g++' >> $script - - # Use relocable sysroot - sed -i -e 's:${SDKPATHNATIVE}:$OECORE_NATIVE_SYSROOT:g' $script -} - -addtask generate_qt_environment_file after do_install before do_package |