1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- set -ex
- . $(dirname $0)/env.sh
- install_qemu() {
- case $TARGET in
- powerpc64-unknown-linux-gnu)
- sudo apt-get install -y --no-install-recommends \
- qemu-user
- ;;
- esac
- }
- install_binutils() {
- case $TRAVIS_OS_NAME in
- osx)
- brew install binutils
- ;;
- *)
- ;;
- esac
- }
- install_c_toolchain() {
- case $TARGET in
- aarch64-unknown-linux-gnu)
- sudo apt-get install -y --no-install-recommends \
- gcc-aarch64-linux-gnu libc6-arm64-cross libc6-dev-arm64-cross
- ;;
- *)
- ;;
- esac
- }
- install_rust() {
- curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=nightly
- rustc -V
- cargo -V
- }
- add_rustup_target() {
- if [[ $TARGET != $HOST ]]; then
- rustup target add $TARGET
- fi
- }
- configure_cargo() {
- if [[ $PREFIX ]]; then
- ${PREFIX}gcc -v
- mkdir -p .cargo
- cat >>.cargo/config <<EOF
- [target.$TARGET]
- linker = "${PREFIX}gcc"
- EOF
- fi
- }
- main() {
- if [[ -z $DOCKER ]]; then
- install_qemu
- install_binutils
- install_c_toolchain
- install_rust
- add_rustup_target
- configure_cargo
- fi
- }
- main
|