From ec017dc32b103ea2beda9ba9880e8199b4c78803 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 1 Apr 2026 08:58:11 +0700 Subject: [PATCH] Fix prefix paths for hosted redox --- mk/prefix.mk | 18 ++++++++++++++++++ recipes/libs/libgcc/recipe.toml | 4 ++-- recipes/libs/libstdcxx/recipe.toml | 5 +++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/mk/prefix.mk b/mk/prefix.mk index d5555c938..96f47802c 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -47,15 +47,27 @@ else cp -r "$(PREFIX)/gcc-install/". "$@.partial" cp -r "$(PREFIX)/rust-install/". "$@.partial" cp -r "$(PREFIX)/clang-install/". "$@.partial" +ifneq ($(HOSTED_REDOX),1) rm -rf "$@.partial/$(GNU_TARGET)/include/"* cp -r "$(PREFIX)/gcc-install/$(GNU_TARGET)/include/c++" "$@.partial/$(GNU_TARGET)/include/c++" +else + rm -rf "$@.partial/include/"* + cp -r "$(PREFIX)/gcc-install/include/c++" "$@.partial/include/c++" +endif export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \ export CARGO="env -u CARGO cargo" $(PREFIX_CONFIG) && \ $(REPO_BIN) cook relibc +ifneq ($(HOSTED_REDOX),1) cp -r "$(RELIBC_TARGET)/stage/usr/". "$@.partial/$(GNU_TARGET)" mkdir -p "$@.partial/$(GNU_TARGET)/usr" ln -s "../include" "$@.partial/$(GNU_TARGET)/usr/include" ln -s "../lib" "$@.partial/$(GNU_TARGET)/usr/lib" +else + cp -r "$(RELIBC_TARGET)/stage/usr/". "$@.partial" + mkdir -p "$@.partial/usr" + ln -s "../include" "$@.partial/usr/include" + ln -s "../lib" "$@.partial/usr/lib" +endif touch "$@.partial" mv "$@.partial" "$@" endif @@ -139,6 +151,8 @@ else pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/gcc13.cxx.pkgar" "$@.partial" pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/libgcc.pkgar" "$@.partial" pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/libstdcxx.pkgar" "$@.partial" + mv "$@.partial/usr"/* "$@.partial" + rmdir "$@.partial/usr" touch "$@.partial" mv "$@.partial" "$@" endif @@ -151,6 +165,8 @@ else mkdir -p "$@.partial" pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/llvm21.pkgar" "$@.partial" pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/rust.pkgar" "$@.partial" + mv "$@.partial/usr"/* "$@.partial" + rmdir "$@.partial/usr" touch "$@.partial" mv "$@.partial" "$@" endif @@ -164,6 +180,8 @@ else pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/llvm21.runtime.pkgar" "$@.partial" pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/clang21.pkgar" "$@.partial" pkgar extract --pkey $(PREFIX)/id_ed25519.pub.toml --archive "$(PREFIX)/lld21.pkgar" "$@.partial" + mv "$@.partial/usr"/* "$@.partial" + rmdir "$@.partial/usr" touch "$@.partial" mv "$@.partial" "$@" endif diff --git a/recipes/libs/libgcc/recipe.toml b/recipes/libs/libgcc/recipe.toml index da72a5e9d..d626d3745 100644 --- a/recipes/libs/libgcc/recipe.toml +++ b/recipes/libs/libgcc/recipe.toml @@ -1,6 +1,6 @@ [build] template = "custom" script = """ -mkdir -p "${COOKBOOK_STAGE}/lib" -cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libgcc_s.so* ${COOKBOOK_STAGE}/lib/ +mkdir -p "${COOKBOOK_STAGE}/usr/lib" +cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libgcc_s.so* ${COOKBOOK_STAGE}/usr/lib/ """ diff --git a/recipes/libs/libstdcxx/recipe.toml b/recipes/libs/libstdcxx/recipe.toml index cd9664481..80e05b0f7 100644 --- a/recipes/libs/libstdcxx/recipe.toml +++ b/recipes/libs/libstdcxx/recipe.toml @@ -1,8 +1,9 @@ [build] template = "custom" script = """ +# Avoid replacing host libstdc++ when using "host:" if [ "$TARGET" != "$COOKBOOK_HOST_TARGET" ]; then -mkdir -p "${COOKBOOK_STAGE}/lib" -cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libstdc++.so* ${COOKBOOK_STAGE}/lib/ +mkdir -p "${COOKBOOK_STAGE}/usr/lib" +cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libstdc++.so* ${COOKBOOK_STAGE}/usr/lib/ fi """