diff options
author | Samuli Piippo <samuli.piippo@theqtcompany.com> | 2015-05-13 10:21:19 +0300 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@theqtcompany.com> | 2015-05-27 15:19:04 +0300 |
commit | 190108b9bea85ecc5b9d471d2a7c594b853cbae9 (patch) | |
tree | 75738269c899a57fa2a223cb0c93507c3f3f2f1f | |
parent | d5e0cf7f40587f68ef9d7f5af26b5557bb7b25e3 (diff) | |
download | meta-boot2qt-190108b9bea85ecc5b9d471d2a7c594b853cbae9.tar.gz |
emulator: Qt5 support for emulator
Emulator has special handling for OpenGL support: QtGlesStream provides
the runtime opengl support but since it depends on qtbase, we need to
use qtglesstream-dummy-client when building qt. Also since both recipes
provide same files, we must disable do_populate_sysroot from qtglesstream
so that libs from dummy-client remain there.
Change-Id: Ifde698e7d46863dbb82c6f3ad791412775e111ea
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@theqtcompany.com>
-rw-r--r-- | conf/distro/include/emulator.conf | 12 | ||||
-rw-r--r-- | recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf | 7 | ||||
-rw-r--r-- | recipes-qt/images/b2qt-embedded-qt5-image.bb | 3 | ||||
-rw-r--r-- | recipes-qt/packagegroups/packagegroup-b2qt-embedded-qt5-toolchain-target.bb | 3 | ||||
-rw-r--r-- | recipes-qt/qt5-addons/qtglesstream.bb | 58 | ||||
-rw-r--r-- | recipes/opengldummy/opengldummy.bb | 10 | ||||
-rw-r--r-- | recipes/opengldummy/opengldummy.inc | 3 | ||||
-rw-r--r-- | recipes/opengldummy/qtglesstream-dummy-client.bb | 10 | ||||
-rw-r--r-- | recipes/virtualbox/virtualbox-guest-additions_4.2.14.bb | 4 |
9 files changed, 95 insertions, 15 deletions
diff --git a/conf/distro/include/emulator.conf b/conf/distro/include/emulator.conf index 5453742..d7afc52 100644 --- a/conf/distro/include/emulator.conf +++ b/conf/distro/include/emulator.conf | |||
@@ -29,14 +29,22 @@ MACHINE_EXTRA_RRECOMMENDS += "\ | |||
29 | kernel-module-snd-intel8x0 \ | 29 | kernel-module-snd-intel8x0 \ |
30 | " | 30 | " |
31 | 31 | ||
32 | kernel_autoload_snd-intel8x0 = "snd-intel8x0" | 32 | PREFERRED_PROVIDER_virtual/egl = "qtglesstream-dummy-client" |
33 | PREFERRED_PROVIDER_virtual/libgles2 = "qtglesstream-dummy-client" | ||
34 | |||
35 | KERNEL_MODULE_AUTOLOAD += "snd-intel8x0 vboxguest" | ||
33 | 36 | ||
34 | DISTRO_FEATURES_remove = "webengine" | 37 | DISTRO_FEATURES_remove = "webengine" |
35 | 38 | ||
36 | MACHINE_EXTRA_INSTALL = "\ | 39 | MACHINE_EXTRA_INSTALL = "\ |
37 | mount-vboxsf \ | 40 | mount-vboxsf \ |
38 | " | 41 | " |
39 | |||
40 | MACHINE_EXTRA_INSTALL_SDK = "\ | 42 | MACHINE_EXTRA_INSTALL_SDK = "\ |
41 | qtglesstream-dummy-client-dev \ | 43 | qtglesstream-dummy-client-dev \ |
42 | " | 44 | " |
45 | MACHINE_EXTRA_INSTALL_QT = "\ | ||
46 | qtglesstream \ | ||
47 | " | ||
48 | MACHINE_EXTRA_INSTALL_QT_SDK = "\ | ||
49 | qtglesstream-dev \ | ||
50 | " | ||
diff --git a/recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf b/recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf new file mode 100644 index 0000000..e3b35f0 --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf | |||
@@ -0,0 +1,7 @@ | |||
1 | env=QT_QPA_GENERIC_PLUGINS=simulator | ||
2 | env=QT_QPA_EGLFS_HIDECURSOR=1 | ||
3 | env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins | ||
4 | env=QT_IM_MODULE=qtvirtualkeyboard | ||
5 | env=QTGLESSTREAM_DISPLAY=192.168.56.1 | ||
6 | env=QT_QUICK_CONTROLS_STYLE=Flat | ||
7 | base=linux | ||
diff --git a/recipes-qt/images/b2qt-embedded-qt5-image.bb b/recipes-qt/images/b2qt-embedded-qt5-image.bb index 4631a58..daaa6e4 100644 --- a/recipes-qt/images/b2qt-embedded-qt5-image.bb +++ b/recipes-qt/images/b2qt-embedded-qt5-image.bb | |||
@@ -36,7 +36,10 @@ IMAGE_FEATURES += "\ | |||
36 | inherit core-image | 36 | inherit core-image |
37 | inherit bootfs-image | 37 | inherit bootfs-image |
38 | 38 | ||
39 | MACHINE_EXTRA_INSTALL_QT ?= "" | ||
40 | |||
39 | IMAGE_INSTALL += "\ | 41 | IMAGE_INSTALL += "\ |
42 | ${MACHINE_EXTRA_INSTALL_QT} \ | ||
40 | packagegroup-b2qt-embedded-base \ | 43 | packagegroup-b2qt-embedded-base \ |
41 | packagegroup-b2qt-embedded-tools \ | 44 | packagegroup-b2qt-embedded-tools \ |
42 | packagegroup-b2qt-embedded-gstreamer \ | 45 | packagegroup-b2qt-embedded-gstreamer \ |
diff --git a/recipes-qt/packagegroups/packagegroup-b2qt-embedded-qt5-toolchain-target.bb b/recipes-qt/packagegroups/packagegroup-b2qt-embedded-qt5-toolchain-target.bb index bbc8e44..a4fc1fa 100644 --- a/recipes-qt/packagegroups/packagegroup-b2qt-embedded-qt5-toolchain-target.bb +++ b/recipes-qt/packagegroups/packagegroup-b2qt-embedded-qt5-toolchain-target.bb | |||
@@ -28,7 +28,10 @@ inherit packagegroup | |||
28 | 28 | ||
29 | PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" | 29 | PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" |
30 | 30 | ||
31 | MACHINE_EXTRA_INSTALL_QT_SDK ?= "" | ||
32 | |||
31 | RDEPENDS_${PN} += " \ | 33 | RDEPENDS_${PN} += " \ |
34 | ${MACHINE_EXTRA_INSTALL_QT_SDK} \ | ||
32 | packagegroup-b2qt-embedded-toolchain-target \ | 35 | packagegroup-b2qt-embedded-toolchain-target \ |
33 | qt3d-dev \ | 36 | qt3d-dev \ |
34 | qtbase-dev \ | 37 | qtbase-dev \ |
diff --git a/recipes-qt/qt5-addons/qtglesstream.bb b/recipes-qt/qt5-addons/qtglesstream.bb new file mode 100644 index 0000000..96ab1f7 --- /dev/null +++ b/recipes-qt/qt5-addons/qtglesstream.bb | |||
@@ -0,0 +1,58 @@ | |||
1 | ############################################################################# | ||
2 | ## | ||
3 | ## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). | ||
4 | ## | ||
5 | ## This file is part of the Qt Enterprise Embedded Scripts of the Qt | ||
6 | ## framework. | ||
7 | ## | ||
8 | ## $QT_BEGIN_LICENSE$ | ||
9 | ## Commercial License Usage Only | ||
10 | ## Licensees holding valid commercial Qt license agreements with Digia | ||
11 | ## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, | ||
12 | ## may use this file in accordance with the terms contained in said license | ||
13 | ## agreement. | ||
14 | ## | ||
15 | ## For further information use the contact form at | ||
16 | ## http://www.qt.io/contact-us. | ||
17 | ## | ||
18 | ## | ||
19 | ## $QT_END_LICENSE$ | ||
20 | ## | ||
21 | ############################################################################# | ||
22 | |||
23 | DESCRIPTION = "QtGlesStream" | ||
24 | LICENSE = "QtEnterprise" | ||
25 | LIC_FILES_CHKSUM = "file://qtglesstream.pro;md5=e95d9351d26ed899188e02d44133cae0" | ||
26 | |||
27 | inherit qt5-module | ||
28 | |||
29 | SRC_URI = " \ | ||
30 | git://qt-gerrit.it.local/QtRD-15810/qtglesstream.git;branch=${QT_BRANCH};protocol=ssh \ | ||
31 | " | ||
32 | |||
33 | PV = "1.0.0" | ||
34 | SRCREV = "137d476b0e39eaaa6f35296b6bd962175e6ea5d6" | ||
35 | QT_BRANCH = "dev" | ||
36 | |||
37 | S = "${WORKDIR}/git" | ||
38 | |||
39 | DEPENDS = "qtbase" | ||
40 | RREPLACES_${PN} = "qtglesstream-dummy-client" | ||
41 | RREPLACES_${PN}-dev = "qtglesstream-dummy-client-dev" | ||
42 | |||
43 | do_install_append() { | ||
44 | install -m 0755 -d ${D}${includedir}/EGL | ||
45 | install -m 0755 ${S}/headers/EGL/* ${D}${includedir}/EGL | ||
46 | |||
47 | install -m 0755 -d ${D}${includedir}/GLES2 | ||
48 | install -m 0755 ${S}/headers/GLES2/* ${D}${includedir}/GLES2 | ||
49 | |||
50 | install -m 0755 -d ${D}${includedir}/GLES3 | ||
51 | install -m 0755 ${S}/headers/GLES3/* ${D}${includedir}/GLES3 | ||
52 | |||
53 | install -m 0755 -d ${D}${includedir}/KHR | ||
54 | install -m 0755 ${S}/headers/KHR/* ${D}${includedir}/KHR | ||
55 | } | ||
56 | |||
57 | # no not overwrite files from qtglesstream-dummy-client | ||
58 | do_populate_sysroot[noexec] = "1" | ||
diff --git a/recipes/opengldummy/opengldummy.bb b/recipes/opengldummy/opengldummy.bb index b33e060..680e8cc 100644 --- a/recipes/opengldummy/opengldummy.bb +++ b/recipes/opengldummy/opengldummy.bb | |||
@@ -29,12 +29,14 @@ PV = "1.0.0" | |||
29 | require opengldummy.inc | 29 | require opengldummy.inc |
30 | 30 | ||
31 | do_compile() { | 31 | do_compile() { |
32 | ${CC} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -I${WORKDIR}/headers -o libEGL.so ${WORKDIR}/egl.cpp | 32 | ${CC} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -Wl,-soname,libEGL.so.1 -I${WORKDIR}/headers -o libEGL.so.1 ${WORKDIR}/egl.cpp |
33 | ${CC} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -I${WORKDIR}/headers -o libGLESv2.so ${WORKDIR}/gles2.cpp | 33 | ${CC} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -Wl,-soname,libGLESv2.so.2 -I${WORKDIR}/headers -o libGLESv2.so.2 ${WORKDIR}/gles2.cpp |
34 | } | 34 | } |
35 | 35 | ||
36 | do_install_append() { | 36 | do_install_append() { |
37 | install -m 0755 -d ${D}${libdir} | 37 | install -m 0755 -d ${D}${libdir} |
38 | install -m 0755 ${S}/libEGL.so ${D}${libdir} | 38 | install -m 0755 ${S}/libEGL.so.1 ${D}${libdir} |
39 | install -m 0755 ${S}/libGLESv2.so ${D}${libdir} | 39 | ln -s libEGL.so.1 ${D}${libdir}/libEGL.so |
40 | install -m 0755 ${S}/libGLESv2.so.2 ${D}${libdir} | ||
41 | ln -s libGLESv2.so.2 ${D}${libdir}/libGLESv2.so | ||
40 | } | 42 | } |
diff --git a/recipes/opengldummy/opengldummy.inc b/recipes/opengldummy/opengldummy.inc index 23af5df..2119da0 100644 --- a/recipes/opengldummy/opengldummy.inc +++ b/recipes/opengldummy/opengldummy.inc | |||
@@ -27,9 +27,6 @@ SRC_URI = "file://headers \ | |||
27 | file://gles2.cpp \ | 27 | file://gles2.cpp \ |
28 | " | 28 | " |
29 | 29 | ||
30 | FILES_${PN} = "${libdir}" | ||
31 | FILES_${PN}-dev = "${includedir}/" | ||
32 | |||
33 | do_install() { | 30 | do_install() { |
34 | install -m 0755 -d ${D}${includedir}/EGL | 31 | install -m 0755 -d ${D}${includedir}/EGL |
35 | install -m 0755 ${WORKDIR}/headers/EGL/* ${D}${includedir}/EGL | 32 | install -m 0755 ${WORKDIR}/headers/EGL/* ${D}${includedir}/EGL |
diff --git a/recipes/opengldummy/qtglesstream-dummy-client.bb b/recipes/opengldummy/qtglesstream-dummy-client.bb index 4c8c86a..c2e936e 100644 --- a/recipes/opengldummy/qtglesstream-dummy-client.bb +++ b/recipes/opengldummy/qtglesstream-dummy-client.bb | |||
@@ -25,14 +25,20 @@ SECTION = "devel" | |||
25 | LICENSE = "CLOSED" | 25 | LICENSE = "CLOSED" |
26 | 26 | ||
27 | PV = "1.0.0" | 27 | PV = "1.0.0" |
28 | SOLIBMAJOR = "1" | ||
29 | SOLIBMINOR = "0" | ||
28 | 30 | ||
29 | require opengldummy.inc | 31 | require opengldummy.inc |
30 | 32 | ||
31 | do_compile() { | 33 | do_compile() { |
32 | ${CC} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -I${WORKDIR}/headers -o libQtGlesStreamClient.so ${WORKDIR}/egl.cpp ${WORKDIR}/gles2.cpp | 34 | ${CC} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -Wl,-soname,libQtGlesStreamClient.so.${SOLIBMAJOR} \ |
35 | -I${WORKDIR}/headers -o libQtGlesStreamClient.so.${PV} ${WORKDIR}/egl.cpp ${WORKDIR}/gles2.cpp | ||
33 | } | 36 | } |
34 | 37 | ||
35 | do_install_append() { | 38 | do_install_append() { |
36 | install -m 0755 -d ${D}${libdir} | 39 | install -m 0755 -d ${D}${libdir} |
37 | install -m 0755 ${S}/libQtGlesStreamClient.so ${D}${libdir} | 40 | install -m 0755 ${S}/libQtGlesStreamClient.so.${PV} ${D}${libdir} |
41 | ln -s libQtGlesStreamClient.so.${PV} ${D}${libdir}/libQtGlesStreamClient.so.${SOLIBMAJOR}.${SOLIBMINOR} | ||
42 | ln -s libQtGlesStreamClient.so.${PV} ${D}${libdir}/libQtGlesStreamClient.so.${SOLIBMAJOR} | ||
43 | ln -s libQtGlesStreamClient.so.${PV} ${D}${libdir}/libQtGlesStreamClient.so | ||
38 | } | 44 | } |
diff --git a/recipes/virtualbox/virtualbox-guest-additions_4.2.14.bb b/recipes/virtualbox/virtualbox-guest-additions_4.2.14.bb index ace4eea..587695c 100644 --- a/recipes/virtualbox/virtualbox-guest-additions_4.2.14.bb +++ b/recipes/virtualbox/virtualbox-guest-additions_4.2.14.bb | |||
@@ -51,7 +51,3 @@ do_install() { | |||
51 | } | 51 | } |
52 | 52 | ||
53 | PKG_${PN} = "kernel-module-vbox" | 53 | PKG_${PN} = "kernel-module-vbox" |
54 | |||
55 | module_autoload_vboxsf = "vboxsf" | ||
56 | module_autoload_vboxvideo = "vboxvideo" | ||
57 | module_autoload_vboxguest = "vboxguest" | ||