Merge pull request #2 from levonmaa/master

Updating recipes to use correct tools and fixing installations
This commit is contained in:
Martin 'JaMa' Jansa 2012-12-03 17:26:02 -08:00
commit 9914f2c64f
7 changed files with 97 additions and 20 deletions

View File

@ -21,7 +21,7 @@ Prefix =
Binaries = ${STAGING_BINDIR_NATIVE}
Headers = ${STAGING_INCDIR}/qt5
Plugins = ${STAGING_LIBDIR}/qt5/plugins/
Libraries = ${STAGING_LIBDIR}/qt5-test
Libraries = ${STAGING_LIBDIR}
Mkspecs = ${STAGING_DATADIR}/qt5/mkspecs/
HostData = ${STAGING_DATADIR_NATIVE}/qt5
HostBinaries = ${STAGING_BINDIR_NATIVE}/

View File

@ -0,0 +1,31 @@
From 1092de02d1ac256a8c56fb5b5e590a4df8188acb Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Tue, 27 Nov 2012 12:46:44 -0800
Subject: [PATCH] Always build uic
Even if we are not building gui or widgets. This tool is needed later
as a native tool when compiling the target.
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
---
src/tools/tools.pro | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index c67d6bf..b6f3b39 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -1,8 +1,8 @@
TEMPLATE = subdirs
-TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc
+TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc src_tools_uic
contains(QT_CONFIG, dbus): TOOLS_SUBDIRS += src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
-!contains(QT_CONFIG, no-widgets): TOOLS_SUBDIRS += src_tools_uic
+
# Set subdir and respective target name
src_tools_bootstrap.subdir = $$PWD/bootstrap
src_tools_bootstrap.target = sub-tools-bootstrap
--
1.7.4.1

View File

@ -18,7 +18,7 @@ QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTP
QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
QMAKE_CXX = $(OE_QMAKE_CXX)
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS $(OE_QMAKE_CXXFLAGS)
QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF

View File

@ -22,7 +22,6 @@ QMAKE_LIBDIR_EGL =
QMAKE_INCDIR_OPENVG =
QMAKE_LIBDIR_OPENVG =
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
@ -35,6 +34,15 @@ QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
QMAKE_LIBS_THREAD = -lpthread
QMAKE_LIBS_LIBUDEV = -ludev
QMAKE_CFLAGS_WAYLAND =
QMAKE_INCDIR_WAYLAND =
QMAKE_LIBS_WAYLAND_CLIENT = -lwayland-client
QMAKE_LIBS_WAYLAND_SERVER = -lwayland-server
QMAKE_LIBDIR_WAYLAND =
QMAKE_DEFINES_WAYLAND =
QMAKE_WAYLAND_SCANNER = wayland-scanner
QMAKE_MOC = $(OE_QMAKE_MOC)
QMAKE_UIC = $(OE_QMAKE_UIC)

View File

@ -14,6 +14,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
SRC_URI += " \
file://0001-qlibraryinfo-Allow-the-specification-of-where-to-loa.patch \
file://0001-Always-build-uic.patch \
"
EXTRA_OECONF = " \
@ -36,6 +37,8 @@ EXTRA_OECONF = " \
-qt-xcb \
-verbose -release \
-headerdir ${includedir}/qt5 \
-datadir ${datadir}/qt5 \
-docdir ${docdir}/qt5 \
-no-glib \
-no-iconv \
-no-fast \
@ -55,11 +58,9 @@ do_configure() {
do_install() {
install -d ${D}${bindir}/
for i in findtr fixqt4headers.pl moc qdoc qmake rcc qdbuscpp2xml qdbusxml2cpp syncqt; do
for i in findtr fixqt4headers.pl moc qdoc qmake rcc qdbuscpp2xml qdbusxml2cpp syncqt uic; do
install -v -m 0755 bin/${i} ${D}${bindir}/${i}
done
install -d ${D}${datadir}/qt5/
cp -PfR mkspecs ${D}${datadir}/qt5/
cp -f ${WORKDIR}/g++.conf ${D}${datadir}/qt5/mkspecs/common/g++-unix.conf
cp -f ${WORKDIR}/linux.conf ${D}${datadir}/qt5/mkspecs/common/
}

View File

@ -25,7 +25,6 @@ QT_DISTRO_FLAGS_linuxstdbase = "-sm"
# but add them to QT_CONFIG_FLAGS e.g. in qtbase.inc
QT_SQL_DRIVER_FLAGS ?= "-no-sql-ibase -no-sql-mysql -no-sql-psql -no-sql-odbc -plugin-sql-sqlite"
QT_GLFLAGS ?= ""
QT_QT3SUPPORT ?= "-qt3support"
QT_XML ?= "-xmlpatterns"
QT_WEBKIT ?= "-webkit"
QT_PHONON ?= "-phonon"
@ -50,6 +49,7 @@ QT_CONFIG_FLAGS += " \
-no-pch \
-no-rpath \
-no-fast \
-pkg-config \
${QT_SYSTEM_LIBS} \
${QT_NIS} \
${QT_CUPS} \
@ -62,8 +62,13 @@ QT_CONFIG_FLAGS += " \
${QT_DEMOS} \
"
EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake -d -after \
INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
AR="${TARGET_PREFIX}ar cqs" \
MOC="${STAGING_BINDIR_NATIVE}/moc" UIC="${STAGING_BINDIR_NATIVE}/uic" MAKE="make -e ${PARALLEL_MAKE}"'
EXTRA_OEMAKE = "-e"
export QT_CONF_PATH="${S}/qt.conf"
do_configure() {
set_endian
@ -79,11 +84,18 @@ do_configure() {
cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++
bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf
mkdir -p mkspecs/build-oe-g++
cp -f ${WORKDIR}/qplatformdefs.h mkspecs/build-oe-g++
## FIXME, the file nameing is dumb...
cp ${WORKDIR}/qmake-build.conf.sh mkspecs/build-oe-g++/qmake.conf
echo "[Paths]" > $QT_CONF_PATH
echo "Binaries=${bindir}" >> $QT_CONF_PATH
echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Libraries=${libdir}" >> $QT_CONF_PATH
echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
echo "HostBinaries=${STAGING_BINDIR_NATIVE}" >> $QT_CONF_PATH
echo "HostData=${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}" >> $QT_CONF_PATH
./configure -v \
-opensource -confirm-license \
@ -98,24 +110,51 @@ do_configure() {
-importdir ${libdir}/${QT_DIR_NAME}/imports \
-translationdir ${datadir}/${QT_DIR_NAME}/translations \
-examplesdir ${bindir}/${QT_DIR_NAME}/examples \
-platform build-oe-g++ \
-platform ${TARGET_OS}-oe-g++ \
-xplatform ${TARGET_OS}-oe-g++ \
${QT_CONFIG_FLAGS}
### Since we are utilizing the native tree for the mkspecs, update the target mkspecs there
if [ ! -e ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ ]; then
cp -rf mkspecs/${TARGET_OS}-oe-g++ ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++
fi
### qmodule.pri and qconfig.pri contain target specific stuff
cp -f mkspecs/qmodule.pri ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/qmodule.pri
cp -f mkspecs/qconfig.pri ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/qconfig.pri
}
do_compile() {
unset CFLAGS CXXFLAGS AR
export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
oe_runmake ${EXTRA_ENV}
oe_runmake
# Build qmake for the target arch
cd ${S}/qmake
${OE_QMAKE_QMAKE}
oe_runmake CC="${CC}" CXX="${CXX}"
cd ${S}
}
do_install() {
oe_runmake install INSTALL_ROOT=${D}
# Fix up the binaries to the right location
install -d ${D}${bindir}/
mv ${D}/${STAGING_BINDIR_NATIVE}/* ${D}${bindir}/
rm -rf ${D}/${STAGING_BINDIR_NATIVE}/
# Install the right arch qmake
rm ${D}/${bindir}/qmake
install -m 0755 bin/qmake2 ${D}${bindir}/qmake
}
FILES_${PN} = "${libdir}/*.so.*"
FILES_${PN}-dbg = "${libdir}/.debug/*.so.*"
FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/platforms/*.so"
FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/platforms/.debug/*.so"
FILES_${PN}-dev = "${libdir}/cmake/* ${libdir}/pkgconfig/*.pc ${libdir}/*.la ${libdir}/*.prl ${includedir}/qt5/*"
FILES_${PN}-staticdev = "${libdir}/libQt*.a"
FILES_${PN}-tools = "${bindir}/qmake"
FILES_${PN}-mkspecs = "${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/*"
FILES_${PN}-doc = "${STAGING_DATADIR_NATIVE}/doc/*"

View File

@ -6,8 +6,8 @@ SRC_URI += " \
file://0003-Allow-building-a-separate-qmake-for-the-target.patch \
"
# to provide xcb/xcb_icccm.h, xcb/xcb_image.h, xcb/xcb_keysyms.h
DEPENDS += "xcb-util-wm xcb-util-image xcb-util-keysyms"
# to provide xcb/xcb_icccm.h, xcb/xcb_image.h, xcb/xcb_keysyms.h and dbus/dbus.h
DEPENDS += "xcb-util-wm xcb-util-image xcb-util-keysyms dbus"
QT_MODULE_FLAGS ?= "-system-xcb"
@ -16,8 +16,6 @@ INC_PR = "r0"
QT_BASE_NAME = "qt5"
QT_DIR_NAME = "qt5"
export QMAKESPEC = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++"
# Qt uses atomic instructions not supported in thumb mode
ARM_INSTRUCTION_SET = "arm"