mirror of
https://github.com/thead-yocto-mirror/meta-qt5
synced 2026-06-21 08:52:35 +02:00
Remove double slash when QT_DIR_NAME is empty
When `QT_DIR_NAME` is defined as an empty string (default is "qt5"),
package.bbclass will throw lots of QA warnings because now the paths contain
double slashes ("//").
We can address these warnings by explicitly defining a slash in the
variable itself.
Signed-off-by: Adam YH Lee <adam.yh.lee@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
committed by
Martin Jansa
parent
001ee936e9
commit
6f0dd9f7cb
@@ -32,7 +32,7 @@ EXTRA_OEMAKE = " \
|
||||
|
||||
OE_QMAKESPEC = "${QMAKE_MKSPEC_PATH_NATIVE}/mkspecs/${OE_QMAKE_PLATFORM_NATIVE}"
|
||||
OE_XQMAKESPEC = "${QMAKE_MKSPEC_PATH}/mkspecs/${OE_QMAKE_PLATFORM}"
|
||||
OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake"
|
||||
OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qmake"
|
||||
OE_QMAKE_COMPILER = "${CC}"
|
||||
OE_QMAKE_CC = "${CC}"
|
||||
OE_QMAKE_CFLAGS = "${CFLAGS}"
|
||||
|
||||
@@ -2,48 +2,48 @@
|
||||
# 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 ?= "qt5"
|
||||
QT_DIR_NAME ?= "/qt5"
|
||||
|
||||
# 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_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_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_IMPORTS = "${libdir}/${QT_DIR_NAME}/imports"
|
||||
OE_QMAKE_PATH_QML = "${libdir}/${QT_DIR_NAME}/qml"
|
||||
OE_QMAKE_PATH_LIBEXECS = "${libdir}${QT_DIR_NAME}/libexec"
|
||||
OE_QMAKE_PATH_PLUGINS = "${libdir}${QT_DIR_NAME}/plugins"
|
||||
OE_QMAKE_PATH_IMPORTS = "${libdir}${QT_DIR_NAME}/imports"
|
||||
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_BINS = "${bindir}/${QT_DIR_NAME}"
|
||||
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}"
|
||||
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_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"
|
||||
|
||||
@@ -63,8 +63,8 @@ EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
|
||||
|
||||
do_install_append() {
|
||||
#Fix absolute paths
|
||||
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}/${QT_DIR_NAME}/mkspecs/features/maliit-framework.prf
|
||||
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}/${QT_DIR_NAME}/mkspecs/features/maliit-plugins.prf
|
||||
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}${QT_DIR_NAME}/mkspecs/features/maliit-framework.prf
|
||||
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}${QT_DIR_NAME}/mkspecs/features/maliit-plugins.prf
|
||||
|
||||
install -d ${D}${datadir}/applications
|
||||
install -m 644 ${WORKDIR}/maliit-server.desktop ${D}${datadir}/applications
|
||||
|
||||
@@ -89,7 +89,7 @@ QT_CONFIG_FLAGS += " \
|
||||
"
|
||||
|
||||
# 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_DATA = "${libdir}${QT_DIR_NAME}"
|
||||
OE_QMAKE_PATH_HOST_LIBS = "${libdir}"
|
||||
|
||||
do_generate_qt_config_file() {
|
||||
@@ -143,7 +143,7 @@ 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_ORIG = "${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qmake"
|
||||
OE_QMAKE_QMAKE = "bin/qmake"
|
||||
|
||||
do_configure() {
|
||||
@@ -268,9 +268,9 @@ do_generate_qt_environment_file() {
|
||||
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_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
|
||||
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
|
||||
|
||||
@@ -28,7 +28,7 @@ SRC_URI[sha256sum] = "afefb73a05cdc36cdfb8a760c2b39eb6c366a22ef47c7d365d446092dd
|
||||
|
||||
S = "${WORKDIR}/qt-creator-opensource-src-${PV}"
|
||||
|
||||
EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}/${QT_DIR_NAME}"
|
||||
EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}"
|
||||
|
||||
do_configure_prepend() {
|
||||
# causes gcc infinite loop with 4.9.x for arm targets similar to
|
||||
@@ -38,11 +38,11 @@ do_configure_prepend() {
|
||||
|
||||
do_configure_append() {
|
||||
# Find native tools
|
||||
sed -i 's:${STAGING_BINDIR}.*/lrelease:${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
|
||||
sed -i 's:${STAGING_BINDIR}.*/qdoc:${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qdoc:g' ${B}/Makefile
|
||||
sed -i 's:${STAGING_BINDIR}.*/lrelease:${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
|
||||
sed -i 's:${STAGING_BINDIR}.*/qdoc:${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qdoc:g' ${B}/Makefile
|
||||
|
||||
# see qtbase-native.inc
|
||||
# sed -i 's:QT_INSTALL_DOCS=${docdir}:QT_INSTALL_DOCS=${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/doc:g' ${B}/Makefile
|
||||
# sed -i 's:QT_INSTALL_DOCS=${docdir}:QT_INSTALL_DOCS=${STAGING_DATADIR_NATIVE}${QT_DIR_NAME}/doc:g' ${B}/Makefile
|
||||
}
|
||||
|
||||
do_compile_append() {
|
||||
@@ -56,22 +56,22 @@ do_install() {
|
||||
# install desktop and ensure that qt-creator finds qmake
|
||||
install -d ${D}${datadir}/applications
|
||||
install -m 0644 ${WORKDIR}/qtcreator.desktop.in ${D}${datadir}/applications/qtcreator.desktop
|
||||
sed -i 's:@QT5_QMAKE@:${bindir}/${QT_DIR_NAME}:g' ${D}${datadir}/applications/qtcreator.desktop
|
||||
sed -i 's:@QT5_QMAKE@:${bindir}${QT_DIR_NAME}:g' ${D}${datadir}/applications/qtcreator.desktop
|
||||
}
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/qtcreator \
|
||||
${datadir}/icons \
|
||||
${libdir}/${QT_DIR_NAME}/qtcreator \
|
||||
${libdir}${QT_DIR_NAME}/qtcreator \
|
||||
"
|
||||
FILES_${PN}-dbg += " \
|
||||
${libdir}/${QT_DIR_NAME}/qtcreator/.debug \
|
||||
${libdir}/${QT_DIR_NAME}/qtcreator/plugins/.debug \
|
||||
${libdir}/${QT_DIR_NAME}/qtcreator/plugins/qbs/plugins/.debug \
|
||||
${libdir}${QT_DIR_NAME}/qtcreator/.debug \
|
||||
${libdir}${QT_DIR_NAME}/qtcreator/plugins/.debug \
|
||||
${libdir}${QT_DIR_NAME}/qtcreator/plugins/qbs/plugins/.debug \
|
||||
"
|
||||
|
||||
FILES_${PN}-dev += " \
|
||||
${libdir}/${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \
|
||||
${libdir}${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN} += "perl"
|
||||
|
||||
@@ -154,7 +154,7 @@ EOF
|
||||
QMAKE_MKSPEC_PATH = "${B}"
|
||||
|
||||
# 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_ORIG = "${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qmake"
|
||||
OE_QMAKE_QMAKE = "bin/qmake"
|
||||
|
||||
# qtbase is exception, configure script is using our get(X)QEvalMakeConf and setBootstrapEvalVariable functions to read it from shell
|
||||
@@ -219,7 +219,7 @@ do_compile_append() {
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
install -m 0755 ${B}/qmake/bin/qmake ${D}/${bindir}/${QT_DIR_NAME}
|
||||
install -m 0755 ${B}/qmake/bin/qmake ${D}/${bindir}${QT_DIR_NAME}
|
||||
|
||||
### Fix up the binaries to the right location
|
||||
### TODO: FIX
|
||||
|
||||
@@ -16,7 +16,7 @@ SRC_URI += " \
|
||||
file://0001-qmltestexample-fix-link.patch \
|
||||
"
|
||||
|
||||
EXTRA_OEMAKE += "QMAKE_SYNCQT=${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/syncqt"
|
||||
EXTRA_OEMAKE += "QMAKE_SYNCQT=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/syncqt"
|
||||
|
||||
PACKAGECONFIG ??= "qtxmlpatterns"
|
||||
PACKAGECONFIG[qtxmlpatterns] = ",,qtxmlpatterns"
|
||||
@@ -27,7 +27,7 @@ do_configure_prepend() {
|
||||
sed -e 's/^\(!qtHaveModule(xmlpatterns)\)/!OE_QTXMLPATTERNS_ENABLED|\1/' -i ${S}/tests/auto/quick/quick.pro
|
||||
|
||||
#set the path for syncqt properly
|
||||
echo "QT_TOOL.syncqt.binary = \"${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/syncqt\"" > ${B}/.qmake.cache
|
||||
echo "QT_TOOL.syncqt.binary = \"${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/syncqt\"" > ${B}/.qmake.cache
|
||||
}
|
||||
|
||||
EXTRA_QMAKEVARS_PRE += "${@base_contains('PACKAGECONFIG', 'qtxmlpatterns', 'CONFIG+=OE_QTXMLPATTERNS_ENABLED', '', d)}"
|
||||
|
||||
@@ -18,8 +18,8 @@ SRC_URI += " \
|
||||
file://0003-add-noqtwebkit-configuration.patch \
|
||||
"
|
||||
|
||||
FILES_${PN}-tools += "${datadir}/${QT_DIR_NAME}/phrasebooks"
|
||||
FILES_${PN}-examples = "${datadir}/${QT_DIR_NAME}/examples"
|
||||
FILES_${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks"
|
||||
FILES_${PN}-examples = "${datadir}${QT_DIR_NAME}/examples"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG_class-native ??= "linguistonly"
|
||||
|
||||
Reference in New Issue
Block a user