install.sh 817 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. set -ex
  2. . $(dirname $0)/env.sh
  3. install_c_toolchain() {
  4. case $TARGET in
  5. aarch64-unknown-linux-gnu)
  6. sudo apt-get install -y --no-install-recommends \
  7. gcc-aarch64-linux-gnu libc6-arm64-cross libc6-dev-arm64-cross
  8. ;;
  9. *)
  10. ;;
  11. esac
  12. }
  13. install_rust() {
  14. curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=nightly
  15. rustc -V
  16. cargo -V
  17. }
  18. add_rustup_target() {
  19. if [[ $TARGET != $HOST ]]; then
  20. rustup target add $TARGET
  21. fi
  22. }
  23. configure_cargo() {
  24. if [[ $PREFIX ]]; then
  25. ${PREFIX}gcc -v
  26. mkdir -p .cargo
  27. cat >>.cargo/config <<EOF
  28. [target.$TARGET]
  29. linker = "${PREFIX}gcc"
  30. EOF
  31. fi
  32. }
  33. main() {
  34. install_c_toolchain
  35. install_rust
  36. add_rustup_target
  37. configure_cargo
  38. }
  39. main