mirror of
https://github.com/static-web-server/static-web-server.git
synced 2026-01-25 05:06:33 +00:00
64 lines
2.4 KiB
Bash
Executable File
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 "$@"
|