qtbase: partially resolves module pri installation

The pri files get correctly placed under the work dir, but fail
to stage correctly. Also there are some packaging issues

Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
This commit is contained in:
Mikko Levonmaa 2012-12-02 10:04:53 -08:00
parent c3e8e8de59
commit ff173560e2
6 changed files with 47 additions and 23 deletions

View File

@ -6,7 +6,7 @@ inherit qmake5_base
QT5TOOLSDEPENDS ?= "qt5-native "
DEPENDS_prepend = "${QT5TOOLSDEPENDS}"
#export QMAKESPEC = "${STAGING_DATADIR_NATIVE}/qt5/mkspecs/${TARGET_OS}-oe-g++"
export QMAKESPEC = "${STAGING_DATADIR_NATIVE}/qt5/mkspecs/${TARGET_OS}-oe-g++"
export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic"
export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc"
export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc"

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

@ -38,6 +38,7 @@ EXTRA_OECONF = " \
-verbose -release \
-headerdir ${includedir}/qt5 \
-datadir ${datadir}/qt5 \
-docdir ${docdir}/qt5 \
-no-glib \
-no-iconv \
-no-fast \
@ -62,6 +63,4 @@ do_install() {
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} \
@ -84,26 +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
#export QT_CONF_PATH="${S}/qt.conf"
echo "[Paths]" > $QT_CONF_PATH
#echo "Prefix=${prefix}" >> $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}/qt5/plugins" >> $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=${S}" >> $QT_CONF_PATH
echo "HostData=${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}" >> $QT_CONF_PATH
./configure -v \
-opensource -confirm-license \
@ -121,21 +113,48 @@ do_configure() {
-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}
# 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"