From d151e1863382d99a6a6885e98432964eef107a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Mon, 11 Jul 2011 16:31:47 -0400 Subject: [PATCH] Move llvm out of stageN/lib so that the host building stage 1+ can have a newer and incompatible llvm with the bots. --- Makefile.in | 8 ++++---- mk/clean.mk | 8 ++++---- mk/platform.mk | 5 +++-- mk/pp.mk | 2 +- mk/snap.mk | 6 +++--- mk/stage0.mk | 6 ++++++ mk/stage1.mk | 9 +++++---- mk/stage2.mk | 9 +++++---- mk/stage3.mk | 9 +++++---- src/etc/get-snapshot.py | 2 +- src/etc/snapshot.py | 11 ++++++++++- 11 files changed, 47 insertions(+), 28 deletions(-) diff --git a/Makefile.in b/Makefile.in index a61006181375..4bede7e8e280 100644 --- a/Makefile.in +++ b/Makefile.in @@ -109,15 +109,15 @@ X := $(CFG_EXE_SUFFIX) VPATH := $(S)doc $(S)src # Compilers we build, we now know how to run. -STAGE0 := $(Q)$(call CFG_RUN_TARG,stage0,\ +STAGE0 := $(Q)$(call CFG_RUN_TARG,stage0,stage0,\ stage0/rustc$(X) $(CFG_RUSTC_FLAGS)) -STAGE1 := $(Q)$(call CFG_RUN_TARG,stage0, \ +STAGE1 := $(Q)$(call CFG_RUN_TARG,stage1,stage0, \ $(CFG_VALGRIND_COMPILE) stage1/rustc$(X) \ $(CFG_RUSTC_FLAGS)) -STAGE2 := $(Q)$(call CFG_RUN_TARG,stage1, \ +STAGE2 := $(Q)$(call CFG_RUN_TARG,stage2,stage1, \ $(CFG_VALGRIND_COMPILE) stage2/rustc$(X) \ $(CFG_RUSTC_FLAGS)) -STAGE3 := $(Q)$(call CFG_RUN_TARG,stage2, \ +STAGE3 := $(Q)$(call CFG_RUN_TARG,stage3,stage2, \ $(CFG_VALGRIND_COMPILE) stage3/rustc$(X) \ $(CFG_RUSTC_FLAGS)) diff --git a/mk/clean.mk b/mk/clean.mk index 3f9a52fd1523..3805ce6b8c53 100644 --- a/mk/clean.mk +++ b/mk/clean.mk @@ -14,13 +14,13 @@ clean: $(Q)rm -f $(CRATE_DEPFILES:%.d=%.d.tmp) $(Q)rm -f $(GENERATED) $(Q)rm -f stage0/rustc$(X) stage0/lib/$(CFG_STDLIB) stage0/lib/glue* - $(Q)rm -f stage0/lib/$(CFG_RUNTIME) stage0/lib/$(CFG_RUSTLLVM) + $(Q)rm -f stage0/lib/$(CFG_RUNTIME) stage0/$(CFG_RUSTLLVM) $(Q)rm -f stage1/rustc$(X) stage1/lib/$(CFG_STDLIB) stage1/lib/glue* - $(Q)rm -f stage1/lib/$(CFG_RUNTIME) stage1/lib/$(CFG_RUSTLLVM) + $(Q)rm -f stage1/lib/$(CFG_RUNTIME) stage1/$(CFG_RUSTLLVM) $(Q)rm -f stage2/rustc$(X) stage2/lib/$(CFG_STDLIB) stage2/lib/glue* - $(Q)rm -f stage2/lib/$(CFG_RUNTIME) stage2/lib/$(CFG_RUSTLLVM) + $(Q)rm -f stage2/lib/$(CFG_RUNTIME) stage2/$(CFG_RUSTLLVM) $(Q)rm -f stage3/rustc$(X) stage3/lib/$(CFG_STDLIB) stage3/lib/glue* - $(Q)rm -f stage3/lib/$(CFG_RUNTIME) stage3/lib/$(CFG_RUSTLLVM) + $(Q)rm -f stage3/lib/$(CFG_RUNTIME) stage3/$(CFG_RUSTLLVM) $(Q)rm -f rustllvm/$(CFG_RUSTLLVM) rustllvm/rustllvmbits.a $(Q)rm -f rt/$(CFG_RUNTIME) $(Q)rm -f rt/main.o diff --git a/mk/platform.mk b/mk/platform.mk index ac096bc471c8..2357aa5b78e9 100644 --- a/mk/platform.mk +++ b/mk/platform.mk @@ -77,7 +77,8 @@ ifdef CFG_UNIXY CFG_PATH_MUNGE := true CFG_EXE_SUFFIX := - CFG_RUN_TARG=$(CFG_LDENV)=$(CFG_BUILD_DIR)/$(1)/lib $(2) + CFG_RUN_TARG=\ + $(CFG_LDENV)=$(CFG_BUILD_DIR)/$(1):$(CFG_BUILD_DIR)/$(2)/lib $(3) CFG_RUN_TEST=\ $(CFG_LDENV)=$(call CFG_TESTLIB,$(1)) \ $(CFG_VALGRIND) $(1) @@ -118,7 +119,7 @@ ifdef CFG_WINDOWSY CFG_LDPATH :=$(CFG_LLVM_BINDIR) CFG_LDPATH :=$(CFG_LDPATH):$$PATH CFG_RUN_TEST=PATH="$(CFG_LDPATH):$(call CFG_TESTLIB,$(1))" $(1) - CFG_RUN_TARG=PATH="$(CFG_BUILD_DIR)/$(1)/lib:$(CFG_LDPATH)" $(2) + CFG_RUN_TARG=PATH="$(CFG_BUILD_DIR)/$(2)/lib:$(CFG_LDPATH)" $(3) ifndef CFG_ENABLE_MINGW_CROSS CFG_PATH_MUNGE := $(strip perl -i.bak -p \ diff --git a/mk/pp.mk b/mk/pp.mk index 1e9fc5b68407..7aa012800db6 100644 --- a/mk/pp.mk +++ b/mk/pp.mk @@ -9,7 +9,7 @@ PP_INPUTS_FILTERED = $(shell echo $(PP_INPUTS) | xargs grep -L no-reformat) reformat: $(SREQ1) @$(call E, reformat [stage1]: $@) for i in $(PP_INPUTS_FILTERED); \ - do $(call CFG_RUN_TARG,stage0, stage1/rustc$(X)) \ + do $(call CFG_RUN_TARG,stage0,stage0,stage1/rustc$(X)) \ --pretty normal $$i >$$i.tmp; \ if cmp --silent $$i.tmp $$i; \ then echo no changes to $$i; rm $$i.tmp; \ diff --git a/mk/snap.mk b/mk/snap.mk index b617fbe40f73..6e9cc407241b 100644 --- a/mk/snap.mk +++ b/mk/snap.mk @@ -1,16 +1,16 @@ snap-stage1: stage1/rustc$(X) stage1/lib/glue.o stage1/lib/$(CFG_STDLIB) \ stage1/lib/libstd.rlib stage1/lib/$(CFG_RUNTIME) \ - stage1/lib/$(CFG_RUSTLLVM) + stage1/$(CFG_RUSTLLVM) $(S)src/etc/make-snapshot.py stage1 snap-stage2: stage2/rustc$(X) stage2/lib/glue.o stage2/lib/$(CFG_STDLIB) \ stage2/lib/libstd.rlib stage2/lib/$(CFG_RUNTIME) \ - stage2/lib/$(CFG_RUSTLLVM) + stage2/$(CFG_RUSTLLVM) $(S)src/etc/make-snapshot.py stage2 snap-stage3: stage3/rustc$(X) stage3/lib/glue.o stage3/lib/$(CFG_STDLIB) \ stage3/lib/libstd.rlib stage3/lib/$(CFG_RUNTIME) \ - stage3/lib/$(CFG_RUSTLLVM) + stage3/$(CFG_RUSTLLVM) $(S)src/etc/make-snapshot.py stage3 diff --git a/mk/stage0.mk b/mk/stage0.mk index 7f5210e15e7b..7450bf9bad0d 100644 --- a/mk/stage0.mk +++ b/mk/stage0.mk @@ -13,3 +13,9 @@ stage0/lib/$(CFG_STDLIB): stage0/rustc$(X) stage0/intrinsics.bc: stage0/rustc$(X) $(Q)touch $@ + +stage0/lib/$(CFG_RUSTLLVM): stage0/rustc$(X) + $(Q)touch $@ + +stage0/lib/$(CFG_RUNTIME): stage0/rustc$(X) + $(Q)touch $@ diff --git a/mk/stage1.mk b/mk/stage1.mk index 5b624a9ce38c..fb6bbf80c46c 100644 --- a/mk/stage1.mk +++ b/mk/stage1.mk @@ -1,19 +1,20 @@ stage1/lib/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \ stage1/rustc$(X) stage0/lib/$(CFG_STDLIB) stage1/intrinsics.bc \ - stage1/lib/$(CFG_RUNTIME) stage1/lib/$(CFG_RUSTLLVM) \ + stage1/lib/$(CFG_RUNTIME) stage1/$(CFG_RUSTLLVM) \ stage1/lib/glue.o $(LREQ) $(MKFILES) @$(call E, compile_and_link: $@) $(STAGE1) --lib -o $@ $< stage1/lib/libstd.rlib: $(STDLIB_CRATE) $(STDLIB_INPUTS) \ stage1/rustc$(X) stage0/lib/$(CFG_STDLIB) stage1/intrinsics.bc \ - stage1/lib/$(CFG_RUNTIME) stage1/lib/$(CFG_RUSTLLVM) \ + stage1/lib/$(CFG_RUNTIME) stage1/$(CFG_RUSTLLVM) \ stage1/lib/glue.o $(LREQ) $(MKFILES) @$(call E, compile_and_link: $@) $(STAGE1) --lib --static -o $@ $< stage1/lib/glue.o: stage1/rustc$(X) stage0/lib/$(CFG_STDLIB) \ - stage1/intrinsics.bc $(LREQ) $(MKFILES) + stage1/intrinsics.bc stage1/$(CFG_RUSTLLVM) \ + stage0/lib/$(CFG_RUNTIME) @$(call E, generate: $@) $(STAGE1) -c -o $@ --glue @@ -25,7 +26,7 @@ stage1/lib/$(CFG_RUNTIME): rt/$(CFG_RUNTIME) @$(call E, cp: $@) $(Q)cp $< $@ -stage1/lib/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM) +stage1/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM) @$(call E, cp: $@) $(Q)cp $< $@ diff --git a/mk/stage2.mk b/mk/stage2.mk index 23f62d66db48..c259f334f522 100644 --- a/mk/stage2.mk +++ b/mk/stage2.mk @@ -1,19 +1,20 @@ stage2/lib/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \ stage2/rustc$(X) stage1/lib/$(CFG_STDLIB) stage2/intrinsics.bc \ - stage2/lib/$(CFG_RUNTIME) stage2/lib/$(CFG_RUSTLLVM) \ + stage2/lib/$(CFG_RUNTIME) stage2/$(CFG_RUSTLLVM) \ stage2/lib/glue.o $(LREQ) $(MKFILES) @$(call E, compile_and_link: $@) $(STAGE2) --lib -o $@ $< stage2/lib/libstd.rlib: $(STDLIB_CRATE) $(STDLIB_INPUTS) \ stage2/rustc$(X) stage1/lib/$(CFG_STDLIB) stage2/intrinsics.bc \ - stage2/lib/$(CFG_RUNTIME) stage2/lib/$(CFG_RUSTLLVM) \ + stage2/lib/$(CFG_RUNTIME) stage2/$(CFG_RUSTLLVM) \ stage2/lib/glue.o $(LREQ) $(MKFILES) @$(call E, compile_and_link: $@) $(STAGE2) --lib --static -o $@ $< stage2/lib/glue.o: stage2/rustc$(X) stage1/lib/$(CFG_STDLIB) \ - stage2/intrinsics.bc rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME) + stage2/intrinsics.bc stage2/$(CFG_RUSTLLVM) \ + stage1/lib/$(CFG_RUNTIME) @$(call E, generate: $@) $(STAGE2) -c -o $@ --glue @@ -25,7 +26,7 @@ stage2/lib/$(CFG_RUNTIME): rt/$(CFG_RUNTIME) @$(call E, cp: $@) $(Q)cp $< $@ -stage2/lib/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM) +stage2/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM) @$(call E, cp: $@) $(Q)cp $< $@ diff --git a/mk/stage3.mk b/mk/stage3.mk index 093511e2a040..dc3102712838 100644 --- a/mk/stage3.mk +++ b/mk/stage3.mk @@ -1,19 +1,20 @@ stage3/lib/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \ stage3/rustc$(X) stage2/lib/$(CFG_STDLIB) stage3/intrinsics.bc \ - stage3/lib/$(CFG_RUNTIME) stage3/lib/$(CFG_RUSTLLVM) \ + stage3/lib/$(CFG_RUNTIME) stage3/$(CFG_RUSTLLVM) \ stage3/lib/glue.o $(LREQ) $(MKFILES) @$(call E, compile_and_link: $@) $(STAGE3) --lib -o $@ $< stage3/lib/libstd.rlib: $(STDLIB_CRATE) $(STDLIB_INPUTS) \ stage3/rustc$(X) stage2/lib/$(CFG_STDLIB) stage3/intrinsics.bc \ - stage3/lib/$(CFG_RUNTIME) stage3/lib/$(CFG_RUSTLLVM) \ + stage3/lib/$(CFG_RUNTIME) stage3/$(CFG_RUSTLLVM) \ stage3/lib/glue.o $(LREQ) $(MKFILES) @$(call E, compile_and_link: $@) $(STAGE3) --lib --static -o $@ $< stage3/lib/glue.o: stage3/rustc$(X) stage2/lib/$(CFG_STDLIB) \ - stage3/intrinsics.bc rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME) + stage3/intrinsics.bc stage3/$(CFG_RUSTLLVM) \ + stage2/lib/$(CFG_RUNTIME) @$(call E, generate: $@) $(STAGE3) -c -o $@ --glue @@ -25,7 +26,7 @@ stage3/lib/$(CFG_RUNTIME): rt/$(CFG_RUNTIME) @$(call E, cp: $@) $(Q)cp $< $@ -stage3/lib/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM) +stage3/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM) @$(call E, cp: $@) $(Q)cp $< $@ diff --git a/src/etc/get-snapshot.py b/src/etc/get-snapshot.py index 98e480defda1..aa64a4fb49a1 100755 --- a/src/etc/get-snapshot.py +++ b/src/etc/get-snapshot.py @@ -9,7 +9,7 @@ def unpack_snapshot(snap): print("opening snapshot " + dl_path) tar = tarfile.open(dl_path) kernel = get_kernel() - for name in snapshot_files[kernel]: + for name in old_snapshot_files[kernel]: p = "rust-stage0/" + name fp = os.path.join("stage0", name) print("extracting " + fp) diff --git a/src/etc/snapshot.py b/src/etc/snapshot.py index b3ebce018e21..e3ba1d1a452f 100644 --- a/src/etc/snapshot.py +++ b/src/etc/snapshot.py @@ -15,7 +15,7 @@ download_url_base = "http://dl.rust-lang.org/stage0-snapshots" download_dir_base = "dl" download_unpack_base = os.path.join(download_dir_base, "unpack") -snapshot_files = { +old_snapshot_files = { "linux": ["rustc", "lib/glue.o", "lib/libstd.so", "lib/libstd.rlib", "lib/librustrt.so", "lib/librustllvm.so", "intrinsics.bc"], "macos": ["rustc", "lib/glue.o", "lib/libstd.dylib", "lib/libstd.rlib", @@ -24,6 +24,15 @@ snapshot_files = { "lib/rustrt.dll", "lib/rustllvm.dll", "intrinsics.bc"] } +snapshot_files = { + "linux": ["rustc", "lib/glue.o", "lib/libstd.so", "lib/libstd.rlib", + "lib/librustrt.so", "librustllvm.so", "intrinsics.bc"], + "macos": ["rustc", "lib/glue.o", "lib/libstd.dylib", "lib/libstd.rlib", + "lib/librustrt.dylib", "librustllvm.dylib", "intrinsics.bc"], + "winnt": ["rustc.exe", "lib/glue.o", "lib/std.dll", "lib/libstd.rlib", + "lib/rustrt.dll", "rustllvm.dll", "intrinsics.bc"] + } + def parse_line(n, line): global snapshotfile