Build QT 5.4 with GLES 2 support for ARM (conga-QMX6)

The main purpose is to build QT 5.4 libraries with OpenGL ES2 support for ARM embedded system (conga-QMX6 based on Freescale i.MX6 ARM Cortex A9).

1) First of all , you need to install LTIB. You can use this instructions for install LTIB under Ubuntu 14.04

2) Download source code of QT 5.4 from official site (by this link http://download.qt.io/official_releases/qt/5.4/5.4.1/single/qt-everywhere-opensource-src-5.4.1.zip)

3) Unpack downloaded file at any directory (for example into home dir).

4) Edit platform config file qmake.conf (located in qtbase/mkspecs/devices/linux-imx6-g++/ ):

include(../common/linux_device_pre.conf)
EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_imx6.cpp
ROOTFS=/home/tarkus/SARMAT/ltib/rootfs

QMAKE_INCDIR += $$ROOTFS/usr/include
QMAKE_LIBDIR += $$ROOTFS/usr/lib
QMAKE_LFLAGS += -Wl,-rpath-link,$$ROOTFS/usr/lib

QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL

IMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1
QMAKE_CFLAGS += $$IMX6_CFLAGS
QMAKE_CXXFLAGS += $$IMX6_CFLAGS
include(../common/linux_arm_device_post.conf)
load(qt_config)

 


5) Create bash script file into qtbase directory:

#!/bin/sh
./configure -v -opensource -confirm-license -make libs -device imx6 -prefix /opt/QtEmbedded-5.4.1-arm -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -no-pch -no-openvg -no-opengl -no-icu -no-c++11 -eglfs -no-xcb -directfb -opengl es2 -no-openssl -no-xvideo -no-cups -no-glib -qt-zlib -no-nis -no-cups -no-openssl -qt-libpng -qt-libjpeg -no-audio-backend -no-separate-debug-info -no-rpath -compile-examples

Don’t forget to change paths in case of any difference. If you use this instruction no changes are needed.

6) Run configuration script, created in previous step.

7) Run commands ‘make & make install’ (under root user)

As the result QT 5.4 for ARM will be built and deployed into /opt/QtEmbedded-5.4.1-arm directory.