aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--classes/qmake5.bbclass2
-rw-r--r--recipes-qt/qt5/files/g++.conf2
-rw-r--r--recipes-qt/qt5/files/linux.conf10
-rw-r--r--recipes-qt/qt5/qt5-native.inc3
-rw-r--r--recipes-qt/qt5/qt5.inc47
-rw-r--r--recipes-qt/qt5/qtbase.inc6
6 files changed, 47 insertions, 23 deletions
diff --git a/classes/qmake5.bbclass b/classes/qmake5.bbclass
index 0cde707a..b30b1507 100644
--- a/classes/qmake5.bbclass
+++ b/classes/qmake5.bbclass
@@ -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"
diff --git a/recipes-qt/qt5/files/g++.conf b/recipes-qt/qt5/files/g++.conf
index e58fb157..14cd3e1d 100644
--- a/recipes-qt/qt5/files/g++.conf
+++ b/recipes-qt/qt5/files/g++.conf
@@ -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
diff --git a/recipes-qt/qt5/files/linux.conf b/recipes-qt/qt5/files/linux.conf
index 86703813..08e84f23 100644
--- a/recipes-qt/qt5/files/linux.conf
+++ b/recipes-qt/qt5/files/linux.conf
@@ -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)
diff --git a/recipes-qt/qt5/qt5-native.inc b/recipes-qt/qt5/qt5-native.inc
index 0231c0f6..3fde774a 100644
--- a/recipes-qt/qt5/qt5-native.inc
+++ b/recipes-qt/qt5/qt5-native.inc
@@ -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/
}
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index b9e223b7..195717fc 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -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/*"
diff --git a/recipes-qt/qt5/qtbase.inc b/recipes-qt/qt5/qtbase.inc
index 115bb469..e85ff6e1 100644
--- a/recipes-qt/qt5/qtbase.inc
+++ b/recipes-qt/qt5/qtbase.inc
@@ -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"