From 95c24799c0e68009d1a285d8c370cd7b5c0ed47f Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Fri, 23 Nov 2018 09:32:40 +0100 Subject: Update installation abstract instructions Make clearer the difference between build environments Yocto, cross compile with an AGL SDK and native. Change-Id: Id09782c8648026420fbfdbbbcf0fd1891edb7b86 Signed-off-by: Romain Forlot --- docs/dev_guide/0_Abstract.md | 83 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 74 insertions(+), 9 deletions(-) diff --git a/docs/dev_guide/0_Abstract.md b/docs/dev_guide/0_Abstract.md index 88e841b..9d44890 100644 --- a/docs/dev_guide/0_Abstract.md +++ b/docs/dev_guide/0_Abstract.md @@ -1,13 +1,16 @@ # Abstract -Files used to build an application, or a binding project with the AGL -Application Framework. +This CMake module is used to build an application or a binding project for the +AGL Application Framework. It allows to easily build a widget and its related +test widget for running on top the application framework. -To build your AGL project using these templates, you have to installed them as +## Installation for a native environment + +To build your AGL project using the templates, you have to install them as a CMake module. The easy way is to install using your distro package manager following [this guide](http://docs.automotivelinux.org/docs/devguides/en/dev/reference/host-configuration/docs/1_Prerequisites.html). -Then install it, depending of your distro: +To install it, depending on your distro: * **Debian/Ubuntu** @@ -27,12 +30,74 @@ sudo zypper install agl-cmake-apps-module sudo dnf install agl-cmake-apps-module ``` +## Installing in a cross compilation environment + +### Using AGL SDK + +Beginning with the `Grumpy Guppy`, version 7, the CMakeAfbTemplates CMake module +is installed by default in the SDKs. So, you don't need anything to use it. + +Here are some links to the latest SDKs on the master branch: + +* [dra7xx-evm](https://download.automotivelinux.org/AGL/snapshots/master/latest/dra7xx-evm/deploy/sdk/) +* [dragonboard-410c](https://download.automotivelinux.org/AGL/snapshots/master/latest/dragonboard-410c/deploy/sdk/) +* [intel-corei7-64](https://download.automotivelinux.org/AGL/snapshots/master/latest/intel-corei7-64/deploy/sdk/) +* [m3ulcb-nogfx](https://download.automotivelinux.org/AGL/snapshots/master/latest/m3ulcb-nogfx/deploy/sdk/) +* [qemux86-64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/sdk/) +* [raspberrypi3](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi3/deploy/sdk/) + +### Using bitbake recipes + +If you have developed an application and you want to include it in the AGL image, +you have to add a `bitbake` recipe in one of the **AGL Yocto layer**: + +* [meta-agl](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl): + meta-agl layer (core AGL) +* [meta-agl-cluster-demo](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-cluster-demo): + cluster demo specific recipes and configuration +* [meta-agl-demo](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-demo): + meta-agl-demo layer (demo/staging/"one-shot") +* [meta-agl-devel](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-devel): + meta-agl-devel (Development and Community BSPs) +* [meta-agl-extra](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-extra): + meta-agl-extra (additional/optional components for AGL) + +Then in your recipe, you simply have to add the class `aglwgt` to the *inherit* +line: + +```bb +inherit aglwgt +``` + +i.e with the **HVAC** app recipe: + +```bb +SUMMARY = "HVAC Service Binding" +DESCRIPTION = "AGL HVAC Service Binding" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-hvac" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-hvac;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +DEPENDS = "json-c" +RDEPENDS_${PN} += "agl-service-identity-agent" + +inherit cmake aglwgt pkgconfig +``` + ---- You'll find usage samples here: -- [helloworld-service](https://github.com/iotbzh/helloworld-service) -- [agl-service-can-low-level](https://gerrit.automotivelinux.org/gerrit/apps/agl-service-can-low-level) -- [agl-service-audio-4a](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-audio-4a) -- [agl-service-unicens](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-unicens) -- [4a-hal-unicens](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/4a-hal-unicens) +* [helloworld-service](https://github.com/iotbzh/helloworld-service) +* [agl-service-can-low-level](https://gerrit.automotivelinux.org/gerrit/apps/agl-service-can-low-level) +* [agl-service-audio-4a](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-audio-4a) +* [agl-service-unicens](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-unicens) +* [4a-hal-unicens](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/4a-hal-unicens) -- cgit 1.2.3-korg