diff --git a/mk/prefix.mk b/mk/prefix.mk index 16751a811..dd987ea71 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -391,7 +391,7 @@ else @echo "\033[1;36;49mBuilding rust-install\033[0m" rm -rf "$@.partial" "$@" export PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \ - $(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) && \ + $(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) && \ $(REPO_BIN) cook host:llvm21 host:rust cp -r "$(RUST_TARGET)/stage/usr/". "$@.partial" cp -r "$(LLVM_TARGET)/stage/usr/". "$@.partial" diff --git a/recipes/dev/rust/config-cross-linux.toml b/recipes/dev/rust/config-cross-linux.toml index 879616361..c2d4ea1d9 100644 --- a/recipes/dev/rust/config-cross-linux.toml +++ b/recipes/dev/rust/config-cross-linux.toml @@ -5,7 +5,7 @@ link-shared = true [build] host = ["TARGET"] -target = ["TARGET", "x86_64-unknown-linux-musl", "aarch64-unknown-linux-musl"] +target = ["TARGET", "COOKBOOK_TARGET"] cargo-native-static = true submodules = false docs = false @@ -21,6 +21,14 @@ sysconfdir = "etc" backtrace = false codegen-tests = false +[target.COOKBOOK_TARGET] +cc = "COOKBOOK_GNU_TARGET-gcc" +cxx = "COOKBOOK_GNU_TARGET-g++" +ar = "COOKBOOK_GNU_TARGET-ar" +linker = "COOKBOOK_GNU_TARGET-gcc" +crt-static = false +llvm-config = "COOKBOOK_SYSROOT/bin/llvm-config" + [target.aarch64-unknown-linux-gnu] llvm-config = "COOKBOOK_TOOLCHAIN/bin/llvm-config" diff --git a/recipes/dev/rust/recipe.toml b/recipes/dev/rust/recipe.toml index 10d4b983d..020909b26 100644 --- a/recipes/dev/rust/recipe.toml +++ b/recipes/dev/rust/recipe.toml @@ -22,8 +22,10 @@ if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then OS=$(echo "${TARGET}" | cut -d - -f3) cat ${COOKBOOK_RECIPE}/config-cross-$OS.toml > config.toml -sed -i "s|TARGET|${TARGET}|g" config.toml sed -i "s|COOKBOOK_TOOLCHAIN|${COOKBOOK_TOOLCHAIN}|g" config.toml +sed -i "s|COOKBOOK_TARGET|${COOKBOOK_CROSS_TARGET}|g" config.toml +sed -i "s|COOKBOOK_GNU_TARGET|${COOKBOOK_CROSS_GNU_TARGET}|g" config.toml +sed -i "s|TARGET|${TARGET}|g" config.toml else