Skip to content
Snippets Groups Projects
Commit ae4b6421 authored by Samuli Piippo's avatar Samuli Piippo
Browse files

Build Qt5 and all addons


Use meta-qt5 layer to build Qt5, commercial addons and b2qt addons.
Create new image and toolchain recipes with Qt5 content, so that the
existing image and toolchain remain as-is without Qt5.
Currently support only for imx6 targets.

Change-Id: I398750dd1a62c6ff8ea216cfe364da273d8e9a77
Reviewed-by: default avatarAndy Nichols <andy.nichols@theqtcompany.com>
parent 5fcb893d
No related branches found
No related tags found
No related merge requests found
Showing
with 460 additions and 4 deletions
...@@ -57,4 +57,7 @@ IMAGE_FSTYPES = "tar.gz" ...@@ -57,4 +57,7 @@ IMAGE_FSTYPES = "tar.gz"
LICENSE_CREATE_PACKAGE = "1" LICENSE_CREATE_PACKAGE = "1"
COPY_LIC_MANIFEST = "1" COPY_LIC_MANIFEST = "1"
QT5_VERSION = "5.4.1"
include conf/distro/include/qt5-versions.inc
include conf/distro/include/${MACHINE}.conf include conf/distro/include/${MACHINE}.conf
...@@ -26,6 +26,9 @@ BOOTFS_CONTENT = "\ ...@@ -26,6 +26,9 @@ BOOTFS_CONTENT = "\
" "
BOOTFS_DEPENDS = "u-boot:do_deploy" BOOTFS_DEPENDS = "u-boot:do_deploy"
PREFERRED_PROVIDER_virtual/egl = "libgles-omap3"
PREFERRED_PROVIDER_virtual/libgles2 = "libgles-omap3"
PREFERRED_VERSION_libgles-omap3 = "5.01.01.01" PREFERRED_VERSION_libgles-omap3 = "5.01.01.01"
PREFERRED_VERSION_omap3-sgx-modules = "5.01.01.01" PREFERRED_VERSION_omap3-sgx-modules = "5.01.01.01"
......
...@@ -26,6 +26,9 @@ BOOTFS_CONTENT = "\ ...@@ -26,6 +26,9 @@ BOOTFS_CONTENT = "\
" "
BOOTFS_DEPENDS = "u-boot:do_deploy" BOOTFS_DEPENDS = "u-boot:do_deploy"
PREFERRED_PROVIDER_virtual/egl = "libgles-omap3"
PREFERRED_PROVIDER_virtual/libgles2 = "libgles-omap3"
PREFERRED_VERSION_libgles-omap3 = "4.09.00.01" PREFERRED_VERSION_libgles-omap3 = "4.09.00.01"
PREFERRED_VERSION_omap3-sgx-modules = "4.09.00.01" PREFERRED_VERSION_omap3-sgx-modules = "4.09.00.01"
......
...@@ -27,6 +27,9 @@ EXTRA_IMAGEDEPENDS += "u-boot-uenv-script" ...@@ -27,6 +27,9 @@ EXTRA_IMAGEDEPENDS += "u-boot-uenv-script"
PREFERRED_VERSION_libgles-omap3 = "4.10.00.01" PREFERRED_VERSION_libgles-omap3 = "4.10.00.01"
PREFERRED_VERSION_omap3-sgx-modules = "4.10.00.01" PREFERRED_VERSION_omap3-sgx-modules = "4.10.00.01"
PREFERRED_PROVIDER_virtual/egl = "libgles-omap3"
PREFERRED_PROVIDER_virtual/libgles2 = "libgles-omap3"
PREFERRED_PROVIDER_u-boot = "u-boot" PREFERRED_PROVIDER_u-boot = "u-boot"
EXTRA_IMAGEDEPENDS_remove = "u-boot-denx" EXTRA_IMAGEDEPENDS_remove = "u-boot-denx"
UBOOT_MACHINE = "am335x_boneblack_config" UBOOT_MACHINE = "am335x_boneblack_config"
......
...@@ -30,6 +30,9 @@ BOOTFS_CONTENT = "\ ...@@ -30,6 +30,9 @@ BOOTFS_CONTENT = "\
" "
BOOTFS_DEPENDS = "u-boot:do_deploy virtual/kernel:do_deploy" BOOTFS_DEPENDS = "u-boot:do_deploy virtual/kernel:do_deploy"
PREFERRED_PROVIDER_virtual/egl = "opengldummy"
PREFERRED_PROVIDER_virtual/libgles2 = "opengldummy"
MACHINE_EXTRA_INSTALL = "\ MACHINE_EXTRA_INSTALL = "\
opengldummy \ opengldummy \
" "
......
...@@ -26,15 +26,13 @@ BOOTFS_CONTENT = "\ ...@@ -26,15 +26,13 @@ BOOTFS_CONTENT = "\
" "
BOOTFS_DEPENDS = "bcm2835-bootfiles:do_deploy virtual/kernel:do_deploy" BOOTFS_DEPENDS = "bcm2835-bootfiles:do_deploy virtual/kernel:do_deploy"
PREFERRED_PROVIDER_virtual/libgles1 = "vc-graphics-hardfp"
MACHINE_EXTRA_INSTALL = "\ MACHINE_EXTRA_INSTALL = "\
vc-graphics-hardfp \ userland \
omxplayer \ omxplayer \
" "
MACHINE_EXTRA_INSTALL_SDK = " \ MACHINE_EXTRA_INSTALL_SDK = " \
vc-graphics-hardfp-dev \ userland \
" "
KERNEL_MODULE_AUTOLOAD += "snd-bcm2835 bcm2835-v4l2" KERNEL_MODULE_AUTOLOAD += "snd-bcm2835 bcm2835-v4l2"
......
...@@ -33,3 +33,4 @@ BBFILE_PATTERN_b2qt := "^${LAYERDIR}/" ...@@ -33,3 +33,4 @@ BBFILE_PATTERN_b2qt := "^${LAYERDIR}/"
BBFILE_PRIORITY_b2qt = "20" BBFILE_PRIORITY_b2qt = "20"
LICENSE_PATH += "${LAYERDIR}/licenses" LICENSE_PATH += "${LAYERDIR}/licenses"
QT_LICENCE = "${LAYERDIR}/licenses/QtEnterprise"
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
do_configure_prepend_mx6() {
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 -DEGL_API_FB=1
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL
QMAKE_CFLAGS += \$\$IMX6_CFLAGS
QMAKE_CXXFLAGS += \$\$IMX6_CFLAGS
EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/../devices/linux-imx6-g++/qeglfshooks_imx6.cpp
load(qt_config)
EOF
}
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
do_configure_prepend_rpi() {
sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf
cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
RPI_CFLAGS = -DLINUX=1 -DEGL_API_FB=1
QMAKE_INCDIR_EGL = \$\$[QT_SYSROOT]/usr/include/interface/vcos/pthreads \
\$\$[QT_SYSROOT]/usr/include/interface/vmcs_host/linux
QMAKE_INCDIR_OPENGL_ES2 = \$\${QMAKE_INCDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lGLESv2
QMAKE_CFLAGS += \$\$RPI_CFLAGS
QMAKE_CXXFLAGS += \$\$RPI_CFLAGS
EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/../devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
EGLFS_PLATFORM_HOOKS_LIBS = -lbcm_host
load(qt_config)
EOF
}
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
do_configure_prepend_rpi() {
sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf
cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
QMAKE_LIBS_EGL = -lEGL -lIMGegl -lsrv_um
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 \$\${QMAKE_LIBS_EGL}
QMAKE_LIBS_OPENVG = -lOpenVG \$\${QMAKE_LIBS_EGL}
load(qt_config)
EOF
}
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
DESCRIPTION = "Boot to Qt Appcontroller"
LICENSE = "QtEnterprise"
LIC_FILES_CHKSUM = "file://main.cpp;md5=1fcdf6b49fbbf2bc9c831893cca1b279;beginline=1;endline=17"
inherit qmake5
SRC_URI = " \
git://qt-gerrit.it.local/QtRD-15810/b2qt-appcontroller;branch=${QT_BRANCH};protocol=ssh \
file://appcontroller.conf \
"
SRCREV = "cac8839211fc5bb53592d3d04c344834c4c054df"
QT_BRANCH = "stable"
S = "${WORKDIR}/git"
DEPENDS = "qtbase"
do_configure_append() {
sed -i -e '/^platform=/d' ${WORKDIR}/appcontroller.conf
echo platform=${MACHINE} >> ${WORKDIR}/appcontroller.conf
}
do_install_append() {
install -m 0755 -d ${D}${sysconfdir}
install -m 0755 ${WORKDIR}/appcontroller.conf ${D}${sysconfdir}/
}
FILES_${PN} += "${sysconfdir}/appcontroller.conf"
env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
env=QT_IM_MODULE=qtvirtualkeyboard
env=QT_QPA_EGLFS_FORCE888=0
env=QT_QUICK_CONTROLS_STYLE=Flat
base=linux
env=QMLSCENE_DEVICE=softwarecontext
env=QT_QPA_PLATFORM=linuxfb
env=QSG_RENDER_LOOP=basic
env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
env=QT_IM_MODULE=qtvirtualkeyboard
env=QT_QUICK_CONTROLS_STYLE=Flat
base=linux
env=FB_MULTI_BUFFER=2
env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
env=QT_IM_MODULE=qtvirtualkeyboard
env=QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0
env=QT_GSTREAMER_CAMERABIN_VIDEOSRC=mxc_v4l2=mfw_v4lsrc,v4l2src
env=QT_QUICK_CONTROLS_STYLE=Flat
base=linux
env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
env=QT_IM_MODULE=qtvirtualkeyboard
env=QT_QPA_EGLFS_FORCE888=1
env=QT_QUICK_CONTROLS_STYLE=Flat
base=linux
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
DESCRIPTION = "Boot to Qt Demos"
LICENSE = "QtEnterprise"
LIC_FILES_CHKSUM = "file://sensors/Accelbubble.qml;md5=1bf19846314f7b0fa81dc4db92338713;beginline=1;endline=40"
inherit qmake5
SRC_URI = " \
git://qt-gerrit.it.local/QtRD-15810/b2qt-demos;branch=${QT_BRANCH};protocol=ssh;name=demos \
git://code.qt.io/qt-labs/qt5-everywhere-demo.git;protocol=git;name=everywhere;destsuffix=qt5-everywhere-demo \
"
QT_BRANCH = "dev"
SRCREV_demos = "d6979299a7809e5b832738c4cf39bba2c9a185eb"
SRCREV_everywhere = "6178748a6ea34df40a8e3c9ce67137e33383bb0e"
GITDIR_everywhere = "${DL_DIR}/qt5-everywhere-demo"
S = "${WORKDIR}/git/basicsuite"
DEPENDS = "qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtgraphicaleffects qtsensors qtmultimedia qtwebengine"
do_install_append() {
# we only need plugins from the demos
rm -rf ${D}/data/user/camera
rm -rf ${D}/data/user/sensorexplorer
cp -r ${S}/* ${D}/data/user/qt/
cp -r ${S}/../images ${D}/data/
cp -r ${S}/../videos ${D}/data/
cp -r ${WORKDIR}/qt5-everywhere-demo/QtDemo/qml ${D}/data/user/qt/qt5-everywhere/
# we can't have several top-level windows in b2qt, replace Window -> Rectangle
sed -i '/import QtQuick.Window/c\' ${D}/data/user/qt/qt5-everywhere/qml/QtDemo/main.qml
sed -i 's/Window /Rectangle /1' ${D}/data/user/qt/qt5-everywhere/qml/QtDemo/main.qml
}
FILES_${PN} += " \
/data/images/ \
/data/videos/ \
/data/user \
"
FILES_${PN}-dbg += " \
/data/user/*/.debug/ \
/data/user/qt/*/*/.debug/ \
"
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
DESCRIPTION = "Boot to Qt Demo Launcher"
LICENSE = "QtEnterprise"
LIC_FILES_CHKSUM = "file://src/main.cpp;md5=1fcdf6b49fbbf2bc9c831893cca1b279;beginline=1;endline=17"
inherit qmake5
SRC_URI = " \
git://qt-gerrit.it.local/QtRD-15810/b2qt-launcher;branch=${QT_BRANCH};protocol=ssh \
file://b2qt-startup.sh \
"
SRCREV = "e824e206f28eb20bcb6f1d9064990f5e927261f4"
QT_BRANCH = "dev"
S = "${WORKDIR}/git"
DEPENDS = "qtbase qtdeclarative qtwebengine"
do_install_append() {
install -m 0755 -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/b2qt-startup.sh ${D}${sysconfdir}/init.d/
}
FILES_${PN} += "${sysdir}/init.d/b2qt-startup.h"
INITSCRIPT_NAME = "b2qt-startup.sh"
INITSCRIPT_PARAMS = "defaults 30"
inherit update-rc.d
#!/bin/sh
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
case "$1" in
start)
if [ -x /data/user/b2qt ]; then
APP="/data/user/b2qt"
elif [ -x /usr/bin/b2qt ]; then
APP="/usr/bin/b2qt"
else
APP="/usr/bin/qtlauncher --applications-root /data/user/qt"
fi
/usr/bin/appcontroller ${APP} &
;;
stop)
/usr/bin/appcontroller --stop
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
DESCRIPTION = "Boot to Qt Utils module"
LICENSE = "QtEnterprise"
LIC_FILES_CHKSUM = "file://src/qconnectivity/main.cpp;md5=0b2892e6aca7d0750bbd7fe6b6b1c033;beginline=1;endline=17"
inherit qt5-module
SRC_URI = " \
git://qt-gerrit.it.local/QtRD-15810/b2qt-utils;branch=${QT_BRANCH};protocol=ssh \
"
SRCREV = "7b14c47d6adbc6ab3cdfc9d10bef25029215a85f"
QT_BRANCH = "dev"
S = "${WORKDIR}/git"
DEPENDS = "qtbase qtdeclarative wpa-supplicant"
FILES_${PN}-examples-dbg = " \
/data/user/qt/.debug/* \
/data/user/qt/wifi-cpp/.debug/* \
"
FILES_${PN}-examples = " \
/data/user/qt/wifi-cpp/wifi-cpp \
/data/user/qt/wifi-qml \
"
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
##
## This file is part of the Qt Enterprise Embedded Scripts of the Qt
## framework.
##
## $QT_BEGIN_LICENSE$
## Commercial License Usage Only
## Licensees holding valid commercial Qt license agreements with Digia
## with an appropriate addendum covering the Qt Enterprise Embedded Scripts,
## may use this file in accordance with the terms contained in said license
## agreement.
##
## For further information use the contact form at
## http://www.qt.io/contact-us.
##
##
## $QT_END_LICENSE$
##
#############################################################################
DESCRIPTION = "B2Qt embedded Qt5 image"
LICENSE = "QtEnterprise"
LIC_FILES_CHKSUM = "file://${QT_LICENCE};md5=7bc9c54e450006250a60e96604c186c9"
PR = "r0"
IMAGE_FEATURES += "\
package-management \
ssh-server-dropbear \
tools-debug \
debug-tweaks \
hwcodecs \
"
inherit core-image
inherit bootfs-image
IMAGE_INSTALL += "\
packagegroup-b2qt-embedded-base \
packagegroup-b2qt-embedded-tools \
packagegroup-b2qt-embedded-gstreamer \
packagegroup-b2qt-embedded-qt5 \
packagegroup-b2qt-embedded-qt5-addons \
"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment