diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-09-30 18:35:30 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-09-30 18:38:37 +0800 |
commit | 8fa67ed8e17164d1210e0c46e51a10844e8bcfab (patch) | |
tree | 3ae07bde2fb651f2d96c67e7dc84d99b6ad4d6ea | |
parent | 8ea619df79d49a21e920e4b0047579fd10c796fa (diff) | |
download | mrust-8fa67ed8e17164d1210e0c46e51a10844e8bcfab.tar.gz |
Makefile - Switch to 1.19 by default
-rw-r--r-- | Makefile | 53 | ||||
-rw-r--r-- | minicargo.mk | 7 | ||||
-rw-r--r-- | rust-version | 1 | ||||
-rw-r--r-- | rust_src.patch | 8 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_compiler_builtins.txt (renamed from script-overrides/nightly-2017-07-08/build_compiler_builtins.txt) | 0 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_libc.txt (renamed from script-overrides/nightly-2017-07-08/build_libc.txt) | 0 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_rustc_asan.txt (renamed from script-overrides/nightly-2017-07-08/build_rustc_asan.txt) | 0 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_rustc_lsan.txt (renamed from script-overrides/nightly-2017-07-08/build_rustc_lsan.txt) | 0 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_rustc_msan.txt (renamed from script-overrides/nightly-2017-07-08/build_rustc_msan.txt) | 0 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_rustc_tsan.txt (renamed from script-overrides/nightly-2017-07-08/build_rustc_tsan.txt) | 0 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_std.txt (renamed from script-overrides/nightly-2017-07-08/build_std.txt) | 0 | ||||
-rw-r--r-- | script-overrides/nightly-2017-07-08-linux/build_unwind.txt (renamed from script-overrides/nightly-2017-07-08/build_unwind.txt) | 0 |
12 files changed, 48 insertions, 21 deletions
@@ -131,27 +131,39 @@ clean: PIPECMD ?= 2>&1 | tee $@_dbg.txt | tail -n $(TAIL_COUNT) ; test $${PIPESTATUS[0]} -eq 0 -RUSTCSRC := rustc-nightly/ +#RUSTC_SRC_TY ?= nightly +RUSTC_SRC_TY ?= stable +ifeq ($(RUSTC_SRC_TY),nightly) +RUSTC_SRC_DES := rust-nightly-date +RUSTCSRC := rustc-nightly-src/ +else ifeq ($(RUSTC_SRC_TY),stable) +RUSTC_SRC_DES := rust-version +RUSTCSRC := rustc-$(shell cat $(RUSTC_SRC_DES))-src/ +else +$(error Unknown rustc channel) +endif RUSTC_SRC_DL := $(RUSTCSRC)/dl-version +MAKE_MINICARGO = $(MAKE) -f minicargo.mk RUSTC_VERSION=$(shell cat $(RUSTC_SRC_DES)) RUSTC_CHANNEL=$(RUSTC_SRC_TY) + -output/libstd.hir: $(BIN) $(RUSTCSRC) - $(MAKE) -f minicargo.mk $@ +output/libstd.hir: $(BIN) $(RUSTC_SRC_DL) + $(MAKE_MINICARGO) $@ output/libtest.hir output/libpanic_unwind.hir: output/libstd.hir - $(MAKE) -f minicargo.mk $@ + $(MAKE_MINICARGO) $@ output/rustc output/cargo: output/libtest.hir - $(MAKE) -f minicargo.mk $@ + $(MAKE_MINICARGO) $@ TEST_DEPS := output/libstd.hir output/libtest.hir output/libpanic_unwind.hir -output/lib%-test: $(RUSTCSRC)src/lib%/lib.rs $(RUSTCSRC) $(TEST_DEPS) +output/lib%-test: $(RUSTCSRC)src/lib%/lib.rs $(RUSTC_SRC_DL) $(TEST_DEPS) @echo "--- [MRUSTC] --test -o $@" @mkdir -p output/ @rm -f $@ $(DBG) $(ENV_$@) $(BIN) --test $< -o $@ -L output/libs $(RUST_FLAGS) $(ARGS_$@) $(PIPECMD) # # HACK: Work around gdb returning success even if the program crashed @test -e $@ -output/lib%-test: $(RUSTCSRC)src/lib%/src/lib.rs $(RUSTCSRC) $(TEST_DEPS) +output/lib%-test: $(RUSTCSRC)src/lib%/src/lib.rs $(RUSTC_SRC_DL) $(TEST_DEPS) @echo "--- [MRUSTC] $@" @mkdir -p output/ @rm -f $@ @@ -167,24 +179,37 @@ fn_getdeps = \ .PHONY: RUSTCSRC -RUSTCSRC: $(RUSTCSRC) +RUSTCSRC: $(RUSTC_SRC_DL) -rustc-nightly-src.tar.gz: rust-nightly-date +ifeq ($(RUSTC_SRC_TY),nightly) +rustc-nightly-src.tar.gz: $(RUSTC_SRC_DES) @export DL_RUST_DATE=$$(cat rust-nightly-date); \ export DISK_RUST_DATE=$$([ -f $(RUSTC_SRC_DL) ] && cat $(RUSTC_SRC_DL)); \ echo "Rust version on disk is '$${DISK_RUST_DATE}'. Downloading $${DL_RUST_DATE}."; \ rm -f rustc-nightly-src.tar.gz; \ curl -sS https://static.rust-lang.org/dist/$${DL_RUST_DATE}/rustc-nightly-src.tar.gz -o rustc-nightly-src.tar.gz -$(RUSTCSRC): rustc-nightly-src.tar.gz rust_src.patch +# TODO: Handle non-nightly download +$(RUSTC_SRC_DL): rust-nightly-date rustc-nightly-src.tar.gz rust_src.patch @export DL_RUST_DATE=$$(cat rust-nightly-date); \ export DISK_RUST_DATE=$$([ -f $(RUSTC_SRC_DL) ] && cat $(RUSTC_SRC_DL)); \ if [ "$$DL_RUST_DATE" != "$$DISK_RUST_DATE" ]; then \ - rm -rf rustc-nightly; \ - tar -xf rustc-nightly-src.tar.gz; mv rustc-nightly-src rustc-nightly; \ + rm -rf rustc-nightly-src; \ + tar -xf rustc-nightly-src.tar.gz; \ patch -p0 < rust_src.patch; \ - cat rust-nightly-date > $(RUSTC_SRC_DL); \ fi + cat rust-nightly-date > $(RUSTC_SRC_DL) +else +RUSTC_SRC_TARBALL := rustc-$(shell cat $(RUSTC_SRC_DES))-src.tar.gz +$(RUSTC_SRC_TARBALL): $(RUSTC_SRC_DES) + @echo [CURL] $@ + @rm -f $@ + @curl -sS https://static.rust-lang.org/dist/$@ -o $@ +$(RUSTC_SRC_DL): $(RUSTC_SRC_TARBALL) rust_src.patch + tar -xf $(RUSTC_SRC_TARBALL) + cd $(RUSTCSRC) && patch -p0 < ../rust_src.patch; + cat $(RUSTC_SRC_DES) > $(RUSTC_SRC_DL) +endif # MRUSTC-specific tests @@ -704,7 +729,7 @@ test_deps_run-pass.mk: Makefile $(wildcard $(RUST_TESTS_DIR)run_pass/*.rs) # # TEST: Rust standard library and the "hello, world" run-pass test # -test: $(RUSTCSRC) output/libstd.hir output/rust/test_run-pass_hello_out.txt $(BIN) +test: $(RUSTC_SRC_DL) output/libstd.hir output/rust/test_run-pass_hello_out.txt $(BIN) # # TEST: Attempt to compile rust_os (Tifflin) from ../rust_os diff --git a/minicargo.mk b/minicargo.mk index 670529b8..e7dabea9 100644 --- a/minicargo.mk +++ b/minicargo.mk @@ -1,13 +1,13 @@ RUSTC_CHANNEL ?= nightly RUSTC_VERSION ?= 2017-07-08 -OVERRIDE_SUFFIX ?= # -linux +OVERRIDE_SUFFIX ?= -linux OUTDIR := output/ MRUSTC := bin/mrustc MINICARGO := tools/bin/minicargo ifeq ($(RUSTC_CHANNEL),nightly) - RUSTCSRC := rustc-nightly/ + RUSTCSRC := rustc-nightly-src/ else RUSTCSRC := rustc-$(RUSTC_VERSION)-src/ endif @@ -74,4 +74,5 @@ $(RUSTCSRC)build/Makefile: $(RUSTCSRC)src/llvm/CMakeLists.txt # $(OUTDIR)libnum.hir: $(MRUSTC) $(OUTDIR)libstd.hir $(MINICARGO) $(RUSTCSRC)src/vendor/num --vendor-dir $(RUSTCSRC)src/vendor --output-dir $(OUTDIR) - +$(OUTDIR)libsocket2-0_2_1.hir: $(OUTDIR)libstd.hir + $(MINICARGO) $(RUSTCSRC)src/vendor/socket2 --vendor-dir $(RUSTCSRC)src/vendor --output-dir $(OUTDIR) diff --git a/rust-version b/rust-version new file mode 100644 index 00000000..815d5ca0 --- /dev/null +++ b/rust-version @@ -0,0 +1 @@ +1.19.0 diff --git a/rust_src.patch b/rust_src.patch index f49891a5..1cc13242 100644 --- a/rust_src.patch +++ b/rust_src.patch @@ -1,5 +1,5 @@ ---- rustc-nightly/src/libcore/intrinsics.rs -+++ rustc-nightly/src/libcore/intrinsics.rs +--- src/libcore/intrinsics.rs ++++ src/libcore/intrinsics.rs @@ -678,5 +678,9 @@ pub fn min_align_of_val<T: ?Sized>(_: &T) -> usize; @@ -10,8 +10,8 @@ /// Gets a static string slice containing the name of a type. pub fn type_name<T: ?Sized>() -> &'static str; ---- rustc-nightly/src/libcore/slice/mod.rs -+++ rustc-nightly/src/libcore/slice/mod.rs +--- src/libcore/slice/mod.rs ++++ src/libcore/slice/mod.rs @@ -413,6 +413,8 @@ #[inline] fn len(&self) -> usize { diff --git a/script-overrides/nightly-2017-07-08/build_compiler_builtins.txt b/script-overrides/nightly-2017-07-08-linux/build_compiler_builtins.txt index e69de29b..e69de29b 100644 --- a/script-overrides/nightly-2017-07-08/build_compiler_builtins.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_compiler_builtins.txt diff --git a/script-overrides/nightly-2017-07-08/build_libc.txt b/script-overrides/nightly-2017-07-08-linux/build_libc.txt index 32bbd68e..32bbd68e 100644 --- a/script-overrides/nightly-2017-07-08/build_libc.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_libc.txt diff --git a/script-overrides/nightly-2017-07-08/build_rustc_asan.txt b/script-overrides/nightly-2017-07-08-linux/build_rustc_asan.txt index e69de29b..e69de29b 100644 --- a/script-overrides/nightly-2017-07-08/build_rustc_asan.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_rustc_asan.txt diff --git a/script-overrides/nightly-2017-07-08/build_rustc_lsan.txt b/script-overrides/nightly-2017-07-08-linux/build_rustc_lsan.txt index e69de29b..e69de29b 100644 --- a/script-overrides/nightly-2017-07-08/build_rustc_lsan.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_rustc_lsan.txt diff --git a/script-overrides/nightly-2017-07-08/build_rustc_msan.txt b/script-overrides/nightly-2017-07-08-linux/build_rustc_msan.txt index e69de29b..e69de29b 100644 --- a/script-overrides/nightly-2017-07-08/build_rustc_msan.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_rustc_msan.txt diff --git a/script-overrides/nightly-2017-07-08/build_rustc_tsan.txt b/script-overrides/nightly-2017-07-08-linux/build_rustc_tsan.txt index e69de29b..e69de29b 100644 --- a/script-overrides/nightly-2017-07-08/build_rustc_tsan.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_rustc_tsan.txt diff --git a/script-overrides/nightly-2017-07-08/build_std.txt b/script-overrides/nightly-2017-07-08-linux/build_std.txt index 78437b2b..78437b2b 100644 --- a/script-overrides/nightly-2017-07-08/build_std.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_std.txt diff --git a/script-overrides/nightly-2017-07-08/build_unwind.txt b/script-overrides/nightly-2017-07-08-linux/build_unwind.txt index e69de29b..e69de29b 100644 --- a/script-overrides/nightly-2017-07-08/build_unwind.txt +++ b/script-overrides/nightly-2017-07-08-linux/build_unwind.txt |