1*bb4ee6a4SAndroid Build Coastguard Worker#!/usr/bin/env bash 2*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2021 The ChromiumOS Authors 3*bb4ee6a4SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*bb4ee6a4SAndroid Build Coastguard Worker# found in the LICENSE file. 5*bb4ee6a4SAndroid Build Coastguard Workerset -ex 6*bb4ee6a4SAndroid Build Coastguard Worker 7*bb4ee6a4SAndroid Build Coastguard Workersudo apt-get install --yes --no-install-recommends \ 8*bb4ee6a4SAndroid Build Coastguard Worker gcc-aarch64-linux-gnu \ 9*bb4ee6a4SAndroid Build Coastguard Worker ipxe-qemu \ 10*bb4ee6a4SAndroid Build Coastguard Worker libavcodec-dev:arm64 \ 11*bb4ee6a4SAndroid Build Coastguard Worker libavutil-dev:arm64 \ 12*bb4ee6a4SAndroid Build Coastguard Worker libc-dev:arm64 \ 13*bb4ee6a4SAndroid Build Coastguard Worker libcap-dev:arm64 \ 14*bb4ee6a4SAndroid Build Coastguard Worker libdbus-1-dev:arm64 \ 15*bb4ee6a4SAndroid Build Coastguard Worker libdrm-dev:arm64 \ 16*bb4ee6a4SAndroid Build Coastguard Worker libepoxy-dev:arm64 \ 17*bb4ee6a4SAndroid Build Coastguard Worker libssl-dev:arm64 \ 18*bb4ee6a4SAndroid Build Coastguard Worker libswscale-dev:arm64 \ 19*bb4ee6a4SAndroid Build Coastguard Worker libva-dev:arm64 \ 20*bb4ee6a4SAndroid Build Coastguard Worker libwayland-dev:arm64 \ 21*bb4ee6a4SAndroid Build Coastguard Worker libxext-dev:arm64 \ 22*bb4ee6a4SAndroid Build Coastguard Worker qemu-efi-aarch64 \ 23*bb4ee6a4SAndroid Build Coastguard Worker qemu-system-aarch64 \ 24*bb4ee6a4SAndroid Build Coastguard Worker qemu-user-static 25*bb4ee6a4SAndroid Build Coastguard Worker 26*bb4ee6a4SAndroid Build Coastguard Workerrustup target add aarch64-unknown-linux-gnu 27*bb4ee6a4SAndroid Build Coastguard Worker 28*bb4ee6a4SAndroid Build Coastguard Worker# Generate a cross file for meson to compile for aarch64 29*bb4ee6a4SAndroid Build Coastguard Workersudo mkdir -p -m 0755 /usr/local/share/meson/cross 30*bb4ee6a4SAndroid Build Coastguard Workersudo tee /usr/local/share/meson/cross/aarch64 >/dev/null <<EOF 31*bb4ee6a4SAndroid Build Coastguard Worker[binaries] 32*bb4ee6a4SAndroid Build Coastguard Workerc = '/usr/bin/aarch64-linux-gnu-gcc' 33*bb4ee6a4SAndroid Build Coastguard Workercpp = '/usr/bin/aarch64-linux-gnu-g++' 34*bb4ee6a4SAndroid Build Coastguard Workerar = '/usr/bin/aarch64-linux-gnu-ar' 35*bb4ee6a4SAndroid Build Coastguard Workerstrip = '/usr/bin/aarch64-linux-gnu-strip' 36*bb4ee6a4SAndroid Build Coastguard Workerobjcopy = '/usr/bin/aarch64-linux-gnu-objcopy' 37*bb4ee6a4SAndroid Build Coastguard Workerld= '/usr/bin/aarch64-linux-gnu-ld' 38*bb4ee6a4SAndroid Build Coastguard Workerpkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config' 39*bb4ee6a4SAndroid Build Coastguard Worker 40*bb4ee6a4SAndroid Build Coastguard Worker[properties] 41*bb4ee6a4SAndroid Build Coastguard Worker 42*bb4ee6a4SAndroid Build Coastguard Worker[host_machine] 43*bb4ee6a4SAndroid Build Coastguard Workersystem = 'linux' 44*bb4ee6a4SAndroid Build Coastguard Workercpu_family = 'aarch64' 45*bb4ee6a4SAndroid Build Coastguard Workercpu = 'arm64' 46*bb4ee6a4SAndroid Build Coastguard Workerendian = 'little' 47*bb4ee6a4SAndroid Build Coastguard WorkerEOF 48