summaryrefslogtreecommitdiffstats
path: root/external/meta-qt5/classes
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /external/meta-qt5/classes
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
agl-basesystem
Diffstat (limited to 'external/meta-qt5/classes')
-rw-r--r--external/meta-qt5/classes/cmake_qt5.bbclass35
-rw-r--r--external/meta-qt5/classes/populate_sdk_qt5.bbclass8
-rw-r--r--external/meta-qt5/classes/populate_sdk_qt5_base.bbclass28
-rw-r--r--external/meta-qt5/classes/qmake5.bbclass19
-rw-r--r--external/meta-qt5/classes/qmake5_base.bbclass250
-rw-r--r--external/meta-qt5/classes/qmake5_paths.bbclass51
6 files changed, 391 insertions, 0 deletions
diff --git a/external/meta-qt5/classes/cmake_qt5.bbclass b/external/meta-qt5/classes/cmake_qt5.bbclass
new file mode 100644
index 00000000..5ba960ec
--- /dev/null
+++ b/external/meta-qt5/classes/cmake_qt5.bbclass
@@ -0,0 +1,35 @@
+inherit cmake
+inherit qmake5_paths
+
+DEPENDS_prepend = "qtbase qtbase-native "
+
+EXTRA_OECMAKE_prepend = " \
+ -DOE_QMAKE_PATH_PREFIX=${OE_QMAKE_PATH_PREFIX} \
+ -DOE_QMAKE_PATH_HEADERS=${OE_QMAKE_PATH_HEADERS} \
+ -DOE_QMAKE_PATH_LIBS=${OE_QMAKE_PATH_LIBS} \
+ -DOE_QMAKE_PATH_ARCHDATA=${OE_QMAKE_PATH_ARCHDATA} \
+ -DOE_QMAKE_PATH_DATA=${OE_QMAKE_PATH_DATA} \
+ -DOE_QMAKE_PATH_BINS=${OE_QMAKE_PATH_BINS} \
+ -DOE_QMAKE_PATH_LIBEXECS=${OE_QMAKE_PATH_LIBEXECS} \
+ -DOE_QMAKE_PATH_PLUGINS=${OE_QMAKE_PATH_PLUGINS} \
+ -DOE_QMAKE_PATH_QML=${OE_QMAKE_PATH_QML} \
+ -DOE_QMAKE_PATH_TRANSLATIONS=${OE_QMAKE_PATH_TRANSLATIONS} \
+ -DOE_QMAKE_PATH_DOCS=${OE_QMAKE_PATH_DOCS} \
+ -DOE_QMAKE_PATH_SETTINGS=${OE_QMAKE_PATH_SETTINGS} \
+ -DOE_QMAKE_PATH_EXAMPLES=${OE_QMAKE_PATH_EXAMPLES} \
+ -DOE_QMAKE_PATH_TESTS=${OE_QMAKE_PATH_TESTS} \
+ -DOE_QMAKE_PATH_HOST_PREFIX=${OE_QMAKE_PATH_HOST_PREFIX} \
+ -DOE_QMAKE_PATH_HOST_BINS=${OE_QMAKE_PATH_HOST_BINS} \
+ -DOE_QMAKE_PATH_HOST_DATA=${OE_QMAKE_PATH_HOST_DATA} \
+ -DOE_QMAKE_PATH_HOST_LIBS=${OE_QMAKE_PATH_HOST_LIBS} \
+ -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
+ -DOE_QMAKE_PATH_QT_HEADERS=${OE_QMAKE_PATH_QT_HEADERS} \
+ -DOE_QMAKE_PATH_QT_ARCHDATA=${OE_QMAKE_PATH_QT_ARCHDATA} \
+ -DOE_QMAKE_PATH_QT_DATA=${OE_QMAKE_PATH_QT_DATA} \
+ -DOE_QMAKE_PATH_QT_BINS=${OE_QMAKE_PATH_QT_BINS} \
+ -DOE_QMAKE_PATH_QT_TRANSLATIONS=${OE_QMAKE_PATH_QT_TRANSLATIONS} \
+ -DOE_QMAKE_PATH_QT_DOCS=${OE_QMAKE_PATH_QT_DOCS} \
+ -DOE_QMAKE_PATH_QT_SETTINGS=${OE_QMAKE_PATH_QT_SETTINGS} \
+ -DOE_QMAKE_PATH_QT_EXAMPLES=${OE_QMAKE_PATH_QT_EXAMPLES} \
+ -DOE_QMAKE_PATH_QT_TESTS=${OE_QMAKE_PATH_QT_TESTS} \
+"
diff --git a/external/meta-qt5/classes/populate_sdk_qt5.bbclass b/external/meta-qt5/classes/populate_sdk_qt5.bbclass
new file mode 100644
index 00000000..a10341dc
--- /dev/null
+++ b/external/meta-qt5/classes/populate_sdk_qt5.bbclass
@@ -0,0 +1,8 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+inherit populate_sdk_qt5_base
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-packagegroup-qt5-toolchain-host"
+TOOLCHAIN_TARGET_TASK_append = " packagegroup-qt5-toolchain-target"
+
+FEATURE_PACKAGES_qtcreator-debug = "packagegroup-qt5-qtcreator-debug"
diff --git a/external/meta-qt5/classes/populate_sdk_qt5_base.bbclass b/external/meta-qt5/classes/populate_sdk_qt5_base.bbclass
new file mode 100644
index 00000000..c26fee44
--- /dev/null
+++ b/external/meta-qt5/classes/populate_sdk_qt5_base.bbclass
@@ -0,0 +1,28 @@
+# This allow reuse of Qt paths
+inherit qmake5_paths
+
+create_sdk_files_prepend () {
+ # Generate a qt.conf file to be deployed with the SDK
+ qtconf=${SDK_OUTPUT}/${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qt.conf
+ touch $qtconf
+ echo '[Paths]' >> $qtconf
+ echo 'Prefix = ${OE_QMAKE_PATH_PREFIX}' >> $qtconf
+ echo 'Headers = ${OE_QMAKE_PATH_QT_HEADERS}' >> $qtconf
+ echo 'Libraries = ${OE_QMAKE_PATH_LIBS}' >> $qtconf
+ echo 'ArchData = ${OE_QMAKE_PATH_QT_ARCHDATA}' >> $qtconf
+ echo 'Data = ${OE_QMAKE_PATH_QT_DATA}' >> $qtconf
+ echo 'Binaries = ${OE_QMAKE_PATH_QT_BINS}' >> $qtconf
+ echo 'LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}' >> $qtconf
+ echo 'Plugins = ${OE_QMAKE_PATH_PLUGINS}' >> $qtconf
+ echo 'Qml2Imports = ${OE_QMAKE_PATH_QML}' >> $qtconf
+ echo 'Translations = ${OE_QMAKE_PATH_QT_TRANSLATIONS}' >> $qtconf
+ echo 'Documentation = ${OE_QMAKE_PATH_QT_DOCS}' >> $qtconf
+ echo 'Settings = ${OE_QMAKE_PATH_QT_SETTINGS}' >> $qtconf
+ echo 'Examples = ${OE_QMAKE_PATH_QT_EXAMPLES}' >> $qtconf
+ echo 'Tests = ${OE_QMAKE_PATH_QT_TESTS}' >> $qtconf
+ echo 'HostPrefix = ${SDKPATHNATIVE}' >> $qtconf
+ echo 'HostData = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_ARCHDATA}' >> $qtconf
+ echo 'HostBinaries = ${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}' >> $qtconf
+ echo 'HostLibraries = ${SDKPATHNATIVE}${OE_QMAKE_PATH_LIBS}' >> $qtconf
+ echo 'Sysroot = ${SDKTARGETSYSROOT}' >> $qtconf
+}
diff --git a/external/meta-qt5/classes/qmake5.bbclass b/external/meta-qt5/classes/qmake5.bbclass
new file mode 100644
index 00000000..1a960e8f
--- /dev/null
+++ b/external/meta-qt5/classes/qmake5.bbclass
@@ -0,0 +1,19 @@
+#
+# QMake variables for Qt
+#
+inherit qmake5_base
+
+QT5TOOLSDEPENDS ?= "qtbase-native"
+DEPENDS_prepend = "${QT5TOOLSDEPENDS} "
+
+do_configure() {
+ qmake5_base_do_configure
+}
+
+do_install() {
+ qmake5_base_do_install
+}
+
+do_install_class-native() {
+ qmake5_base_native_do_install
+}
diff --git a/external/meta-qt5/classes/qmake5_base.bbclass b/external/meta-qt5/classes/qmake5_base.bbclass
new file mode 100644
index 00000000..b3a4826a
--- /dev/null
+++ b/external/meta-qt5/classes/qmake5_base.bbclass
@@ -0,0 +1,250 @@
+# hardcode linux, because that's what 0001-Add-linux-oe-g-platform.patch adds
+XPLATFORM_toolchain-clang = "linux-oe-clang"
+XPLATFORM ?= "linux-oe-g++"
+
+OE_QMAKE_PLATFORM_NATIVE = "${XPLATFORM}"
+OE_QMAKE_PLATFORM = "${XPLATFORM}"
+
+# Add -d to show debug output from every qmake call, but it prints *a lot*, better to add it only to debugged recipe
+OE_QMAKE_DEBUG_OUTPUT ?= ""
+
+# Look through supplied directories recursively by default
+OE_QMAKE_RECURSIVE ?= "-r"
+
+# Paths in .prl files contain SYSROOT value
+SSTATE_SCAN_FILES += "*.pri *.prl *.prf"
+
+# drop default -e and add needed OE_QMAKE vars explicitly
+# the problem is that when generated Makefile has:
+# CFLAGS = -pipe $(OE_QMAKE_CFLAGS) -O2 -pthread -D_REENTRANT -Wall -W -fPIC $(DEFINES)
+# then OE_QMAKE_CFLAGS are exported and used correctly, but then whole CFLAGS is overwritten from env (and -fPIC lost and build fails)
+EXTRA_OEMAKE = " \
+ MAKEFLAGS='${PARALLEL_MAKE}' \
+ OE_QMAKE_COMPILER='${OE_QMAKE_COMPILER}' \
+ OE_QMAKE_CC='${OE_QMAKE_CC}' \
+ OE_QMAKE_CXX='${OE_QMAKE_CXX}' \
+ OE_QMAKE_CFLAGS='${OE_QMAKE_CFLAGS}' \
+ OE_QMAKE_CXXFLAGS='${OE_QMAKE_CXXFLAGS}' \
+ OE_QMAKE_LINK='${OE_QMAKE_LINK}' \
+ OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \
+ OE_QMAKE_AR='${OE_QMAKE_AR}' \
+ OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \
+ OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \
+"
+
+OE_QMAKE_QMAKE = "${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake"
+export OE_QMAKE_COMPILER = "${CC}"
+export OE_QMAKE_CC = "${CC}"
+export OE_QMAKE_CFLAGS = "${CFLAGS}"
+export OE_QMAKE_CXX = "${CXX}"
+export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
+export OE_QMAKE_LINK = "${CXX}"
+export OE_QMAKE_LDFLAGS = "${LDFLAGS}"
+export OE_QMAKE_AR = "${AR}"
+export OE_QMAKE_STRIP = "echo"
+
+# qmake reads if from shell environment
+export OE_QMAKE_QTCONF_PATH = "${WORKDIR}/qt.conf"
+
+inherit qmake5_paths remove-libtool
+
+generate_target_qt_config_file() {
+ qtconf="$1"
+ cat > "${qtconf}" <<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}
+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_BINS}
+HostData = ${OE_QMAKE_PATH_ARCHDATA}
+HostLibraries = ${OE_QMAKE_PATH_LIBS}
+HostSpec = ${OE_QMAKE_PLATFORM}
+TargetSpec = ${OE_QMAKE_PLATFORM}
+ExternalHostBinaries = ${OE_QMAKE_PATH_BINS}
+Sysroot =
+EOF
+}
+
+do_generate_qt_config_file() {
+ generate_qt_config_file_paths
+ generate_qt_config_file_effective_paths
+}
+
+generate_qt_config_file_paths() {
+ cat > ${OE_QMAKE_QTCONF_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}
+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_QMAKE_PLATFORM_NATIVE}
+TargetSpec = ${OE_QMAKE_PLATFORM}
+ExternalHostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
+Sysroot = ${STAGING_DIR_TARGET}
+EOF
+}
+
+generate_qt_config_file_effective_paths() {
+ cat >> ${OE_QMAKE_QTCONF_PATH} <<EOF
+[EffectivePaths]
+HostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
+HostData = ${OE_QMAKE_PATH_HOST_DATA}
+HostPrefix = ${STAGING_DIR_NATIVE}
+EOF
+}
+#
+# Allows to override following values (as in version 5.0.1)
+# Prefix The default prefix for all paths.
+# Documentation The location for documentation upon install.
+# Headers The location for all headers.
+# Libraries The location of installed libraries.
+# LibraryExecutables The location of installed executables required by libraries at runtime.
+# Binaries The location of installed Qt binaries (tools and applications).
+# Plugins The location of installed Qt plugins.
+# Imports The location of installed QML extensions to import (QML 1.x).
+# Qml2Imports The location of installed QML extensions to import (QML 2.x).
+# ArchData The location of general architecture-dependent Qt data.
+# Data The location of general architecture-independent Qt data.
+# Translations The location of translation information for Qt strings.
+# Examples The location for examples upon install.
+# Tests The location of installed Qt testcases.
+# Settings The location for Qt settings. Not applicable on Windows.
+
+# For bootstrapped
+# Sysroot The location of target sysroot
+# HostPrefix The prefix for host tools when cross compiling (building tools for both systems)
+# HostBinaries The location where to install host tools
+# HostData The location where to install host data
+# ExternalHostBinaries The location where we already have host tools (when cross compiling, but reusing existing tools)
+# TargetSpec The location where to install target mkspec
+# HostSpec The location where to install host mkspec
+
+# qmake works fine with separate B, use it by default
+SEPB = "${WORKDIR}/build"
+B = "${SEPB}"
+
+CONFIGURESTAMPFILE = "${WORKDIR}/qmake5_base_configure.sstate"
+
+qmake5_base_preconfigure() {
+ if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
+ if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${S}" != "${B}" ]; then
+ echo "Previously configured separate build directory detected, cleaning ${B}"
+ rm -rf ${B}
+ mkdir ${B}
+ fi
+ fi
+}
+
+qmake5_base_postconfigure(){
+ if [ -n "${CONFIGURESTAMPFILE}" ]; then
+ echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
+ fi
+}
+
+EXTRAQCONFFUNCS ??= ""
+
+do_configure[prefuncs] += "qmake5_base_preconfigure ${EXTRAQCONFFUNCS}"
+do_configure[postfuncs] += "qmake5_base_postconfigure"
+
+addtask generate_qt_config_file after do_patch before do_configure
+
+qmake5_base_do_configure () {
+ if [ -z "${QMAKE_PROFILES}" ]; then
+ PROFILES="`ls ${S}/*.pro`"
+ else
+ PROFILES="${QMAKE_PROFILES}"
+ bbnote "qmake using profiles: '${QMAKE_PROFILES}'"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
+ AFTER="-after"
+ QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
+ bbnote "qmake postvar substitution: '${EXTRA_QMAKEVARS_POST}'"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
+ QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
+ bbnote "qmake prevar substitution: '${EXTRA_QMAKEVARS_PRE}'"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_CONFIGURE}" ]; then
+ QMAKE_VARSUBST_CONFIGURE="${EXTRA_QMAKEVARS_CONFIGURE}"
+ bbnote "qmake configure substitution: '${EXTRA_QMAKEVARS_CONFIGURE}'"
+ fi
+
+ # for config.tests to read this
+ export QMAKE_MAKE_ARGS="${EXTRA_OEMAKE}"
+
+ CMD="${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} ${OE_QMAKE_RECURSIVE} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST -- $QMAKE_VARSUBST_CONFIGURE"
+ ${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} ${OE_QMAKE_RECURSIVE} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST -- $QMAKE_VARSUBST_CONFIGURE || die "Error calling $CMD"
+}
+
+qmake5_base_native_do_install() {
+ oe_runmake install INSTALL_ROOT=${D}
+ find "${D}" -ignore_readdir_race -name "*.la" -delete
+ if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>/dev/null; then
+ sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/Qt5*.pc
+ fi
+}
+
+qmake5_base_fix_install() {
+ STAGING_PATH=$1
+ if [ -d ${D}${STAGING_PATH} ] ; then
+ echo "Some files are installed in wrong directory ${D}${STAGING_PATH}"
+ cp -ra ${D}${STAGING_PATH}/* ${D}
+ rm -rf ${D}${STAGING_PATH}
+ # remove empty dirs
+ TMP=`dirname ${D}${STAGING_PATH}`
+ while test ${TMP} != ${D}; do
+ rmdir ${TMP}
+ TMP=`dirname ${TMP}`;
+ done
+ fi
+}
+
+qmake5_base_do_install() {
+ # Fix install paths for all
+ find . -name "Makefile*" | xargs -r sed -i "s,(INSTALL_ROOT)${STAGING_DIR_TARGET},(INSTALL_ROOT),g"
+ find . -name "Makefile*" | xargs -r sed -i "s,(INSTALL_ROOT)${STAGING_DIR_HOST},(INSTALL_ROOT),g"
+ find . -name "Makefile*" | xargs -r sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE},(INSTALL_ROOT),g"
+
+ oe_runmake install INSTALL_ROOT=${D}
+
+ # everything except HostData and HostBinaries is prefixed with sysroot value,
+ # but we cannot remove sysroot override, because that's useful for pkg-config etc
+ # concurrent builds may cause qmake to regenerate Makefiles and override the above
+ # sed changes. If that happens, move files manually to correct location.
+ qmake5_base_fix_install ${STAGING_DIR_TARGET}
+ qmake5_base_fix_install ${STAGING_DIR_HOST}
+ qmake5_base_fix_install ${STAGING_DIR_NATIVE}
+
+ if ls ${D}${libdir}/pkgconfig/*.pc >/dev/null 2>/dev/null; then
+ sed -i ${D}${libdir}/pkgconfig/*.pc \
+ -e "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" \
+ -e "s@${STAGING_DIR_TARGET}@@g"
+ fi
+}
diff --git a/external/meta-qt5/classes/qmake5_paths.bbclass b/external/meta-qt5/classes/qmake5_paths.bbclass
new file mode 100644
index 00000000..ca7e4fc2
--- /dev/null
+++ b/external/meta-qt5/classes/qmake5_paths.bbclass
@@ -0,0 +1,51 @@
+# If your distribution supports only qt5, or you don't care
+# about conflicts with qt4, then you can add qmake5_paths.bbclass
+# to your distro layer and flatten all QT_DIR_NAME directories
+
+QT_DIR_NAME ?= ""
+
+# This is useful for target recipes to reference native mkspecs
+QMAKE_MKSPEC_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}${QT_DIR_NAME}"
+QMAKE_MKSPEC_PATH_TARGET = "${STAGING_LIBDIR}${QT_DIR_NAME}"
+
+QMAKE_MKSPEC_PATH = "${QMAKE_MKSPEC_PATH_TARGET}"
+QMAKE_MKSPEC_PATH_class-native = "${QMAKE_MKSPEC_PATH_NATIVE}"
+QMAKE_MKSPEC_PATH_class-nativesdk = "${QMAKE_MKSPEC_PATH_NATIVE}"
+
+OE_QMAKE_PATH_PREFIX = "${prefix}"
+OE_QMAKE_PATH_HEADERS = "${includedir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_LIBS = "${libdir}"
+OE_QMAKE_PATH_ARCHDATA = "${libdir}"
+OE_QMAKE_PATH_DATA = "${datadir}"
+OE_QMAKE_PATH_BINS = "${bindir}"
+OE_QMAKE_PATH_LIBEXECS = "${libdir}${QT_DIR_NAME}/libexec"
+OE_QMAKE_PATH_PLUGINS = "${libdir}${QT_DIR_NAME}/plugins"
+OE_QMAKE_PATH_QML = "${libdir}${QT_DIR_NAME}/qml"
+OE_QMAKE_PATH_TRANSLATIONS = "${datadir}/translations"
+OE_QMAKE_PATH_DOCS = "${docdir}"
+OE_QMAKE_PATH_SETTINGS = "${sysconfdir}"
+OE_QMAKE_PATH_EXAMPLES = "${datadir}/examples"
+OE_QMAKE_PATH_TESTS = "${datadir}/tests"
+OE_QMAKE_PATH_HOST_PREFIX = ""
+OE_QMAKE_PATH_HOST_PREFIX_class-target = "${STAGING_DIR_NATIVE}"
+OE_QMAKE_PATH_HOST_BINS = "${bindir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_HOST_DATA = "${QMAKE_MKSPEC_PATH_TARGET}"
+OE_QMAKE_PATH_HOST_LIBS = "${STAGING_LIBDIR}"
+OE_QMAKE_PATH_EXTERNAL_HOST_BINS = "${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}"
+
+# for qt5 components we're using QT_DIR_NAME subdirectory in more
+# variables, because we don't want conflicts with qt4
+# This block is usefull for components which install their
+# own files without QT_DIR_NAME but need to reference paths e.g.
+# with QT headers
+OE_QMAKE_PATH_QT_HEADERS = "${includedir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_QT_ARCHDATA = "${libdir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_QT_DATA = "${datadir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_QT_BINS = "${bindir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_QT_TRANSLATIONS = "${datadir}${QT_DIR_NAME}/translations"
+OE_QMAKE_PATH_QT_DOCS = "${docdir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_QT_SETTINGS = "${sysconfdir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_QT_EXAMPLES = "${datadir}${QT_DIR_NAME}/examples"
+OE_QMAKE_PATH_QT_TESTS = "${datadir}${QT_DIR_NAME}/tests"
+
+OE_QMAKE_PATH_QT_FONTS = "${OE_QMAKE_PATH_LIBS}/fonts"