diff options
Diffstat (limited to 'qt5-layer')
-rw-r--r-- | qt5-layer/recipes-qt/qt5/qtbase/mx5/qeglfshooks_imx5.cpp | 105 | ||||
-rw-r--r-- | qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend | 71 | ||||
-rw-r--r-- | qt5-layer/recipes-qt/qt5/qtbase_5.1.0.bbappend | 78 |
3 files changed, 32 insertions, 222 deletions
diff --git a/qt5-layer/recipes-qt/qt5/qtbase/mx5/qeglfshooks_imx5.cpp b/qt5-layer/recipes-qt/qt5/qtbase/mx5/qeglfshooks_imx5.cpp deleted file mode 100644 index 43e6d8d..0000000 --- a/qt5-layer/recipes-qt/qt5/qtbase/mx5/qeglfshooks_imx5.cpp +++ /dev/null | |||
@@ -1,105 +0,0 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** hacked by Eric Bénard - Eukréa Electromatique | ||
4 | ** inspired from https://community.freescale.com/docs/DOC-94123 | ||
5 | ** and from fbset.c http://users.telenet.be/geertu/Linux/fbdev/ | ||
6 | ** | ||
7 | ** based on qeglfshooks_imx6.cpp which is : | ||
8 | ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). | ||
9 | ** Contact: http://www.qt-project.org/legal | ||
10 | ** | ||
11 | ** This file is part of the qmake spec of the Qt Toolkit. | ||
12 | ** | ||
13 | ** $QT_BEGIN_LICENSE:LGPL$ | ||
14 | ** Commercial License Usage | ||
15 | ** Licensees holding valid commercial Qt licenses may use this file in | ||
16 | ** accordance with the commercial license agreement provided with the | ||
17 | ** Software or, alternatively, in accordance with the terms contained in | ||
18 | ** a written agreement between you and Digia. For licensing terms and | ||
19 | ** conditions see http://qt.digia.com/licensing. For further information | ||
20 | ** use the contact form at http://qt.digia.com/contact-us. | ||
21 | ** | ||
22 | ** GNU Lesser General Public License Usage | ||
23 | ** Alternatively, this file may be used under the terms of the GNU Lesser | ||
24 | ** General Public License version 2.1 as published by the Free Software | ||
25 | ** Foundation and appearing in the file LICENSE.LGPL included in the | ||
26 | ** packaging of this file. Please review the following information to | ||
27 | ** ensure the GNU Lesser General Public License version 2.1 requirements | ||
28 | ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
29 | ** | ||
30 | ** In addition, as a special exception, Digia gives you certain additional | ||
31 | ** rights. These rights are described in the Digia Qt LGPL Exception | ||
32 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
33 | ** | ||
34 | ** GNU General Public License Usage | ||
35 | ** Alternatively, this file may be used under the terms of the GNU | ||
36 | ** General Public License version 3.0 as published by the Free Software | ||
37 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
38 | ** packaging of this file. Please review the following information to | ||
39 | ** ensure the GNU General Public License version 3.0 requirements will be | ||
40 | ** met: http://www.gnu.org/copyleft/gpl.html. | ||
41 | ** | ||
42 | ** | ||
43 | ** $QT_END_LICENSE$ | ||
44 | ** | ||
45 | ****************************************************************************/ | ||
46 | #include <fcntl.h> /* For O_RDWR */ | ||
47 | #include <unistd.h> /* For open(), creat() */ | ||
48 | #include "qeglfshooks.h" | ||
49 | #include <EGL/egl.h> | ||
50 | #include <linux/fb.h> | ||
51 | #include <sys/ioctl.h> | ||
52 | |||
53 | QT_BEGIN_NAMESPACE | ||
54 | |||
55 | class QEglFSImx5Hooks : public QEglFSHooks | ||
56 | { | ||
57 | public: | ||
58 | QEglFSImx5Hooks(); | ||
59 | virtual QSize screenSize() const; | ||
60 | virtual EGLNativeWindowType createNativeWindow(const QSize &size, const QSurfaceFormat &format); | ||
61 | virtual void destroyNativeWindow(EGLNativeWindowType window); | ||
62 | |||
63 | private: | ||
64 | QSize mScreenSize; | ||
65 | EGLNativeDisplayType mNativeDisplay; | ||
66 | }; | ||
67 | |||
68 | |||
69 | QEglFSImx5Hooks::QEglFSImx5Hooks() | ||
70 | { | ||
71 | int width, height; | ||
72 | /* code taken from fbset.c */ | ||
73 | int fh; | ||
74 | struct fb_var_screeninfo var; | ||
75 | fh = open("/dev/fb0", O_RDONLY); | ||
76 | ioctl(fh, FBIOGET_VSCREENINFO, &var); | ||
77 | mScreenSize.setHeight(var.yres); | ||
78 | mScreenSize.setWidth(var.xres); | ||
79 | close(fh); | ||
80 | mNativeDisplay = EGL_DEFAULT_DISPLAY; | ||
81 | } | ||
82 | |||
83 | QSize QEglFSImx5Hooks::screenSize() const | ||
84 | { | ||
85 | return mScreenSize; | ||
86 | } | ||
87 | |||
88 | EGLNativeWindowType QEglFSImx5Hooks::createNativeWindow(const QSize &size, const QSurfaceFormat &format) | ||
89 | { | ||
90 | Q_UNUSED(format); | ||
91 | |||
92 | EGLNativeWindowType eglWindow = open("/dev/fb0", O_RDWR); | ||
93 | return eglWindow; | ||
94 | } | ||
95 | |||
96 | |||
97 | void QEglFSImx5Hooks::destroyNativeWindow(EGLNativeWindowType window) | ||
98 | { | ||
99 | close(window); | ||
100 | } | ||
101 | |||
102 | QEglFSImx5Hooks eglFSImx5Hooks; | ||
103 | QEglFSHooks *platformHooks = &eglFSImx5Hooks; | ||
104 | |||
105 | QT_END_NAMESPACE | ||
diff --git a/qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend b/qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend deleted file mode 100644 index 1670f19..0000000 --- a/qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend +++ /dev/null | |||
@@ -1,71 +0,0 @@ | |||
1 | # Copyright (C) 2013 Eric Bénard - Eukréa Electromatique | ||
2 | |||
3 | HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}" | ||
4 | |||
5 | GL_DEPENDS_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', '', 'virtual/libgles2 virtual/egl', d)}" | ||
6 | QT_GLFLAGS_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', '', '-opengl es2 -eglfs', d)}" | ||
7 | QT_EXAMPLES_mx6 = "-make examples" | ||
8 | QT_DEMOS_mx6 = "-make demos" | ||
9 | |||
10 | GL_DEPENDS_mx5 = "${@base_contains('DISTRO_FEATURES', 'x11', '', 'virtual/libgles2 virtual/egl', d)}" | ||
11 | QT_GLFLAGS_mx5 = "${@base_contains('DISTRO_FEATURES', 'x11', '', '-opengl es2 -eglfs', d)}" | ||
12 | QT_EXAMPLES_mx5 = "-make examples" | ||
13 | QT_DEMOS_mx5 = "-make demos" | ||
14 | |||
15 | TSLIB_DEPENDS_mx6 = "tslib" | ||
16 | QT_TSLIB_mx6 = "-tslib" | ||
17 | |||
18 | TSLIB_DEPENDS_mx5 = "tslib" | ||
19 | QT_TSLIB_mx5 = "-tslib" | ||
20 | |||
21 | FILESEXTRAPATHS_prepend_mx5 := "${THISDIR}/${PN}:" | ||
22 | SRC_URI_append_mx5 += " \ | ||
23 | file://qeglfshooks_imx5.cpp \ | ||
24 | " | ||
25 | |||
26 | do_configure_prepend_mx6() { | ||
27 | if test ${HAS_X11} -eq 0; then | ||
28 | # adapt qmake.conf to our needs | ||
29 | sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf | ||
30 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF | ||
31 | EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/qeglfshooks_imx6.cpp | ||
32 | IMX6_CFLAGS = -DLINUX=1 -DEGL_API_FB=1 | ||
33 | QMAKE_LIBS_EGL += -lEGL | ||
34 | QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL | ||
35 | QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL | ||
36 | QMAKE_CFLAGS_RELEASE += \$\$IMX6_CFLAGS | ||
37 | QMAKE_CXXFLAGS_RELEASE += \$\$IMX6_CFLAGS | ||
38 | QMAKE_CFLAGS_DEBUG += \$\$IMX6_CFLAGS | ||
39 | QMAKE_CXXFLAGS_DEBUG += \$\$IMX6_CFLAGS | ||
40 | QMAKE_CFLAGS_EGL += \$\$IMX6_CFLAGS | ||
41 | load(qt_config) | ||
42 | |||
43 | EOF | ||
44 | |||
45 | # copy the hook in the mkspecs directory OE is using | ||
46 | cp ${S}/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp ${S}/mkspecs/linux-oe-g++/ | ||
47 | fi | ||
48 | } | ||
49 | |||
50 | do_configure_prepend_mx5() { | ||
51 | if test ${HAS_X11} -eq 0; then | ||
52 | # adapt qmake.conf to our needs | ||
53 | sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf | ||
54 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF | ||
55 | EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/qeglfshooks_imx5.cpp | ||
56 | IMX5_CFLAGS = -D_LINUX | ||
57 | QMAKE_LIBS_EGL += -lEGL | ||
58 | QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL | ||
59 | QMAKE_LIBS_OPENVG += -lOpenVG -lEGL | ||
60 | QMAKE_CFLAGS_RELEASE += \$\$IMX5_CFLAGS | ||
61 | QMAKE_CXXFLAGS_RELEASE += \$\$IMX5_CFLAGS | ||
62 | QMAKE_CFLAGS_DEBUG += \$\$IMX5_CFLAGS | ||
63 | QMAKE_CXXFLAGS_DEBUG += \$\$IMX5_CFLAGS | ||
64 | QMAKE_CFLAGS_EGL += \$\$IMX5_CFLAGS | ||
65 | load(qt_config) | ||
66 | |||
67 | EOF | ||
68 | |||
69 | cp ${WORKDIR}/qeglfshooks_imx5.cpp ${S}/mkspecs/linux-oe-g++/ | ||
70 | fi | ||
71 | } | ||
diff --git a/qt5-layer/recipes-qt/qt5/qtbase_5.1.0.bbappend b/qt5-layer/recipes-qt/qt5/qtbase_5.1.0.bbappend index 1670f19..310d7f7 100644 --- a/qt5-layer/recipes-qt/qt5/qtbase_5.1.0.bbappend +++ b/qt5-layer/recipes-qt/qt5/qtbase_5.1.0.bbappend | |||
@@ -2,34 +2,47 @@ | |||
2 | 2 | ||
3 | HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}" | 3 | HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}" |
4 | 4 | ||
5 | GL_DEPENDS_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', '', 'virtual/libgles2 virtual/egl', d)}" | 5 | PACKAGECONFIG_GL_mx5 = "gles2" |
6 | QT_GLFLAGS_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', '', '-opengl es2 -eglfs', d)}" | 6 | PACKAGECONFIG_append_mx5 = " tslib icu examples" |
7 | QT_EXAMPLES_mx6 = "-make examples" | ||
8 | QT_DEMOS_mx6 = "-make demos" | ||
9 | 7 | ||
10 | GL_DEPENDS_mx5 = "${@base_contains('DISTRO_FEATURES', 'x11', '', 'virtual/libgles2 virtual/egl', d)}" | 8 | PACKAGECONFIG_GL_mx6 = "gles2" |
11 | QT_GLFLAGS_mx5 = "${@base_contains('DISTRO_FEATURES', 'x11', '', '-opengl es2 -eglfs', d)}" | 9 | PACKAGECONFIG_append_mx6 = " tslib icu examples" |
12 | QT_EXAMPLES_mx5 = "-make examples" | ||
13 | QT_DEMOS_mx5 = "-make demos" | ||
14 | 10 | ||
15 | TSLIB_DEPENDS_mx6 = "tslib" | 11 | do_configure_prepend_mx5() { |
16 | QT_TSLIB_mx6 = "-tslib" | 12 | sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf |
17 | 13 | ||
18 | TSLIB_DEPENDS_mx5 = "tslib" | 14 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF |
19 | QT_TSLIB_mx5 = "-tslib" | 15 | IMX5_CFLAGS = -D_LINUX=1 |
16 | QMAKE_LIBS_EGL += -lEGL | ||
17 | QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL | ||
18 | QMAKE_LIBS_OPENVG += -lOpenVG -lEGL | ||
20 | 19 | ||
21 | FILESEXTRAPATHS_prepend_mx5 := "${THISDIR}/${PN}:" | 20 | QMAKE_CFLAGS_RELEASE += \$\$IMX5_CFLAGS |
22 | SRC_URI_append_mx5 += " \ | 21 | QMAKE_CXXFLAGS_RELEASE += \$\$IMX5_CFLAGS |
23 | file://qeglfshooks_imx5.cpp \ | 22 | QMAKE_CFLAGS_DEBUG += \$\$IMX5_CFLAGS |
24 | " | 23 | QMAKE_CXXFLAGS_DEBUG += \$\$IMX5_CFLAGS |
24 | |||
25 | load(qt_config) | ||
26 | |||
27 | EOF | ||
28 | } | ||
25 | 29 | ||
26 | do_configure_prepend_mx6() { | 30 | do_configure_prepend_mx6() { |
31 | # adapt qmake.conf to our needs | ||
32 | sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf | ||
27 | if test ${HAS_X11} -eq 0; then | 33 | if test ${HAS_X11} -eq 0; then |
28 | # adapt qmake.conf to our needs | 34 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF |
29 | sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf | ||
30 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF | ||
31 | EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/qeglfshooks_imx6.cpp | 35 | EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/qeglfshooks_imx6.cpp |
32 | IMX6_CFLAGS = -DLINUX=1 -DEGL_API_FB=1 | 36 | IMX6_CFLAGS = -DLINUX=1 -DEGL_API_FB=1 |
37 | EOF | ||
38 | # copy the hook in the mkspecs directory OE is using | ||
39 | cp ${S}/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp ${S}/mkspecs/linux-oe-g++/ | ||
40 | else | ||
41 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF | ||
42 | IMX6_CFLAGS = -DLINUX=1 | ||
43 | EOF | ||
44 | fi | ||
45 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF | ||
33 | QMAKE_LIBS_EGL += -lEGL | 46 | QMAKE_LIBS_EGL += -lEGL |
34 | QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL | 47 | QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL |
35 | QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL | 48 | QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL |
@@ -37,35 +50,8 @@ QMAKE_CFLAGS_RELEASE += \$\$IMX6_CFLAGS | |||
37 | QMAKE_CXXFLAGS_RELEASE += \$\$IMX6_CFLAGS | 50 | QMAKE_CXXFLAGS_RELEASE += \$\$IMX6_CFLAGS |
38 | QMAKE_CFLAGS_DEBUG += \$\$IMX6_CFLAGS | 51 | QMAKE_CFLAGS_DEBUG += \$\$IMX6_CFLAGS |
39 | QMAKE_CXXFLAGS_DEBUG += \$\$IMX6_CFLAGS | 52 | QMAKE_CXXFLAGS_DEBUG += \$\$IMX6_CFLAGS |
40 | QMAKE_CFLAGS_EGL += \$\$IMX6_CFLAGS | ||
41 | load(qt_config) | ||
42 | |||
43 | EOF | ||
44 | |||
45 | # copy the hook in the mkspecs directory OE is using | ||
46 | cp ${S}/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp ${S}/mkspecs/linux-oe-g++/ | ||
47 | fi | ||
48 | } | ||
49 | 53 | ||
50 | do_configure_prepend_mx5() { | ||
51 | if test ${HAS_X11} -eq 0; then | ||
52 | # adapt qmake.conf to our needs | ||
53 | sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf | ||
54 | cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF | ||
55 | EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/qeglfshooks_imx5.cpp | ||
56 | IMX5_CFLAGS = -D_LINUX | ||
57 | QMAKE_LIBS_EGL += -lEGL | ||
58 | QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL | ||
59 | QMAKE_LIBS_OPENVG += -lOpenVG -lEGL | ||
60 | QMAKE_CFLAGS_RELEASE += \$\$IMX5_CFLAGS | ||
61 | QMAKE_CXXFLAGS_RELEASE += \$\$IMX5_CFLAGS | ||
62 | QMAKE_CFLAGS_DEBUG += \$\$IMX5_CFLAGS | ||
63 | QMAKE_CXXFLAGS_DEBUG += \$\$IMX5_CFLAGS | ||
64 | QMAKE_CFLAGS_EGL += \$\$IMX5_CFLAGS | ||
65 | load(qt_config) | 54 | load(qt_config) |
66 | 55 | ||
67 | EOF | 56 | EOF |
68 | |||
69 | cp ${WORKDIR}/qeglfshooks_imx5.cpp ${S}/mkspecs/linux-oe-g++/ | ||
70 | fi | ||
71 | } | 57 | } |