[meta-freescale] [meta-fsl-arm][RFC] qtbase: add xcb support for i.MX6
Juha Vuolle
juvuolle at gmail.com
Wed Aug 28 05:35:31 PDT 2013
Built fine on master. Can't say if it works as there is no example
apps or qmake to build my own (and I ended up applying the patch on
5.1.0 instead of the 5.0.2). But I did get out an image with the Qt
libs in place so I'll try tomorrow with my hand-built apps and cross
fingers for binary compatibility. The resulting libEGL.so.1 on the
sysroot/rootfs seems to be libEGL-wl.so i.e. wayland, is this OK?
On master-next there is some (maybe unrelated) error:
libEGL.so: undefined reference to `gcoOS_CreateDrawable'
when it is building
nitrogen6x-poky-linux-gnueabi/qt4-x11-free/4.8.5-r0/qt-everywhere-opensource-src-4.8.5
2013/8/26 Eric Bénard <eric at eukrea.com>:
> Signed-off-by: Eric Bénard <eric at eukrea.com>
> ---
> qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend | 24 ++++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend b/qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend
> index 33f0e8b..5553e27 100644
> --- a/qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend
> +++ b/qt5-layer/recipes-qt/qt5/qtbase_5.0.2.bbappend
> @@ -1,11 +1,14 @@
> +@@ -2,10 +2,12 @@
> # Copyright (C) 2013 Eric Bénard - Eukréa Electromatique
>
> HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}"
>
> -GL_DEPENDS_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', '', 'virtual/libgles2 virtual/egl', d)}"
> -QT_GLFLAGS_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', '', '-opengl es2 -eglfs', d)}"
> +GL_DEPENDS_mx6 = "virtual/libgles2 virtual/egl"
> +QT_GLFLAGS_mx6 = "-opengl es2 -eglfs"
> QT_EXAMPLES_mx6 = "-make examples"
> QT_DEMOS_mx6 = "-make demos"
> +XCB_DEPENDS_mx6 += "${@base_contains('DISTRO_FEATURES', 'x11', 'xcb-util-wm xcb-util-image xcb-util-keysyms dbus', '', d)}"
> +QT_XCB_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', '-qt-xcb', '', d)}"
>
> GL_DEPENDS_mx5 = "${@base_contains('DISTRO_FEATURES', 'x11', '', 'virtual/libgles2 virtual/egl', d)}"
> QT_GLFLAGS_mx5 = "${@base_contains('DISTRO_FEATURES', 'x11', '', '-opengl es2 -eglfs', d)}"
> @@ -47,6 +50,23 @@ EOF
>
> # copy the hook in the mkspecs directory OE is using
> cp ${S}/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp ${S}/mkspecs/linux-oe-g++/
> +
> + else
> +# adapt qmake.conf to our needs
> +sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf
> +cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
> +IMX6_CFLAGS = -DLINUX=1
> +QMAKE_LIBS_EGL += -lEGL
> +QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL
> +QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL
> +QMAKE_CFLAGS_RELEASE += \$\$IMX6_CFLAGS
> +QMAKE_CXXFLAGS_RELEASE += \$\$IMX6_CFLAGS
> +QMAKE_CFLAGS_DEBUG += \$\$IMX6_CFLAGS
> +QMAKE_CXXFLAGS_DEBUG += \$\$IMX6_CFLAGS
> +QMAKE_CFLAGS_EGL += \$\$IMX6_CFLAGS
> +load(qt_config)
> +
> +EOF
> fi
> }
>
> --
> 1.7.10.4
>
More information about the meta-freescale
mailing list