mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2024-12-12 19:18:24 +02:00
d775259ed9
Fixes #676
61 lines
1.3 KiB
Bash
61 lines
1.3 KiB
Bash
# `install` phase: install stuff needed for the `script` phase
|
|
|
|
set -ex
|
|
|
|
. $(dirname $0)/utils.sh
|
|
|
|
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
|
|
;;
|
|
*)
|
|
# For other targets, this is handled by addons.apt.packages in .travis.yml
|
|
;;
|
|
esac
|
|
}
|
|
|
|
install_rustup() {
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=$TRAVIS_RUST_VERSION
|
|
|
|
rustc -V
|
|
cargo -V
|
|
}
|
|
|
|
install_standard_crates() {
|
|
if [ $(host) != "$TARGET" ]; then
|
|
rustup target add $TARGET
|
|
fi
|
|
}
|
|
|
|
configure_cargo() {
|
|
local prefix=$(gcc_prefix)
|
|
if [ -n "${prefix}" ]; then
|
|
local gcc_suffix=
|
|
test -n "${GCC_VERSION}" && gcc_suffix="-${GCC_VERSION}" || :
|
|
local gcc="${prefix}gcc${gcc_suffix}"
|
|
|
|
# information about the cross compiler
|
|
${gcc} -v
|
|
|
|
# tell cargo which linker to use for cross compilation
|
|
mkdir -p .cargo
|
|
cat >>.cargo/config <<EOF
|
|
[target.$TARGET]
|
|
linker = "${gcc}"
|
|
EOF
|
|
fi
|
|
}
|
|
|
|
main() {
|
|
install_c_toolchain
|
|
install_rustup
|
|
install_standard_crates
|
|
configure_cargo
|
|
|
|
# TODO if you need to install extra stuff add it here
|
|
}
|
|
|
|
main
|