@@ -450,6 +450,7 @@ CODEGEN_RS := $(call rwildcard,$(S)src/test/codegen/,*.rs)
450
450
CODEGEN_CC := $(call rwildcard,$(S ) src/test/codegen/,* .cc)
451
451
CODEGEN_UNITS_RS := $(call rwildcard,$(S ) src/test/codegen-units/,* .rs)
452
452
INCREMENTAL_RS := $(call rwildcard,$(S ) src/test/incremental/,* .rs)
453
+ RMAKE_RS := $(wildcard $(S ) src/test/run-make/* /Makefile)
453
454
RUSTDOCCK_RS := $(call rwildcard,$(S ) src/test/rustdoc/,* .rs)
454
455
455
456
RPASS_TESTS := $(RPASS_RS )
@@ -466,6 +467,7 @@ DEBUGINFO_LLDB_TESTS := $(DEBUGINFO_LLDB_RS)
466
467
CODEGEN_TESTS := $(CODEGEN_RS ) $(CODEGEN_CC )
467
468
CODEGEN_UNITS_TESTS := $(CODEGEN_UNITS_RS )
468
469
INCREMENTAL_TESTS := $(INCREMENTAL_RS )
470
+ RMAKE_TESTS := $(RMAKE_RS )
469
471
RUSTDOCCK_TESTS := $(RUSTDOCCK_RS )
470
472
471
473
CTEST_SRC_BASE_rpass = run-pass
@@ -533,6 +535,11 @@ CTEST_BUILD_BASE_incremental = incremental
533
535
CTEST_MODE_incremental = incremental
534
536
CTEST_RUNTOOL_incremental = $(CTEST_RUNTOOL )
535
537
538
+ CTEST_SRC_BASE_rmake = run-make
539
+ CTEST_BUILD_BASE_rmake = run-make
540
+ CTEST_MODE_rmake = run-make
541
+ CTEST_RUNTOOL_rmake = $(CTEST_RUNTOOL )
542
+
536
543
CTEST_SRC_BASE_rustdocck = rustdoc
537
544
CTEST_BUILD_BASE_rustdocck = rustdoc
538
545
CTEST_MODE_rustdocck = rustdoc
@@ -629,6 +636,11 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
629
636
--host-rustcflags "$(RUSTC_FLAGS_$(3 ) ) $$(CTEST_RUSTC_FLAGS ) -L $$(RT_OUTPUT_DIR_$(3 ) ) " \
630
637
--lldb-python-dir=$(CFG_LLDB_PYTHON_DIR ) \
631
638
--target-rustcflags "$(RUSTC_FLAGS_$(2 ) ) $$(CTEST_RUSTC_FLAGS ) -L $$(RT_OUTPUT_DIR_$(2 ) ) " \
639
+ --cc '$$(CC_$(3 ) ) ' \
640
+ --cxx '$$(CXX_$(3 ) ) ' \
641
+ --cflags "$$(CFG_GCCISH_CFLAGS_$(3 ) ) " \
642
+ --llvm-components "$$(LLVM_ALL_COMPONENTS_$(3 ) ) " \
643
+ --llvm-cxxflags "$$(LLVM_CXXFLAGS_$(3 ) ) " \
632
644
$$(CTEST_TESTARGS )
633
645
634
646
ifdef CFG_VALGRIND_RPASS
@@ -658,6 +670,9 @@ CTEST_DEPS_debuginfo-lldb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_LLDB_TESTS) \
658
670
CTEST_DEPS_codegen_$(1 ) -T-$(2 ) -H-$(3 ) = $$(CODEGEN_TESTS )
659
671
CTEST_DEPS_codegen-units_$(1 ) -T-$(2 ) -H-$(3 ) = $$(CODEGEN_UNITS_TESTS )
660
672
CTEST_DEPS_incremental_$(1 ) -T-$(2 ) -H-$(3 ) = $$(INCREMENTAL_TESTS )
673
+ CTEST_DEPS_rmake_$(1 ) -T-$(2 ) -H-$(3 ) = $$(RMAKE_TESTS ) \
674
+ $$(CSREQ$(1 ) _T_$(3 ) _H_$(3 ) ) $$(SREQ$(1 ) _T_$(2 ) _H_$(3 ) )
675
+
661
676
CTEST_DEPS_rustdocck_$(1 ) -T-$(2 ) -H-$(3 ) = $$(RUSTDOCCK_TESTS ) \
662
677
$$(HBIN$(1 ) _H_$(3 ) ) /rustdoc$$(X_$(3 ) ) \
663
678
$(S ) src/etc/htmldocck.py
@@ -702,6 +717,10 @@ endif
702
717
endif
703
718
704
719
ifeq ($$(CTEST_DONT_RUN_$(1 ) -T-$(2 ) -H-$(3 ) -$(4 ) ) ,)
720
+ $$(call TEST_OK_FILE,$(1 ) ,$(2 ) ,$(3 ) ,$(4 ) ) : \
721
+ export INCLUDE := $$(CFG_MSVC_INCLUDE_PATH_$$(HOST_$(3 ) ) )
722
+ $$(call TEST_OK_FILE,$(1 ) ,$(2 ) ,$(3 ) ,$(4 ) ) : \
723
+ export LIB := $$(CFG_MSVC_LIB_PATH_$$(HOST_$(3 ) ) )
705
724
$$(call TEST_OK_FILE,$(1 ) ,$(2 ) ,$(3 ) ,$(4 ) ) : \
706
725
$$(TEST_SREQ$(1 ) _T_$(2 ) _H_$(3 ) ) \
707
726
$$(CTEST_DEPS_$(4)_$(1)-T-$(2)-H-$(3))
@@ -724,7 +743,8 @@ endif
724
743
endef
725
744
726
745
CTEST_NAMES = rpass rpass-valgrind rpass-full rfail-full cfail-full rfail cfail pfail \
727
- debuginfo-gdb debuginfo-lldb codegen codegen-units rustdocck incremental
746
+ debuginfo-gdb debuginfo-lldb codegen codegen-units rustdocck incremental \
747
+ rmake
728
748
729
749
$(foreach host,$(CFG_HOST), \
730
750
$(eval $(foreach target,$(CFG_TARGET), \
@@ -1009,70 +1029,3 @@ endef
1009
1029
1010
1030
$(foreach crate,$(TEST_CRATES), \
1011
1031
$(eval $(call DEF_CHECK_CRATE,$(crate))))
1012
-
1013
- # #####################################################################
1014
- # RMAKE rules
1015
- # #####################################################################
1016
-
1017
- RMAKE_TESTS := $(shell ls -d $(S ) src/test/run-make/* /)
1018
- RMAKE_TESTS := $(RMAKE_TESTS:$(S ) src/test/run-make/%/=% )
1019
-
1020
- define DEF_RMAKE_FOR_T_H
1021
- # $(1) the stage
1022
- # $(2) target triple
1023
- # $(3) host triple
1024
-
1025
-
1026
- ifeq ($(2 )$(3 ) ,$$(CFG_BUILD )$$(CFG_BUILD ) )
1027
- check-stage$(1 ) -T-$(2 ) -H-$(3 ) -rmake-exec : \
1028
- $$(call TEST_OK_FILE,$(1 ) ,$(2 ) ,$(3 ) ,rmake)
1029
-
1030
- $$(call TEST_OK_FILE,$(1 ) ,$(2 ) ,$(3 ) ,rmake) : \
1031
- $$(RMAKE_TESTS:%=$(3 ) /test/run-make/%-$(1 ) -T-$(2 ) -H-$(3 ) .ok )
1032
- @touch $$@
1033
-
1034
- $(3 ) /test/run-make/% -$(1 ) -T-$(2 ) -H-$(3 ) .ok : \
1035
- export INCLUDE := $$(CFG_MSVC_INCLUDE_PATH_$$(HOST_$(3 ) ) )
1036
- $(3 ) /test/run-make/% -$(1 ) -T-$(2 ) -H-$(3 ) .ok : \
1037
- export LIB := $$(CFG_MSVC_LIB_PATH_$$(HOST_$(3 ) ) )
1038
- $(3 ) /test/run-make/% -$(1 ) -T-$(2 ) -H-$(3 ) .ok : \
1039
- export MSVC_LIB := " $$ (CFG_MSVC_LIB_$$ (HOST_$( 3) ))"
1040
- $(3 ) /test/run-make/% -$(1 ) -T-$(2 ) -H-$(3 ) .ok : \
1041
- $(S ) src/test/run-make/%/Makefile \
1042
- $$(CSREQ$(1 ) _T_$(2 ) _H_$(3 ) )
1043
- @rm -rf $(3 ) /test/run-make/$$*
1044
- @mkdir -p $(3 ) /test/run-make/$$*
1045
- $$(Q ) touch $$@ .start_time
1046
- $$(Q )$$(CFG_PYTHON ) $(S ) src/etc/maketest.py $$(dir $$< ) \
1047
- $$(MAKE) \
1048
- $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
1049
- $(3)/test/run-make/$$* \
1050
- '$$(CC_$(3))' \
1051
- "$$(CFG_GCCISH_CFLAGS_$(3))" \
1052
- $$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) \
1053
- "$$(TESTNAME)" \
1054
- $$(LD_LIBRARY_PATH_ENV_NAME$(1)_T_$(2)_H_$(3)) \
1055
- "$$(LD_LIBRARY_PATH_ENV_HOSTDIR$(1)_T_$(2)_H_$(3))" \
1056
- "$$(LD_LIBRARY_PATH_ENV_TARGETDIR$(1)_T_$(2)_H_$(3))" \
1057
- $(1) \
1058
- $$(S) \
1059
- $(3) \
1060
- "$$(LLVM_LIBDIR_RUSTFLAGS_$(3))" \
1061
- "$$(LLVM_ALL_COMPONENTS_$(3))" \
1062
- "$$(LLVM_CXXFLAGS_$(3))" \
1063
- '$$(CXX_$(3))'
1064
-
1065
- else
1066
- # FIXME #11094 - The above rule doesn't work right for multiple targets
1067
- check-stage$(1 ) -T-$(2 ) -H-$(3 ) -rmake-exec :
1068
- @true
1069
-
1070
- endif
1071
-
1072
-
1073
- endef
1074
-
1075
- $(foreach stage,$(STAGES), \
1076
- $(foreach target,$(CFG_TARGET), \
1077
- $(foreach host,$(CFG_HOST), \
1078
- $(eval $(call DEF_RMAKE_FOR_T_H,$(stage),$(target),$(host))))))
0 commit comments