generic-poky/recipes-qt/qt5/qtbase-native.inc

111 lines
3.4 KiB
PHP

DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]"
DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://qt-project.org"
INC_PR = "r1"
QT_MODULE = "qtbase"
require qt5-native.inc
# shared with target qtbase, all except
# 0005-qmake-is-already-built-in-qtbase-native.patch
# 0006-Allow-building-a-separate-qmake-for-the-target.patch
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_functions-temporary-remove-isEmpty-check.patch \
file://0007-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch \
file://0008-qt_module-Fix-pkgconfig-replacement.patch \
file://0009-qt_module-Fix-paths-in-.prl-files.patch \
file://0010-wayland-scanner-disable-silent-rules.patch \
file://0011-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch \
file://0012-configure.prf-Allow-to-add-extra-arguments-to-make.patch \
"
# specific for native version
SRC_URI += "file://0001-Always-build-uic.patch"
QT_CONF_PATH = "${B}/qt.conf"
do_generate_qt_config_file() {
:
}
EXTRA_OECONF = " \
-dont-process \
-prefix ${prefix} \
-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} \
-headerdir ${OE_QMAKE_PATH_HEADERS} \
-archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
-datadir ${OE_QMAKE_PATH_DATA} \
-docdir ${OE_QMAKE_PATH_DOCS} \
-sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
-no-glib \
-no-iconv \
-silent \
-nomake examples \
-nomake tests \
-nomake demos \
-no-rpath \
-platform linux-oe-g++ \
"
# 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
do_configure_prepend() {
(echo o; echo yes) | ${S}/configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
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
}