Files
static-web-server/scripts/ci/cargo.sh
2023-05-09 22:07:11 +02:00

64 lines
2.4 KiB
Bash
Executable File

# Adapted from https://github.com/briansmith/ring/blob/main/mk/cargo.sh
set -eux -o pipefail
OS_NAME=$(uname -s | tr A-Z a-z)
# Avoid putting the Android tools in `$PATH` because there are tools in this
# directory like `clang` that would conflict with the same-named tools that may
# be needed to compile the build script, or to compile for other targets.
if [ -n "${ANDROID_HOME-}" ]; then
# Keep the next line in sync with the corresponding line in install-build-tools.sh.
ndk_version=25.2.9519653
ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT:-${ANDROID_HOME}/ndk/$ndk_version}
fi
if [ -n "${ANDROID_NDK_ROOT-}" ]; then
android_tools=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${OS_NAME}-x86_64/bin
fi
for arg in $*; do
case $arg in
--target=*)
target=${arg#*=}
;;
*)
;;
esac
done
case $target in
aarch64-linux-android)
export CC_aarch64_linux_android=$android_tools/aarch64-linux-android21-clang
export AR_aarch64_linux_android=$android_tools/llvm-ar
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=$android_tools/aarch64-linux-android21-clang
;;
# aarch64-unknown-linux-gnu)
# export CC_aarch64_unknown_linux_gnu=clang-$llvm_version
# export AR_aarch64_unknown_linux_gnu=llvm-ar-$llvm_version
# export CFLAGS_aarch64_unknown_linux_gnu="--sysroot=/usr/aarch64-linux-gnu"
# export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
# export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="$qemu_aarch64"
# ;;
# aarch64-unknown-linux-musl)
# export CC_aarch64_unknown_linux_musl=clang-$llvm_version
# export AR_aarch64_unknown_linux_musl=llvm-ar-$llvm_version
# export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="$rustflags_self_contained"
# export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUNNER="$qemu_aarch64"
# ;;
# arm-unknown-linux-gnueabihf)
# export CC_arm_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc
# export AR_arm_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc-ar
# export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
# export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="$qemu_arm"
# ;;
armv7-linux-androideabi)
export CC_armv7_linux_androideabi=$android_tools/armv7a-linux-androideabi19-clang
export AR_armv7_linux_androideabi=$android_tools/llvm-ar
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=$android_tools/armv7a-linux-androideabi19-clang
;;
*)
;;
esac
cargo "$@"