mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-07-07 03:58:41 +08:00
Merge branch 'upstream-rustc' into 'master'
Draft: Add config to install upstream rustc See merge request redox-os/redox!1643
This commit is contained in:
commit
74095fae05
@ -11,6 +11,8 @@ ARCH?=$(HOST_ARCH)
|
|||||||
BOARD?=
|
BOARD?=
|
||||||
## Enable to use binary prefix (much faster)
|
## Enable to use binary prefix (much faster)
|
||||||
PREFIX_BINARY?=1
|
PREFIX_BINARY?=1
|
||||||
|
## Enable to use up-to-date rust compiler (experimental, only available to Tier 2 targets)
|
||||||
|
EXPERIMENTAL_PREFIX_USE_UPSTREAM_RUST_COMPILER?=0
|
||||||
## Enable to use binary packages (much faster)
|
## Enable to use binary packages (much faster)
|
||||||
REPO_BINARY?=0
|
REPO_BINARY?=0
|
||||||
## Name of the configuration to include in the image name e.g. desktop or server
|
## Name of the configuration to include in the image name e.g. desktop or server
|
||||||
|
|||||||
51
mk/prefix.mk
51
mk/prefix.mk
@ -5,9 +5,11 @@ PREFIX=prefix/$(TARGET)
|
|||||||
PREFIX_INSTALL=$(PREFIX)/sysroot/
|
PREFIX_INSTALL=$(PREFIX)/sysroot/
|
||||||
PREFIX_PATH=$(ROOT)/$(PREFIX_INSTALL)/bin
|
PREFIX_PATH=$(ROOT)/$(PREFIX_INSTALL)/bin
|
||||||
|
|
||||||
|
GNU_HOST=$(HOST_ARCH)-unknown-linux-gnu
|
||||||
BINUTILS_BRANCH=redox-2.43.1
|
BINUTILS_BRANCH=redox-2.43.1
|
||||||
GCC_BRANCH=redox-13.2.0
|
GCC_BRANCH=redox-13.2.0
|
||||||
LIBTOOL_VERSION=2.5.4
|
LIBTOOL_VERSION=2.5.4
|
||||||
|
UPSTREAM_RUSTC_VERSION="2025-10-03"
|
||||||
|
|
||||||
export PREFIX_RUSTFLAGS=-L $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib
|
export PREFIX_RUSTFLAGS=-L $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib
|
||||||
export RUSTUP_TOOLCHAIN=$(ROOT)/$(PREFIX_INSTALL)
|
export RUSTUP_TOOLCHAIN=$(ROOT)/$(PREFIX_INSTALL)
|
||||||
@ -123,7 +125,53 @@ else
|
|||||||
touch "$@"
|
touch "$@"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PREFIX_BINARY),1)
|
# -----------------------------------------------------
|
||||||
|
ifeq ($(EXPERIMENTAL_PREFIX_USE_UPSTREAM_RUST_COMPILER),1)
|
||||||
|
|
||||||
|
$(PREFIX)/gcc-install.tar.gz:
|
||||||
|
mkdir -p "$(@D)"
|
||||||
|
wget -cO $@.partial "https://static.redox-os.org/toolchain/$(TARGET)/gcc-install.tar.gz"
|
||||||
|
mv $@.partial $@
|
||||||
|
|
||||||
|
$(PREFIX)/rustc-install.tar.xz:
|
||||||
|
mkdir -p "$(@D)"
|
||||||
|
wget -O $@.partial "https://static.rust-lang.org/dist/$(UPSTREAM_RUSTC_VERSION)/rustc-nightly-$(GNU_HOST).tar.xz"
|
||||||
|
mv $@.partial $@
|
||||||
|
|
||||||
|
$(PREFIX)/cargo-install.tar.xz:
|
||||||
|
mkdir -p "$(@D)"
|
||||||
|
wget -O $@.partial "https://static.rust-lang.org/dist/$(UPSTREAM_RUSTC_VERSION)/cargo-nightly-$(GNU_HOST).tar.xz"
|
||||||
|
mv $@.partial $@
|
||||||
|
|
||||||
|
$(PREFIX)/rust-std-host-install.tar.xz:
|
||||||
|
mkdir -p "$(@D)"
|
||||||
|
wget -O $@.partial "https://static.rust-lang.org/dist/$(UPSTREAM_RUSTC_VERSION)/rust-std-nightly-$(GNU_HOST).tar.xz"
|
||||||
|
mv $@.partial $@
|
||||||
|
|
||||||
|
$(PREFIX)/rust-std-target-install.tar.xz:
|
||||||
|
mkdir -p "$(@D)"
|
||||||
|
wget -O $@.partial "https://static.rust-lang.org/dist/$(UPSTREAM_RUSTC_VERSION)/rust-std-nightly-$(GNU_TARGET).tar.xz"
|
||||||
|
mv $@.partial $@
|
||||||
|
|
||||||
|
$(PREFIX)/rust-src-install.tar.xz:
|
||||||
|
mkdir -p "$(@D)"
|
||||||
|
wget -O $@.partial "https://static.rust-lang.org/dist/$(UPSTREAM_RUSTC_VERSION)/rust-src-nightly.tar.xz"
|
||||||
|
mv $@.partial $@
|
||||||
|
|
||||||
|
$(PREFIX)/rust-install: $(PREFIX)/gcc-install.tar.gz $(PREFIX)/rustc-install.tar.xz $(PREFIX)/cargo-install.tar.xz $(PREFIX)/rust-std-host-install.tar.xz $(PREFIX)/rust-std-target-install.tar.xz $(PREFIX)/rust-src-install.tar.xz
|
||||||
|
rm -rf "$@.partial" "$@"
|
||||||
|
mkdir -p "$@.partial"
|
||||||
|
tar --extract --file "$(PREFIX)/gcc-install.tar.gz" -C "$@.partial" || true
|
||||||
|
tar --extract --file "$(PREFIX)/rustc-install.tar.xz" -C "$@.partial" rustc-nightly-$(GNU_HOST)/rustc/ --strip-components=2
|
||||||
|
tar --extract --file "$(PREFIX)/cargo-install.tar.xz" --directory "$@.partial" cargo-nightly-$(GNU_HOST)/cargo/ --strip-components=2
|
||||||
|
tar --extract --file "$(PREFIX)/rust-std-host-install.tar.xz" --directory "$@.partial" rust-std-nightly-$(GNU_HOST)/rust-std-$(GNU_HOST)/ --strip-components=2
|
||||||
|
tar --extract --file "$(PREFIX)/rust-std-target-install.tar.xz" --directory "$@.partial" rust-std-nightly-$(GNU_TARGET)/rust-std-$(GNU_TARGET)/ --strip-components=2
|
||||||
|
tar --extract --file "$(PREFIX)/rust-src-install.tar.xz" --directory "$@.partial" rust-src-nightly/rust-src/ --strip-components=2
|
||||||
|
touch "$@.partial"
|
||||||
|
mv "$@.partial" "$@"
|
||||||
|
|
||||||
|
# ---------------------------------------------------
|
||||||
|
else ifeq ($(PREFIX_BINARY),1)
|
||||||
|
|
||||||
$(PREFIX)/rust-install.tar.gz:
|
$(PREFIX)/rust-install.tar.gz:
|
||||||
mkdir -p "$(@D)"
|
mkdir -p "$(@D)"
|
||||||
@ -138,6 +186,7 @@ $(PREFIX)/rust-install: $(PREFIX)/rust-install.tar.gz
|
|||||||
touch "$@.partial"
|
touch "$@.partial"
|
||||||
mv "$@.partial" "$@"
|
mv "$@.partial" "$@"
|
||||||
|
|
||||||
|
# ---------------------------------------------------
|
||||||
else
|
else
|
||||||
|
|
||||||
$(ROOT)/rust/configure:
|
$(ROOT)/rust/configure:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user