38 lines
815 B
Bash
Executable File
38 lines
815 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
target=$1
|
|
|
|
ln -s /var/db/repos/gentoo/sys-devel/rust-std /var/db/repos/crossdev/cross-${target}/
|
|
|
|
case ${target%%-*} in
|
|
aarch64)
|
|
llvm_target=AArch64
|
|
;;
|
|
arm*)
|
|
llvm_target=ARM
|
|
;;
|
|
*)
|
|
printf 'Unknown LLVM target: %s' "${target%%-*}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
mkdir -p \
|
|
/etc/portage/env/dev-lang \
|
|
/etc/portage/package.accept_keywords \
|
|
/etc/portage/package.use \
|
|
&& :
|
|
printf 'cross-%s/rust-std **\n' "${target}" \
|
|
> /etc/portage/package.accept_keywords/rust-cross
|
|
printf 'dev-lang/rust rust-src LLVM_TARGETS: %s\n' \
|
|
"${llvm_target}" \
|
|
> /etc/portage/package.use/rust-src
|
|
printf 'RUST_CROSS_TARGETS=( %s:%s:%s )\n' \
|
|
"${llvm_target}" \
|
|
"${target}" \
|
|
"${target}" \
|
|
>> /etc/portage/env/dev-lang/rust
|
|
emerge -vbknj cross-${target}/rust-std
|