Abstract the build directories further in the makefiles
This defines variables for host bin and lib directories as well as all target bin and lib directories then uses them everywhere.
This commit is contained in:
parent
ed106dd6ea
commit
38c67a4c8d
57
Makefile.in
57
Makefile.in
|
@ -169,32 +169,41 @@ LLC := $(CFG_LLVM_BINDIR)/llc$(X)
|
|||
|
||||
define SREQ
|
||||
|
||||
# Destinations of artifacts for target architectures
|
||||
TARGET_ROOT$(1)$(2) = stage$(1)/lib/rustc/$(2)
|
||||
TARGET_BIN$(1)$(2) = $(TARGET_ROOT$(1)$(2))/bin
|
||||
TARGET_LIB$(1)$(2) = $(TARGET_ROOT$(1)$(2))/lib
|
||||
HOST_ROOT$(1) = $(TARGET_ROOT$(1)$$(CFG_HOST_TRIPLE))
|
||||
HOST_BIN$(1) = $(TARGET_BIN$(1)$$(CFG_HOST_TRIPLE))
|
||||
HOST_LIB$(1) = $(TARGET_LIB$(1)$$(CFG_HOST_TRIPLE))
|
||||
TARGET_BIN$(1)$(2) = $$(TARGET_ROOT$(1)$(2))/bin
|
||||
TARGET_LIB$(1)$(2) = $$(TARGET_ROOT$(1)$(2))
|
||||
|
||||
# Destinations of artifacts for the host compiler
|
||||
HOST_ROOT$(1) = stage$(1)
|
||||
HOST_BIN$(1) = $$(HOST_ROOT$(1))/bin
|
||||
HOST_LIB$(1) = $$(HOST_ROOT$(1))/lib
|
||||
|
||||
# The target locations of artifacts for the host architecture (used for
|
||||
# promoting target binaries to host binaries)
|
||||
TARGET_HOST_ROOT$(1) = $$(TARGET_ROOT$(1)$$(CFG_HOST_TRIPLE))
|
||||
TARGET_HOST_BIN$(1) = $$(TARGET_BIN$(1)$$(CFG_HOST_TRIPLE))
|
||||
TARGET_HOST_LIB$(1) = $$(TARGET_LIB$(1)$$(CFG_HOST_TRIPLE))
|
||||
|
||||
ifdef CFG_DISABLE_SHAREDSTD
|
||||
SREQ$(1)$(2) = $(HOST_BIN$(1))/rustc$(X) \
|
||||
$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
|
||||
SREQ$(1)$(2) = $$(HOST_BIN$(1))/rustc$(X) \
|
||||
$$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
|
||||
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(1)) \
|
||||
$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
|
||||
$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
|
||||
$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
|
||||
$(TARGET_LIB$(1)$(2))/intrinsics.bc \
|
||||
$(TARGET_LIB$(1)$(2))/main.o \
|
||||
$$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
|
||||
$$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
|
||||
$$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
|
||||
$$(TARGET_LIB$(1)$(2))/intrinsics.bc \
|
||||
$$(TARGET_LIB$(1)$(2))/main.o \
|
||||
$$(MKFILES)
|
||||
else
|
||||
SREQ$(1)$(2) = $(HOST_BIN$(1))/rustc$(X) \
|
||||
$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
|
||||
SREQ$(1)$(2) = $$(HOST_BIN$(1))/rustc$(X) \
|
||||
$$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
|
||||
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(1)) \
|
||||
$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
|
||||
$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
|
||||
$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
|
||||
$(TARGET_LIB$(1)$(2))/intrinsics.bc \
|
||||
$(TARGET_LIB$(1)$(2))/main.o \
|
||||
$$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
|
||||
$$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
|
||||
$$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
|
||||
$$(TARGET_LIB$(1)$(2))/intrinsics.bc \
|
||||
$$(TARGET_LIB$(1)$(2))/main.o \
|
||||
$$(MKFILES)
|
||||
endif
|
||||
|
||||
|
@ -205,17 +214,17 @@ else
|
|||
CFG_VALGRIND_COMPILE$(1) = $$(CFG_VALGRIND_COMPILE)
|
||||
endif
|
||||
|
||||
STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,stage$(1), \
|
||||
$$(CFG_VALGRIND_COMPILE) stage$(1)/bin/rustc$$(X) \
|
||||
STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,$(1), \
|
||||
$$(CFG_VALGRIND_COMPILE) $$(HOST_BIN$(1))/rustc$$(X) \
|
||||
$$(CFG_RUSTC_FLAGS) --target=$(2))
|
||||
|
||||
PERF_STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,stage$(1), \
|
||||
$$(CFG_PERF_TOOL) stage$(1)/bin/rustc$$(X) \
|
||||
PERF_STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,$(1), \
|
||||
$$(CFG_PERF_TOOL) $$(HOST_BIN$(1))/rustc$$(X) \
|
||||
$$(CFG_RUSTC_FLAGS) --target=$(2))
|
||||
|
||||
endef
|
||||
|
||||
FUZZ := stage1/bin/fuzzer$(X)
|
||||
FUZZ := $(HOST_BIN$(1))/fuzzer$(X)
|
||||
|
||||
$(foreach target,$(CFG_TARGET_TRIPLES), \
|
||||
$(eval $(call SREQ,0,$(target))) \
|
||||
|
|
20
mk/clean.mk
20
mk/clean.mk
|
@ -44,16 +44,16 @@ clean-misc:
|
|||
define CLEAN_STAGE_N
|
||||
|
||||
clean$(1)$(2):
|
||||
$(Q)rm -f stage$(1)/bin/rustc
|
||||
$(Q)rm -f stage$(1)/bin/fuzzer
|
||||
$(Q)rm -f stage$(1)/lib/$(CFG_RUNTIME)
|
||||
$(Q)rm -f stage$(1)/lib/$(CFG_STDLIB)
|
||||
$(Q)rm -f stage$(1)/lib/$(CFG_RUSTLLVM)
|
||||
$(Q)rm -f stage$(1)/lib/rustc/$(2)/$(CFG_RUNTIME)
|
||||
$(Q)rm -f stage$(1)/lib/rustc/$(2)/$(CFG_STDLIB)
|
||||
$(Q)rm -f stage$(1)/lib/rustc/$(2)/libstd.rlib
|
||||
$(Q)rm -f stage$(1)/lib/rustc/$(2)/intrinsics.bc
|
||||
$(Q)rm -f stage$(1)/lib/rustc/$(2)/main.o
|
||||
$(Q)rm -f $$(HOST_BIN$(1))/rustc
|
||||
$(Q)rm -f $$(HOST_BIN$(1))/fuzzer
|
||||
$(Q)rm -f $$(HOST_LIB$(1))/$(CFG_RUNTIME)
|
||||
$(Q)rm -f $$(HOST_LIB$(1))/$(CFG_STDLIB)
|
||||
$(Q)rm -f $$(HOST_LIB$(1))/$(CFG_RUSTLLVM)
|
||||
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/$(CFG_RUNTIME)
|
||||
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/$(CFG_STDLIB)
|
||||
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/libstd.rlib
|
||||
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/intrinsics.bc
|
||||
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/main.o
|
||||
|
||||
endef
|
||||
|
||||
|
|
12
mk/fuzzer.mk
12
mk/fuzzer.mk
|
@ -4,13 +4,13 @@ FUZZER_INPUTS := $(wildcard $(addprefix $(S)src/fuzzer/, *.rs))
|
|||
define FUZZ_STAGE_N
|
||||
|
||||
stage$(2)/bin/fuzzer$$(X): $$(FUZZER_CRATE) $$(FUZZER_INPUTS) \
|
||||
$$(SREQ$(2)$(CFG_HOST_TRIPLE)) \
|
||||
stage$(2)/lib/$$(CFG_RUNTIME) \
|
||||
stage$(2)/lib/$$(CFG_RUSTLLVM) \
|
||||
stage$(2)/lib/$$(CFG_STDLIB) \
|
||||
stage$(2)/lib/$$(CFG_LIBRUSTC)
|
||||
$$(SREQ$(2)$$(CFG_HOST_TRIPLE)) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_STDLIB) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_LIBRUSTC)
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(1)) -L stage1/lib -o $$@ $$<
|
||||
$$(STAGE$(1)) -L $$(HOST_LIB$(2)) -o $$@ $$<
|
||||
|
||||
endef
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
ifdef CFG_PERF_TOOL
|
||||
rustc-perf$(X): stage2/bin/rustc$(X)
|
||||
@$(call E, perf compile: $@)
|
||||
$(PERF_STAGE1) -L stage2 -o $@ $(COMPILER_CRATE) >rustc-perf.err 2>&1
|
||||
$(PERF_STAGE1) -o $@ $(COMPILER_CRATE) >rustc-perf.err 2>&1
|
||||
$(Q)rm -f $@
|
||||
else
|
||||
rustc-perf$(X): stage2/bin/rustc$(X)
|
||||
|
|
|
@ -98,7 +98,7 @@ ifdef CFG_UNIXY
|
|||
CFG_EXE_SUFFIX :=
|
||||
CFG_LDPATH :=
|
||||
CFG_RUN=$(CFG_LDENV)=$(1) $(2)
|
||||
CFG_RUN_TARG=$(call CFG_RUN,$(CFG_BUILD_DIR)/$(1)/lib,$(2))
|
||||
CFG_RUN_TARG=$(call CFG_RUN,$(CFG_BUILD_DIR)/$(HOST_LIB$(1)),$(2))
|
||||
CFG_RUN_TEST=$(call CFG_RUN,$(call CFG_TESTLIB,$(1)),\
|
||||
$(CFG_VALGRIND) $(1))
|
||||
CFG_LIBUV_LINK_FLAGS=-lpthread
|
||||
|
@ -139,7 +139,7 @@ ifdef CFG_WINDOWSY
|
|||
CFG_LDPATH :=$(CFG_LLVM_BINDIR)
|
||||
CFG_LDPATH :=$(CFG_LDPATH):$$PATH
|
||||
CFG_RUN=PATH="$(CFG_LDPATH):$(1)" $(2)
|
||||
CFG_RUN_TARG=$(call CFG_RUN,$(1)/lib,$(2))
|
||||
CFG_RUN_TARG=$(call CFG_RUN,$(HOST_LIB$(1)),$(2))
|
||||
CFG_RUN_TEST=$(call CFG_RUN,$(call CFG_TESTLIB,$(1)),$(1))
|
||||
CFG_LIBUV_LINK_FLAGS=-lWs2_32
|
||||
|
||||
|
|
4
mk/pp.mk
4
mk/pp.mk
|
@ -12,10 +12,10 @@ else
|
|||
"no-reformat\|xfail-pretty\|xfail-test")
|
||||
endif
|
||||
|
||||
reformat: $(SREQ1)
|
||||
reformat: $(SREQ1$(CFG_HOST_TRIPLE))
|
||||
@$(call E, reformat [stage1]: $@)
|
||||
for i in $(PP_INPUTS_FILTERED); \
|
||||
do $(call CFG_RUN_TARG,stage1,stage1/rustc$(X)) \
|
||||
do $(call CFG_RUN_TARG,1,stage1/rustc$(X)) \
|
||||
--pretty normal $$i >$$i.tmp; \
|
||||
if [ $$? -ne 0 ]; \
|
||||
then echo failed to print $$i; rm $$i.tmp; \
|
||||
|
|
17
mk/snap.mk
17
mk/snap.mk
|
@ -1,13 +1,12 @@
|
|||
|
||||
snap-stage1: stage1/bin/rustc$(X) stage1/lib/$(CFG_RUNTIME) \
|
||||
stage1/lib/$(CFG_RUSTLLVM) stage1/lib/$(CFG_STDLIB)
|
||||
snap-stage1: $(HOST_BIN1)/rustc$(X) $(HOST_LIB1)/$(CFG_RUNTIME) \
|
||||
$(HOST_LIB1)/$(CFG_RUSTLLVM) $(HOST_LIB1)/$(CFG_STDLIB)
|
||||
$(S)src/etc/make-snapshot.py stage1
|
||||
|
||||
snap-stage2: stage2/bin/rustc$(X) stage2/lib/$(CFG_RUNTIME) \
|
||||
stage2/lib/$(CFG_RUSTLLVM) stage2/lib/$(CFG_STDLIB)
|
||||
$(S)src/etc/make-snapshot.py stage2
|
||||
|
||||
snap-stage3: stage3/bin/rustc$(X) stage3/lib/$(CFG_RUNTIME) \
|
||||
stage3/lib/$(CFG_RUSTLLVM) stage3/lib/$(CFG_STDLIB)
|
||||
$(S)src/etc/make-snapshot.py stage3
|
||||
snap-stage1: $(HOST_BIN2)/rustc$(X) $(HOST_LIB2)/$(CFG_RUNTIME) \
|
||||
$(HOST_LIB2)/$(CFG_RUSTLLVM) $(HOST_LIB2)/$(CFG_STDLIB)
|
||||
$(S)src/etc/make-snapshot.py stage1
|
||||
|
||||
snap-stage1: $(HOST_BIN3)/rustc$(X) $(HOST_LIB3)/$(CFG_RUNTIME) \
|
||||
$(HOST_LIB3)/$(CFG_RUSTLLVM) $(HOST_LIB3)/$(CFG_STDLIB)
|
||||
$(S)src/etc/make-snapshot.py stage1
|
||||
|
|
10
mk/stage0.mk
10
mk/stage0.mk
|
@ -1,22 +1,22 @@
|
|||
stage0/bin/rustc$(X): $(S)src/snapshots.txt $(S)src/etc/get-snapshot.py $(MKFILES)
|
||||
$(HOST_BIN0)/rustc$(X): $(S)src/snapshots.txt $(S)src/etc/get-snapshot.py $(MKFILES)
|
||||
@$(call E, fetch: $@)
|
||||
$(Q)$(S)src/etc/get-snapshot.py
|
||||
$(Q)touch $@
|
||||
|
||||
# Host libs will be made in the process of making rustc above.
|
||||
|
||||
stage0/lib/$(CFG_RUNTIME): stage0/bin/rustc$(X)
|
||||
$(HOST_LIB0)/$(CFG_RUNTIME): $(HOST_BIN0)/rustc$(X)
|
||||
$(Q)touch $@
|
||||
|
||||
stage0/lib/$(CFG_STDLIB): stage0/bin/rustc$(X)
|
||||
$(HOST_LIB0)/$(CFG_STDLIB): $(HOST_BIN0)/rustc$(X)
|
||||
$(Q)touch $@
|
||||
|
||||
stage0/lib/$(CFG_RUSTLLVM): stage0/bin/rustc$(X)
|
||||
$(HOST_LIB0)/$(CFG_RUSTLLVM): $(HOST_BIN0)/rustc$(X)
|
||||
$(Q)touch $@
|
||||
|
||||
# Instantiate template (in stageN.mk) for building
|
||||
# target libraries.
|
||||
|
||||
SREQpre = stage0/lib/$(CFG_HOST_TRIPLE)/main.o $(MKFILES)
|
||||
SREQpre = $(MKFILES)
|
||||
$(eval $(call TARGET_LIBS,pre,0,$(CFG_HOST_TRIPLE)))
|
||||
|
||||
|
|
48
mk/stageN.mk
48
mk/stageN.mk
|
@ -19,37 +19,37 @@ define STAGE_N
|
|||
# for different directories, to handle cases where (say) a test relies on a
|
||||
# compiler that relies on a .o file.
|
||||
|
||||
stage$(2)/bin/%.o: stage$(2)/bin/%.s
|
||||
$$(HOST_BIN$(2))/%.o: $$(HOST_BIN$(2))/%.s
|
||||
@$$(call E, assemble [gcc]: $$@)
|
||||
$$(Q)gcc $$(CFG_GCCISH_CFLAGS) -o $$@ -c $$<
|
||||
|
||||
stage$(2)/lib/%.o: stage$(2)/lib/%.s
|
||||
$$(HOST_LIB$(2))/%.o: $$(HOST_LIB$(2))/%.s
|
||||
@$$(call E, assemble [gcc]: $$@)
|
||||
$$(Q)gcc $$(CFG_GCCISH_CFLAGS) -o $$@ -c $$<
|
||||
|
||||
stage$(2)/bin/rustc$$(X): $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
|
||||
stage$(2)/lib/$$(CFG_RUNTIME) \
|
||||
$$(HOST_BIN$(2))/rustc$$(X): $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
|
||||
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(2)) \
|
||||
stage$(2)/lib/$$(CFG_RUSTLLVM) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
|
||||
$$(SREQ$(1)$(3))
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(1)) -L stage$(2)/lib -o $$@ $$<
|
||||
$$(STAGE$(1)) -L $$(HOST_LIB$(2)) -o $$@ $$<
|
||||
|
||||
stage$(2)/lib/$$(CFG_LIBRUSTC): \
|
||||
$$(HOST_LIB$(2))/$$(CFG_LIBRUSTC): \
|
||||
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
|
||||
$$(SREQ$(2)$(3))
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(1)) -L stage$(2)/lib --lib -o $$@ $$<
|
||||
$$(STAGE$(1)) -L $$(HOST_LIB$(2)) --lib -o $$@ $$<
|
||||
|
||||
stage$(2)/lib/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
|
||||
stage$(2)/lib/$$(CFG_STDLIB): stage$(1)/lib/rustc/$$(CFG_HOST_TRIPLE)/$$(CFG_STDLIB)
|
||||
$$(HOST_LIB$(2))/$$(CFG_STDLIB): $$(TARGET_HOST_LIB$(1))/$$(CFG_STDLIB)
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
|
||||
stage$(2)/lib/$$(CFG_RUSTLLVM): rustllvm/$$(CFG_RUSTLLVM)
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM): rustllvm/$$(CFG_RUSTLLVM)
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
|
||||
|
@ -66,35 +66,35 @@ define TARGET_LIBS
|
|||
# using these exclusively, you should delete the non-arch-prefixed
|
||||
# rules above. They're duplicates, redundant.
|
||||
|
||||
stage$(2)/lib/rustc/$(3)/intrinsics.bc: $$(INTRINSICS_BC)
|
||||
$$(TARGET_LIB$(2)$(3))/intrinsics.bc: $$(INTRINSICS_BC)
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
|
||||
stage$(2)/lib/rustc/$(3)/main.o: rt/main.o
|
||||
$$(TARGET_LIB$(2)$(3))/main.o: rt/main.o
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
|
||||
stage$(2)/lib/rustc/$(3)/$$(CFG_STDLIB): \
|
||||
$$(TARGET_LIB$(2)$(3))/$$(CFG_STDLIB): \
|
||||
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
|
||||
stage$(2)/bin/rustc$$(X) \
|
||||
stage$(2)/lib/$$(CFG_RUNTIME) \
|
||||
stage$(2)/lib/$$(CFG_RUSTLLVM) \
|
||||
stage$(2)/lib/rustc/$(3)/intrinsics.bc \
|
||||
$$(HOST_BIN$(2))/rustc$$(X) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
|
||||
$$(TARGET_LIB$(2)$(3))/intrinsics.bc \
|
||||
$$(SREQ$(1)$(3))
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(2)) --lib -o $$@ $$<
|
||||
|
||||
stage$(2)/lib/rustc/$(3)/libstd.rlib: \
|
||||
$$(TARGET_LIB$(2)$(3))/libstd.rlib: \
|
||||
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
|
||||
stage$(2)/bin/rustc$$(X) \
|
||||
stage$(2)/lib/$$(CFG_RUNTIME) \
|
||||
stage$(2)/lib/$$(CFG_RUSTLLVM) \
|
||||
stage$(2)/lib/rustc/$(3)/intrinsics.bc \
|
||||
$$(HOST_BIN$(2))/rustc$$(X) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
|
||||
$$(TARGET_LIB$(2)$(3))/intrinsics.bc \
|
||||
$$(SREQ$(1)$(3))
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(2)) --lib --static -o $$@ $$<
|
||||
|
||||
stage$(2)/lib/rustc/$(3)/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
|
||||
$$(TARGET_LIB$(2)$(3))/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
|
||||
|
|
24
mk/tests.mk
24
mk/tests.mk
|
@ -68,7 +68,7 @@ STDTEST_INPUTS := $(wildcard $(S)src/test/stdtest/*rs)
|
|||
ifdef CTEST_VALGRIND
|
||||
CFG_RUN_CTEST=$(call CFG_RUN_TEST,$(2))
|
||||
else
|
||||
CFG_RUN_CTEST=$(call CFG_RUN,stage$(1)/lib/rustc/$(CFG_HOST_TRIPLE),$(2))
|
||||
CFG_RUN_CTEST=$(call CFG_RUN,$(TARGET_HOST_LIB$(1)),$(2))
|
||||
endif
|
||||
|
||||
######################################################################
|
||||
|
@ -146,16 +146,16 @@ test/stdtest.stage$(2).out.tmp: test/stdtest.stage$(2)$$(X)
|
|||
check-stage$(2)-rustc: test/rustctest.stage$(2).out \
|
||||
|
||||
test/rustctest.stage$(2)$$(X): $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
|
||||
stage$(2)/lib/$$(CFG_RUNTIME) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
|
||||
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(2)) \
|
||||
stage$(2)/lib/$$(CFG_RUSTLLVM) \
|
||||
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
|
||||
$$(SREQ$(1)$$(CFG_HOST_TRIPLE))
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(1)) -o $$@ $$< --test
|
||||
|
||||
test/rustctest.stage$(2).out.tmp: test/rustctest.stage$(2)$$(X)
|
||||
@$$(call E, run: $$<)
|
||||
$$(Q)$$(call CFG_RUN,$(CFG_BUILD_DIR)/stage$(2)/lib,$$(CFG_VALGRIND) $$<) \
|
||||
$$(Q)$$(call CFG_RUN,$$(HOST_LIB$(2)),$$(CFG_VALGRIND) $$<) \
|
||||
$$(TESTARGS)
|
||||
$$(Q)touch $$@
|
||||
|
||||
|
@ -185,9 +185,9 @@ check-stage$(2)-pretty: check-stage$(2)-pretty-rpass \
|
|||
check-stage$(2)-pretty-bench \
|
||||
check-stage$(2)-pretty-pretty \
|
||||
|
||||
CTEST_COMMON_ARGS$(2) := --compile-lib-path stage$(2)/lib \
|
||||
--run-lib-path stage$(2)/lib/$$(CFG_HOST_TRIPLE) \
|
||||
--rustc-path stage$(2)/bin/rustc$$(X) \
|
||||
CTEST_COMMON_ARGS$(2) := --compile-lib-path $$(HOST_LIB$(2)) \
|
||||
--run-lib-path $$(TARGET_LIB$(2)$$(CFG_HOST_TRIPLE)) \
|
||||
--rustc-path $$(HOST_BIN$(2))/rustc$$(X) \
|
||||
--stage-id stage$(2) \
|
||||
--rustcflags "$$(CFG_RUSTC_FLAGS)" \
|
||||
$$(CTEST_TESTARGS) \
|
||||
|
@ -204,19 +204,19 @@ RFAIL_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
|
|||
$$(CTEST_RUNTOOL) \
|
||||
|
||||
RPASS_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
|
||||
--src-base $(S)src/test/run-pass/ \
|
||||
--src-base $$(S)src/test/run-pass/ \
|
||||
--build-base test/run-pass/ \
|
||||
--mode run-pass \
|
||||
$$(CTEST_RUNTOOL) \
|
||||
|
||||
BENCH_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
|
||||
--src-base $(S)src/test/bench/ \
|
||||
--src-base $$(S)src/test/bench/ \
|
||||
--build-base test/bench/ \
|
||||
--mode run-pass \
|
||||
$$(CTEST_RUNTOOL) \
|
||||
|
||||
PERF_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
|
||||
--src-base $(S)src/test/bench/ \
|
||||
--src-base $$(S)src/test/bench/ \
|
||||
--build-base test/perf/ \
|
||||
--mode run-pass \
|
||||
$$(CTEST_PERF_RUNTOOL) \
|
||||
|
@ -324,9 +324,9 @@ stage2/lib/$(FT_LIB): test/$(FT).rc $(SREQ2$(CFG_HOST_TRIPLE))
|
|||
@$(call E, compile_and_link: $@)
|
||||
$(STAGE2) --lib -o $@ $<
|
||||
|
||||
test/$(FT_DRIVER)$(X): test/$(FT_DRIVER).rs stage2/lib/$(FT_LIB) $(SREQ2$(CFG_HOST_TRIPLE))
|
||||
test/$(FT_DRIVER)$(X): test/$(FT_DRIVER).rs $(HOST_LIB2)/$(FT_LIB) $(SREQ2$(CFG_HOST_TRIPLE))
|
||||
@$(call E, compile_and_link: $@)
|
||||
$(STAGE2) -L stage2/lib -o $@ $<
|
||||
$(STAGE2) -L $(HOST_LIB2) -o $@ $<
|
||||
|
||||
test/$(FT_DRIVER).out: test/$(FT_DRIVER)$(X) $(SREQ2$(CFG_HOST_TRIPLE))
|
||||
$(Q)$(call CFG_RUN_TEST, $<)
|
||||
|
|
Loading…
Reference in a new issue