1#!/usr/bin/env bash 2# Copyright 2021 The Chromium OS Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5set -ex 6 7sudo apt-get install --yes --no-install-recommends \ 8 gcc-aarch64-linux-gnu \ 9 ipxe-qemu \ 10 libc-dev:arm64 \ 11 libcap-dev:arm64 \ 12 libdbus-1-dev:arm64 \ 13 libdrm-dev:arm64 \ 14 libepoxy-dev:arm64 \ 15 libssl-dev:arm64 \ 16 libwayland-dev:arm64 \ 17 libxext-dev:arm64 \ 18 qemu-efi-aarch64 \ 19 qemu-system-aarch64 \ 20 qemu-user-static 21 22rustup target add aarch64-unknown-linux-gnu 23 24# Generate a cross file for meson to compile for aarch64 25sudo mkdir -p -m 0755 /usr/local/share/meson/cross 26sudo tee /usr/local/share/meson/cross/aarch64 >/dev/null <<EOF 27[binaries] 28c = '/usr/bin/aarch64-linux-gnu-gcc' 29cpp = '/usr/bin/aarch64-linux-gnu-g++' 30ar = '/usr/bin/aarch64-linux-gnu-ar' 31strip = '/usr/bin/aarch64-linux-gnu-strip' 32objcopy = '/usr/bin/aarch64-linux-gnu-objcopy' 33ld= '/usr/bin/aarch64-linux-gnu-ld' 34pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config' 35 36[properties] 37 38[host_machine] 39system = 'linux' 40cpu_family = 'aarch64' 41cpu = 'arm64' 42endian = 'little' 43EOF 44