aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/intrinsics/CMakeLists.txt
blob: 9822122cd2f497ec67a06de05b500b77a33cb3a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
###########################################################################
# Copyright (C) 2015-2020 "IoT.bzh"
#
# author: José Bollo <jose.bollo@iot.bzh>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
###########################################################################


INCLUDE_DIRECTORIES(${include_dirs})

##################################################
# DBus Binding
##################################################
ADD_LIBRARY(afb-dbus-binding MODULE afb-dbus-binding.c)
SET_TARGET_PROPERTIES(afb-dbus-binding PROPERTIES
	PREFIX ""
	LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map"
)
TARGET_LINK_LIBRARIES(afb-dbus-binding ${json-c_LDFLAGS} ${libsystemd_LDFLAGS})
INSTALL(TARGETS afb-dbus-binding
        LIBRARY DESTINATION ${INTRINSIC_BINDING_DIR})
light .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
{
    "id": "agl-qemu-octopus",
    "load": true,
    "supported_archs": [
        "x86_64",
        "arm64"
    ],
    "supported_host_types": [
        "darwin",
        "ubuntu",
        "fedora"
    ],
    "flutter_runtime": "debug",
    "type": "qemu",
    "env": {
        "RELEASE_NAME": "octopus",
        "RELEASE_VERSION": "latest",
        "FLUTTER_DEBUG_PORT": "1234",
        "FLUTTER_OBSERVATORY_HOST": "0.0.0.0",
        "CONTAINER_SSH_PORT": "2222",
        "DEVICE_HOSTNAME": "localhost",
        "FLUTTER_AUTO_EXE": "flutter-auto --j=/tmp/${appName}/default_config.json --b=/tmp/${appName}",
        "PING_CMD": "(echo >/dev/tcp/localhost/${CONTAINER_SSH_PORT}) &>/dev/null && echo open || echo closed",
        "DELETE_USER_PWD": "ssh -p ${CONTAINER_SSH_PORT} -t -oBatchMode=yes root@${DEVICE_HOSTNAME} passwd -d agl-driver",
        "CREATE_BUNDLE_FOLDER": "ssh -p ${CONTAINER_SSH_PORT} -o BatchMode=yes agl-driver@${DEVICE_HOSTNAME} mkdir -p /tmp/${appName}/data",
        "COPY_PLATFORM_ID_TO_DEVICE": "scp -P ${CONTAINER_SSH_PORT} -r ${PLATFORM_ID_DIR}/default_config.json agl-driver@${DEVICE_HOSTNAME}:/tmp/${appName}/",
        "COPY_ASSETS_TO_DEVICE": "scp -P ${CONTAINER_SSH_PORT} -r ${localPath}/* agl-driver@${DEVICE_HOSTNAME}:/tmp/${appName}/data/flutter_assets",
        "DELETE_APP_FOLDER": "ssh -p ${CONTAINER_SSH_PORT} -o BatchMode=yes agl-driver@${DEVICE_HOSTNAME} rm -rf /tmp/${appName}"
    },
    "runtime": {
        "config": {
            "view": [
                {
                    "window_type": "BG",
                    "width": 1920,
                    "height": 1080
                }
            ]
        },
        "pre-requisites": {
            "arm64": {
                "darwin": {
                    "cmds": [
                        "bash -c \"arch -arm64 brew install xz\"",
                        "bash -c \"arch -arm64 brew install qemu\""
                    ]
                }
            }
        },
        "artifacts": {
            "http": {
                "url": "https://download.automotivelinux.org/AGL/release/${RELEASE_NAME}/${RELEASE_VERSION}",
                "artifacts": {
                    "x86_64": [
                        {
                            "endpoint": "/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-platform-flutter-qemux86-64.wic.vmdk.xz"
                        }
                    ],
                    "arm64": [
                        {
                            "endpoint": "/qemuarm64/deploy/images/qemuarm64/agl-demo-platform-crosssdk-qemuarm64.ext4.xz"
                        },
                        {
                            "endpoint": "/qemuarm64/deploy/images/qemuarm64/Image-qemuarm64.bin"
                        }
                    ]
                }
            }
        },
        "qemu": {
            "cmd": "qemu-system-${FORMAL_MACHINE_ARCH}",
            "x86_64": {
                "image": "agl-ivi-demo-platform-flutter-qemux86-64.wic.vmdk",
                "args": "-m 2048 ${QEMU_EXTRA} -hda ${QEMU_IMAGE} -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt -vga virtio -device virtio-rng-pci -serial mon:stdio -serial null -device intel-hda -device hda-duplex -device virtio-net-pci,netdev=net0,mac=${RANDOM_MAC} -netdev user,id=net0,hostfwd=tcp::${CONTAINER_SSH_PORT}-:22,hostfwd=tcp::${FLUTTER_DEBUG_PORT}-:${FLUTTER_DEBUG_PORT}"
            },
            "arm64": {
                "kernel": "Image-qemuarm64.bin",
                "image": "agl-demo-platform-crosssdk-qemuarm64.ext4",
                "args": "-accel hvf -cpu host -M virt ${QEMU_EXTRA} -m 4096 -device virtio-gpu-pci -nographic -display cocoa,show-cursor=on -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0 -device qemu-xhci -device usb-tablet -device usb-mouse -device usb-kbd -device virtio-net-pci,netdev=vnet -netdev user,id=vnet,hostfwd=tcp::${CONTAINER_SSH_PORT}-:22,hostfwd=tcp::${FLUTTER_DEBUG_PORT}-:${FLUTTER_DEBUG_PORT} -kernel ${QEMU_KERNEL} -drive file=${QEMU_IMAGE},format=raw,if=virtio -append root=/dev/vda"
            },
            "extra": {
                "darwin": "-smp cpus=8,sockets=1,cores=8,threads=1",
                "ubuntu": "-bios OVMF.fd",
                "fedora": "-bios /usr/share/edk2/ovmf/OVMF_CODE.fd"
            }
        },
        "post_cmds": [
            {
                "cwd": "${PLATFORM_ID_DIR}",
                "cmds": [
                    "bash -c \"rm ${QEMU_IMAGE}|true\"",
                    "unxz --keep ${QEMU_IMAGE}.xz"
                ]
            }
        ]
    },
    "overwrite-existing": true,
    "custom-device": {
        "id": "agl-qemu-${RELEASE_NAME}",
        "label": "AGL ${RELEASE_NAME}-${RELEASE_VERSION} QEMU Image",
        "sdkNameAndVersion": "qemu-${RELEASE_NAME} ${RELEASE_VERSION}",
        "platform": "linux-x64",
        "enabled": true,
        "ping": "bash -c \"${PING_CMD}\"",
        "pingSuccessRegex": "open",
        "postBuild": "bash -c \"${DELETE_USER_PWD}\"",
        "install": "bash -c \"${CREATE_BUNDLE_FOLDER} && ${COPY_PLATFORM_ID_TO_DEVICE} && ${COPY_ASSETS_TO_DEVICE}\"",
        "uninstall": "bash -c \"${DELETE_APP_FOLDER}\"",
        "runDebug": "bash -c \"ssh -t -t -o BatchMode=yes agl-driver@${DEVICE_HOSTNAME} ${FLUTTER_AUTO_EXE}\"",
        "forwardPort": null,
        "forwardPortSuccessRegex": null,
        "screenshot": null
    }
}