#!/usr/bin/env bash
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -ex

sudo apt-get install --yes --no-install-recommends \
    gcc-aarch64-linux-gnu \
    ipxe-qemu \
    libavcodec-dev:arm64 \
    libavutil-dev:arm64 \
    libc-dev:arm64 \
    libcap-dev:arm64 \
    libdbus-1-dev:arm64 \
    libdrm-dev:arm64 \
    libepoxy-dev:arm64 \
    libssl-dev:arm64 \
    libswscale-dev:arm64 \
    libva-dev:arm64 \
    libwayland-dev:arm64 \
    libxext-dev:arm64 \
    qemu-efi-aarch64 \
    qemu-system-aarch64 \
    qemu-user-static

rustup target add aarch64-unknown-linux-gnu

# Generate a cross file for meson to compile for aarch64
sudo mkdir -p -m 0755 /usr/local/share/meson/cross
sudo tee /usr/local/share/meson/cross/aarch64 >/dev/null <<EOF
[binaries]
c = '/usr/bin/aarch64-linux-gnu-gcc'
cpp = '/usr/bin/aarch64-linux-gnu-g++'
ar = '/usr/bin/aarch64-linux-gnu-ar'
strip = '/usr/bin/aarch64-linux-gnu-strip'
objcopy = '/usr/bin/aarch64-linux-gnu-objcopy'
ld= '/usr/bin/aarch64-linux-gnu-ld'
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'

[properties]

[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'arm64'
endian = 'little'
EOF
