@@ -106,195 +106,203 @@ tidy:
106
106
define TEST_STAGEN
107
107
108
108
# All the per-stage build rules you might want to call from the
109
- # command line
109
+ # command line.
110
+ #
111
+ # $(1) is the stage number
112
+ # $(2) is the target triple
110
113
111
- check-stage$(1 ) : tidy \
112
- check-stage$(1 ) -rustc \
113
- check-stage$(1 ) -std \
114
- check-stage$(1 ) -rpass \
115
- check-stage$(1 ) -rfail \
116
- check-stage$(1 ) -cfail \
117
- check-stage$(1 ) -bench \
118
- check-stage$(1 ) -pretty
114
+ check-stage$(1 ) - $( 2 ) : tidy \
115
+ check-stage$(1 ) -$( 2 ) - rustc \
116
+ check-stage$(1 ) -$( 2 ) - std \
117
+ check-stage$(1 ) -$( 2 ) - rpass \
118
+ check-stage$(1 ) -$( 2 ) - rfail \
119
+ check-stage$(1 ) -$( 2 ) - cfail \
120
+ check-stage$(1 ) -$( 2 ) - bench \
121
+ check-stage$(1 ) -$( 2 ) - pretty
119
122
120
- check-stage$(1 ) -std: check-stage$(1 ) -std-dummy
123
+ check-stage$(1 ) -$( 2 ) - std: check-stage$(1 ) - $( 2 ) -std-dummy
121
124
122
- check-stage$(1 ) -rustc: check-stage$(1 ) -rustc-dummy
125
+ check-stage$(1 ) -$( 2 ) - rustc: check-stage$(1 ) - $( 2 ) -rustc-dummy
123
126
124
- check-stage$(1 ) -cfail: check-stage$(1 ) -cfail-dummy
127
+ check-stage$(1 ) -$( 2 ) - cfail: check-stage$(1 ) - $( 2 ) -cfail-dummy
125
128
126
- check-stage$(1 ) -rfail: check-stage$(1 ) -rfail-dummy
129
+ check-stage$(1 ) -$( 2 ) - rfail: check-stage$(1 ) - $( 2 ) -rfail-dummy
127
130
128
- check-stage$(1 ) -rpass: check-stage$(1 ) -rpass-dummy
131
+ check-stage$(1 ) -$( 2 ) - rpass: check-stage$(1 ) - $( 2 ) -rpass-dummy
129
132
130
- check-stage$(1 ) -bench: check-stage$(1 ) -bench-dummy
133
+ check-stage$(1 ) -$( 2 ) - bench: check-stage$(1 ) - $( 2 ) -bench-dummy
131
134
132
- check-stage$(1 ) -perf: check-stage$(1 ) -perf-dummy
135
+ check-stage$(1 ) -$( 2 ) - perf: check-stage$(1 ) - $( 2 ) -perf-dummy
133
136
134
- check-stage$(1 ) -pretty: check-stage$(1 ) -pretty-rpass \
135
- check-stage$(1 ) -pretty-rfail \
136
- check-stage$(1 ) -pretty-bench \
137
- check-stage$(1 ) -pretty-pretty
137
+ check-stage$(1 ) -$( 2 ) - pretty: check-stage$(1 ) - $( 2 ) -pretty-rpass \
138
+ check-stage$(1 ) -$( 2 ) - pretty-rfail \
139
+ check-stage$(1 ) -$( 2 ) - pretty-bench \
140
+ check-stage$(1 ) -$( 2 ) - pretty-pretty
138
141
139
- check-stage$(1 ) -pretty-rpass: check-stage$(1 ) -pretty-rpass-dummy
142
+ check-stage$(1 ) -$( 2 ) - pretty-rpass: check-stage$(1 ) - $( 2 ) -pretty-rpass-dummy
140
143
141
- check-stage$(1 ) -pretty-rfail: check-stage$(1 ) -pretty-rfail-dummy
144
+ check-stage$(1 ) -$( 2 ) - pretty-rfail: check-stage$(1 ) - $( 2 ) -pretty-rfail-dummy
142
145
143
- check-stage$(1 ) -pretty-bench: check-stage$(1 ) -pretty-bench-dummy
146
+ check-stage$(1 ) -$( 2 ) - pretty-bench: check-stage$(1 ) - $( 2 ) -pretty-bench-dummy
144
147
145
- check-stage$(1 ) -pretty-pretty: check-stage$(1 ) -pretty-pretty-dummy
148
+ check-stage$(1 ) -$( 2 ) - pretty-pretty: check-stage$(1 ) - $( 2 ) -pretty-pretty-dummy
146
149
147
150
148
151
# Rules for the standard library test runner
149
152
150
- test/stdtest.stage$(1 )$$(X ) : $$(STDTEST_CRATE ) $$(STDTEST_INPUTS ) \
153
+ test/stdtest.stage$(1 ) - $( 2 ) $$(X ) : $$(STDTEST_CRATE ) $$(STDTEST_INPUTS ) \
151
154
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) )
152
155
@$$(call E, compile_and_link: $$@ )
153
- $$(STAGE$(1 ) _$$( CFG_HOST_TRIPLE ) ) -o $$@ $$< --test
156
+ $$(STAGE$(1 ) _$( 2 ) ) -o $$@ $$< --test
154
157
155
- check-stage$(1 ) -std-dummy: test/stdtest.stage$(1 )$$(X )
158
+ check-stage$(1 ) -$( 2 ) - std-dummy: test/stdtest.stage$(1 ) - $( 2 )$$(X )
156
159
@$$(call E, run: $$< )
157
160
$$(Q )$$(call CFG_RUN_TEST,$$< ) $$(TESTARGS )
158
161
159
162
160
163
# Rules for the rustc test runner
161
164
162
- test/rustctest.stage$(1 )$$(X ) : \
165
+ test/rustctest.stage$(1 ) - $( 2 ) $$(X ) : \
163
166
$$(COMPILER_CRATE ) $$(COMPILER_INPUTS ) \
164
167
$$(TARGET_SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
165
- $$(HOST_LIB$(1 ) ) /$$(CFG_RUSTLLVM ) \
166
- $$(TARGET_LIB$(1 )$$( CFG_HOST_TRIPLE ) ) /$$(CFG_RUSTLLVM ) \
167
- $$(TARGET_LIB$(1 )$$( CFG_HOST_TRIPLE ) ) /$$(CFG_STDLIB )
168
+ $$(HOST_LIB$(1 ) ) /$$(CFG_RUSTLLVM ) \
169
+ $$(TARGET_LIB$(1 )$( 2 ) ) /$$(CFG_RUSTLLVM ) \
170
+ $$(TARGET_LIB$(1 )$( 2 ) ) /$$(CFG_STDLIB )
168
171
@$$(call E, compile_and_link: $$@ )
169
- $$(STAGE$(1 ) _$$( CFG_HOST_TRIPLE ) ) -o $$@ $$< --test
172
+ $$(STAGE$(1 ) _$( 2 ) ) -o $$@ $$< --test
170
173
171
- check-stage$(1 ) -rustc-dummy: test/rustctest.stage$(1 )$$(X )
174
+ check-stage$(1 ) -$( 2 ) - rustc-dummy: test/rustctest.stage$(1 ) - $( 2 )$$(X )
172
175
@$$(call E, run: $$< )
173
176
$$(Q )$$(call CFG_RUN_TEST,$$< ) \
174
177
$$(TESTARGS )
175
178
176
179
177
180
# Rules for the cfail/rfail/rpass/bench/perf test runner
178
181
179
- CTEST_COMMON_ARGS$(1 ) := --compile-lib-path $$(HOST_LIB$(1 ) ) \
182
+ CTEST_COMMON_ARGS$(1 ) - $( 2 ) := --compile-lib-path $$(HOST_LIB$(1 ) ) \
180
183
--run-lib-path $$(TARGET_LIB$(1 )$$(CFG_HOST_TRIPLE ) ) \
181
184
--rustc-path $$(HOST_BIN$(1 ) ) /rustc$$(X ) \
182
- --stage-id stage$(1 ) \
183
- --rustcflags "$$(CFG_RUSTC_FLAGS ) " \
185
+ --stage-id stage$(1 ) - $( 2 ) \
186
+ --rustcflags "$$(CFG_RUSTC_FLAGS ) --target= $( 2 ) " \
184
187
$$(CTEST_TESTARGS ) \
185
188
186
- CFAIL_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
189
+ CFAIL_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
187
190
--src-base $$(S ) src/test/compile-fail/ \
188
191
--build-base test/compile-fail/ \
189
192
--mode compile-fail \
190
193
191
- RFAIL_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
194
+ RFAIL_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
192
195
--src-base $$(S ) src/test/run-fail/ \
193
196
--build-base test/run-fail/ \
194
197
--mode run-fail \
195
198
$$(CTEST_RUNTOOL ) \
196
199
197
- RPASS_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
200
+ RPASS_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
198
201
--src-base $$(S ) src/test/run-pass/ \
199
202
--build-base test/run-pass/ \
200
203
--mode run-pass \
201
204
$$(CTEST_RUNTOOL ) \
202
205
203
- BENCH_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
206
+ BENCH_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
204
207
--src-base $$(S ) src/test/bench/ \
205
208
--build-base test/bench/ \
206
209
--mode run-pass \
207
210
$$(CTEST_RUNTOOL ) \
208
211
209
- PERF_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
212
+ PERF_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
210
213
--src-base $$(S ) src/test/bench/ \
211
214
--build-base test/perf/ \
212
215
--mode run-pass \
213
216
$$(CTEST_PERF_RUNTOOL ) \
214
217
215
- PRETTY_RPASS_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
218
+ PRETTY_RPASS_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
216
219
--src-base $$(S ) src/test/run-pass/ \
217
220
--build-base test/run-pass/ \
218
221
--mode pretty \
219
222
220
- PRETTY_RFAIL_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
223
+ PRETTY_RFAIL_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
221
224
--src-base $$(S ) src/test/run-fail/ \
222
225
--build-base test/run-fail/ \
223
226
--mode pretty \
224
227
225
- PRETTY_BENCH_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
228
+ PRETTY_BENCH_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
226
229
--src-base $$(S ) src/test/bench/ \
227
230
--build-base test/bench/ \
228
231
--mode pretty \
229
232
230
- PRETTY_PRETTY_ARGS$(1 ) := $$(CTEST_COMMON_ARGS$(1 ) ) \
233
+ PRETTY_PRETTY_ARGS$(1 ) - $( 2 ) := $$(CTEST_COMMON_ARGS$(1 ) - $( 2 ) ) \
231
234
--src-base $$(S ) src/test/pretty/ \
232
235
--build-base test/pretty/ \
233
236
--mode pretty \
234
237
235
- check-stage$(1 ) -cfail-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
238
+ check-stage$(1 ) -$( 2 ) - cfail-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
236
239
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
237
240
$$(CFAIL_TESTS )
238
241
@$$(call E, run: $$< )
239
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(CFAIL_ARGS$(1 ) )
242
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(CFAIL_ARGS$(1 ) - $( 2 ) )
240
243
241
- check-stage$(1 ) -rfail-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
244
+ check-stage$(1 ) -$( 2 ) - rfail-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
242
245
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
243
246
$$(RFAIL_TESTS )
244
247
@$$(call E, run: $$< )
245
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(RFAIL_ARGS$(1 ) )
248
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(RFAIL_ARGS$(1 ) - $( 2 ) )
246
249
247
- check-stage$(1 ) -rpass-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
250
+ check-stage$(1 ) -$( 2 ) - rpass-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
248
251
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
249
252
$$(RPASS_TESTS )
250
253
@$$(call E, run: $$< )
251
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(RPASS_ARGS$(1 ) )
254
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(RPASS_ARGS$(1 ) - $( 2 ) )
252
255
253
- check-stage$(1 ) -bench-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
256
+ check-stage$(1 ) -$( 2 ) - bench-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
254
257
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
255
258
$$(BENCH_TESTS )
256
259
@$$(call E, run: $$< )
257
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(BENCH_ARGS$(1 ) )
260
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(BENCH_ARGS$(1 ) - $( 2 ) )
258
261
259
- check-stage$(1 ) -perf-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
262
+ check-stage$(1 ) -$( 2 ) - perf-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
260
263
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
261
264
$$(BENCH_TESTS )
262
265
@$$(call E, perf: $$< )
263
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PERF_ARGS$(1 ) )
266
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PERF_ARGS$(1 ) - $( 2 ) )
264
267
265
- check-stage$(1 ) -pretty-rpass-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
268
+ check-stage$(1 ) -$( 2 ) - pretty-rpass-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
266
269
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
267
270
$$(RPASS_TESTS )
268
271
@$$(call E, run: $$< )
269
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_RPASS_ARGS$(1 ) )
272
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_RPASS_ARGS$(1 ) - $( 2 ) )
270
273
271
- check-stage$(1 ) -pretty-rfail-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
274
+ check-stage$(1 ) -$( 2 ) - pretty-rfail-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
272
275
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
273
276
$$(RFAIL_TESTS )
274
277
@$$(call E, run: $$< )
275
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_RFAIL_ARGS$(1 ) )
278
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_RFAIL_ARGS$(1 ) - $( 2 ) )
276
279
277
- check-stage$(1 ) -pretty-bench-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
280
+ check-stage$(1 ) -$( 2 ) - pretty-bench-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
278
281
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
279
282
$$(BENCH_TESTS )
280
283
@$$(call E, run: $$< )
281
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_BENCH_ARGS$(1 ) )
284
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_BENCH_ARGS$(1 ) - $( 2 ) )
282
285
283
- check-stage$(1 ) -pretty-pretty-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
286
+ check-stage$(1 ) -$( 2 ) - pretty-pretty-dummy: $$(HOST_BIN$(1 ) ) /compiletest$$(X ) \
284
287
$$(SREQ$(1 )$$(CFG_HOST_TRIPLE ) ) \
285
288
$$(PRETTY_TESTS )
286
289
@$$(call E, run: $$< )
287
- $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_PRETTY_ARGS$(1 ) )
290
+ $$(Q )$$(call CFG_RUN_CTEST,$(1 ) ,$$< ) $$(PRETTY_PRETTY_ARGS$(1 ) - $( 2 ) )
288
291
289
292
endef
290
293
291
294
# Instantiate the template for stage 0, 1, 2, 3
292
295
293
- $(eval $(call TEST_STAGEN,0))
294
- $(eval $(call TEST_STAGEN,1))
295
- $(eval $(call TEST_STAGEN,2))
296
- $(eval $(call TEST_STAGEN,3))
296
+ $(foreach target,$(CFG_TARGET_TRIPLES), \
297
+ $(eval $(call TEST_STAGEN,0,$(target))) \
298
+ $(eval $(call TEST_STAGEN,1,$(target))) \
299
+ $(eval $(call TEST_STAGEN,2,$(target))) \
300
+ $(eval $(call TEST_STAGEN,3,$(target))))
297
301
302
+ check-stage0 : check-stage0-$(CFG_HOST_TRIPLE )
303
+ check-stage1 : check-stage1-$(CFG_HOST_TRIPLE )
304
+ check-stage2 : check-stage2-$(CFG_HOST_TRIPLE )
305
+ check-stage3 : check-stage3-$(CFG_HOST_TRIPLE )
298
306
299
307
# #####################################################################
300
308
# Fast-test rules
0 commit comments