Add aarch64-linux-android target

This allows cargo to build for android. A new
dev container is built to include this.

To allow us to build the new container, we had to
remove the ffmpeg dependencies for armhf which fail
to install in the current version of debian.

BUG=b:349907813
TEST=dev_container presubmit clippy_android

Change-Id: I7fbcd460e53fbd339a28b451a91b0722d34257b8
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5689659
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
This commit is contained in:
Dennis Kempin 2024-07-09 20:52:52 +00:00 committed by crosvm LUCI
parent a5d9270892
commit fb512a85b2
5 changed files with 13 additions and 6 deletions

View file

@ -17,6 +17,11 @@ fn main() {
return;
}
// ffmgeg is not supported by CI on 32-bit arm
if std::env::var("CARGO_CFG_TARGET_ARCH").unwrap() == "arm" {
return;
}
// Match all ffmpeg 6.0+ versions.
Config::new()
.atleast_version("60")

View file

@ -2,7 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#![cfg(any(target_os = "android", target_os = "linux"))]
#![cfg(all(
any(target_os = "android", target_os = "linux"),
not(target_arch = "arm")
))]
pub mod avcodec;
mod avutil;

View file

@ -1 +1 @@
r0046
r0047

View file

@ -6,16 +6,12 @@ set -ex
sudo apt-get install --yes --no-install-recommends \
gcc-arm-linux-gnueabihf \
libavcodec-dev:armhf \
libavutil-dev:armhf \
libc-dev:armhf \
libcap-dev:armhf \
libdbus-1-dev:armhf \
libdrm-dev:armhf \
libepoxy-dev:armhf \
libssl-dev:armhf \
libswscale-dev:armhf \
libva-dev:armhf \
libwayland-dev:armhf \
libxext-dev:armhf

View file

@ -79,6 +79,9 @@ rustup component add llvm-tools-preview
# Allow cross-compilation via mingw64
rustup target add x86_64-pc-windows-gnu
# Allow cross-compilation for android
rustup target add aarch64-linux-android
# Install nightly toolchain. Only used for rustfmt
rustup toolchain install nightly --profile minimal --component rustfmt