[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