diff --git a/mk/prefix.mk b/mk/prefix.mk index 7e3e22692..5b34e1f1c 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -158,7 +158,7 @@ else @echo "\033[1;36;49mBuilding relibc-freestanding-install\033[0m" rm -rf "$@.partial" "$@" mkdir -p "$@.partial" - export CARGO="env -u CARGO -u RUSTUP_TOOLCHAIN cargo" && \ + export CARGO="env -u CARGO -u RUSTUP_TOOLCHAIN cargo" RUSTUP="env -u CARGO -u RUSTUP_TOOLCHAIN rustup" && \ export PATH="$(ROOT)/$(PREFIX)/gcc-freestanding-install/bin:$$PATH" && \ export CC_$(subst -,_,$(TARGET))="$(GNU_TARGET)-gcc -isystem $(ROOT)/$@.partial/$(GNU_TARGET)/include" LINKFLAGS="" && \ export $(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(HOST_TARGET) && \ diff --git a/recipes/core/relibc/recipe.toml b/recipes/core/relibc/recipe.toml index c0c059d4b..11eeec21b 100644 --- a/recipes/core/relibc/recipe.toml +++ b/recipes/core/relibc/recipe.toml @@ -7,6 +7,15 @@ script = """ # obscure crash if jobs number is too much COOKBOOK_MAKE_JOBS="$(( ${COOKBOOK_MAKE_JOBS} > 8 ? 8 : ${COOKBOOK_MAKE_JOBS} ))" +# rustup workaround https://github.com/rust-lang/rustup/issues/988 +if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then +if command -v rustup >/dev/null 2>&1; then + pushd ${COOKBOOK_SOURCE} + ${RUSTUP:-rustup} install + popd +fi +fi + export CARGO=${CARGO:-env -u CARGO cargo} "${COOKBOOK_MAKE}" \ -C "${COOKBOOK_SOURCE}" \