• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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