Merge branch 'rust-build-std' into 'master'

Build rustlib/src together with prefix

See merge request redox-os/redox!1340
This commit is contained in:
Jeremy Soller 2023-05-22 15:55:13 +00:00
commit e9e9cc7dda

View file

@ -28,9 +28,12 @@ else
rm -rf "$@.partial/$(TARGET)/include/"* rm -rf "$@.partial/$(TARGET)/include/"*
cp -r "$(PREFIX)/rust-install/$(TARGET)/include/c++" "$@.partial/$(TARGET)/include/c++" cp -r "$(PREFIX)/rust-install/$(TARGET)/include/c++" "$@.partial/$(TARGET)/include/c++"
cp -r "$(PREFIX)/rust-install/lib/rustlib/$(HOST_TARGET)/lib/" "$@.partial/lib/rustlib/$(HOST_TARGET)/" cp -r "$(PREFIX)/rust-install/lib/rustlib/$(HOST_TARGET)/lib/" "$@.partial/lib/rustlib/$(HOST_TARGET)/"
# Temporary hack to avoid breaking stuff before new pre-build prefix tarball with fixed rustlib/src is build and served at https://static.redox-os.org/toolchain/$(TARGET)/relibc-install.tar.gz
ifeq ($(PREFIX_BINARY),1)
rm -rf $@.partial/lib/rustlib/src rm -rf $@.partial/lib/rustlib/src
mkdir $@.partial/lib/rustlib/src mkdir $@.partial/lib/rustlib/src
ln -s $(ROOT)/rust $@.partial/lib/rustlib/src ln -s $(ROOT)/rust $@.partial/lib/rustlib/src
endif
cd "$<" && \ cd "$<" && \
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \ export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
export CARGO="env -u CARGO cargo" && \ export CARGO="env -u CARGO cargo" && \
@ -161,7 +164,7 @@ else
--enable-llvm-static-stdcpp \ --enable-llvm-static-stdcpp \
--set 'llvm.targets=AArch64;X86' \ --set 'llvm.targets=AArch64;X86' \
--set 'llvm.experimental-targets=' \ --set 'llvm.experimental-targets=' \
--tools=cargo \ --tools=cargo,src \
&& \ && \
$(MAKE) -j `$(NPROC)` && \ $(MAKE) -j `$(NPROC)` && \
$(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial" $(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
@ -170,8 +173,6 @@ else
cd "$@.partial" && $(PREFIX_STRIP) cd "$@.partial" && $(PREFIX_STRIP)
touch "$@.partial" touch "$@.partial"
mv "$@.partial" "$@" mv "$@.partial" "$@"
mkdir $@/lib/rustlib/src
ln -s $(ROOT)/rust $@/lib/rustlib/src
endif endif
$(PREFIX)/relibc-freestanding-install: $(ROOT)/relibc | $(PREFIX_BASE_INSTALL) $(PREFIX_FREESTANDING_INSTALL) $(CONTAINER_TAG) $(PREFIX)/relibc-freestanding-install: $(ROOT)/relibc | $(PREFIX_BASE_INSTALL) $(PREFIX_FREESTANDING_INSTALL) $(CONTAINER_TAG)
@ -250,11 +251,11 @@ else
--enable-extended \ --enable-extended \
--enable-lld \ --enable-lld \
--enable-llvm-static-stdcpp \ --enable-llvm-static-stdcpp \
--tools=cargo \ --tools=cargo,src \
--target="$(HOST_TARGET),$(TARGET)" \ --target="$(HOST_TARGET),$(TARGET)" \
&& \ && \
$(MAKE) -j `$(NPROC)` && \ $(MAKE) -j `$(NPROC)` && \
rm -rf "$(ROOT)/$@.partial/lib/rustlib" "$(ROOT)/$@.partial/share/doc/rust" && \ rm -rf $(ROOT)/$@.partial/lib/rustlib/{components,install.log,rust-installer-version,uninstall.sh,manifest-*} "$(ROOT)/$@.partial/share/doc/rust" && \
$(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial" $(MAKE) -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
rm -rf "$(PREFIX)/rust-build" rm -rf "$(PREFIX)/rust-build"
mkdir -p "$@.partial/lib/rustlib/$(HOST_TARGET)/bin" mkdir -p "$@.partial/lib/rustlib/$(HOST_TARGET)/bin"