#!/usr/bin/env bash # Build std_detect on non-Linux & non-x86 targets. # # In std_detect, non-x86 targets have OS-specific implementations, # but we can test only Linux in CI. This script builds targets supported # by std_detect but cannot be tested in CI. set -ex cd "$(dirname "$0")"/.. targets=( # Android aarch64-linux-android arm-linux-androideabi # FreeBSD aarch64-unknown-freebsd armv6-unknown-freebsd powerpc-unknown-freebsd powerpc64-unknown-freebsd # OpenBSD aarch64-unknown-openbsd # Windows aarch64-pc-windows-msvc ) rustup component add rust-src # for -Z build-std cd crates/std_detect for target in "${targets[@]}"; do if rustup target add "${target}" &>/dev/null; then cargo build --target "${target}" else # tier 3 targets requires -Z build-std. cargo build -Z build-std="core,alloc" --target "${target}" fi done