@@ -130,44 +130,6 @@ else
130
130
CFG_VALGRIND_COMPILE :=
131
131
endif
132
132
133
- define LIBREQ
134
-
135
- CFG_RUNTIME_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustrt)
136
- CFG_RUSTLLVM_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustllvm)
137
- CFG_CORELIB_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,core)
138
- CFG_STDLIB_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,std)
139
- CFG_LIBRUSTC_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustc)
140
- CFG_LIBSYNTAX_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,syntax)
141
- CFG_LIBFUZZER_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,fuzzer)
142
- CFG_LIBRUSTPKG_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustpkg)
143
- CFG_LIBRUSTDOC_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustdoc)
144
- CFG_LIBRUSTI_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rusti)
145
- CFG_LIBRUST_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rust)
146
-
147
- STDLIB_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,std)
148
- CORELIB_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,core)
149
- LIBRUSTC_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rustc)
150
- LIBSYNTAX_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,syntax)
151
- LIBFUZZER_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,fuzzer)
152
- LIBRUSTPKG_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rustpkg)
153
- LIBRUSTDOC_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rustdoc)
154
- LIBRUSTI_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rusti)
155
- LIBRUST_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rust)
156
- STDLIB_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,std)
157
- CORELIB_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,core)
158
- LIBRUSTC_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rustc)
159
- LIBSYNTAX_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,syntax)
160
- LIBFUZZER_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,fuzzer)
161
- LIBRUSTPKG_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rustpkg)
162
- LIBRUSTDOC_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rustdoc)
163
- LIBRUSTI_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rusti)
164
- LIBRUST_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rust)
165
-
166
- endef
167
-
168
- $(foreach target,$(CFG_TARGET_TRIPLES), \
169
- $(eval $(call LIBREQ,$(target))))
170
-
171
133
# version-string calculation
172
134
CFG_GIT_DIR := $(CFG_SRC_DIR ) .git
173
135
CFG_RELEASE = 0.6
@@ -197,16 +159,21 @@ endif
197
159
# Target-and-rule "utility variables"
198
160
# #####################################################################
199
161
200
- # ifdef VERBOSE
162
+ ifdef VERBOSE
201
163
Q :=
202
164
E =
203
- # else
204
- # Q := @
205
- # E = echo $(1)
206
- # endif
165
+ else
166
+ Q := @
167
+ E = echo $(1 )
168
+ endif
207
169
208
170
S := $(CFG_SRC_DIR )
209
- X := $(CFG_EXE_SUFFIX )
171
+
172
+ define DEF_X
173
+ X_$(1 ) := $(CFG_EXE_SUFFIX_$(1 ) )
174
+ endef
175
+ $(foreach target,$(CFG_TARGET_TRIPLES),\
176
+ $(eval $(call DEF_X,$(target))))
210
177
211
178
# Look in doc and src dirs.
212
179
VPATH := $(S ) doc $(S ) src
@@ -222,6 +189,49 @@ GENERATED :=
222
189
% :: s.%
223
190
% :: SCCS/s.%
224
191
192
+
193
+ # #####################################################################
194
+ # Crates
195
+ # #####################################################################
196
+
197
+ define DEF_LIBS
198
+
199
+ CFG_RUNTIME_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustrt)
200
+ CFG_RUSTLLVM_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustllvm)
201
+ CFG_CORELIB_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,core)
202
+ CFG_STDLIB_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,std)
203
+ CFG_LIBRUSTC_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustc)
204
+ CFG_LIBSYNTAX_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,syntax)
205
+ CFG_LIBFUZZER_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,fuzzer)
206
+ CFG_LIBRUSTPKG_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustpkg)
207
+ CFG_LIBRUSTDOC_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rustdoc)
208
+ CFG_LIBRUSTI_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rusti)
209
+ CFG_LIBRUST_$(1 ) :=$(call CFG_LIB_NAME_$(1 ) ,rust)
210
+
211
+ STDLIB_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,std)
212
+ CORELIB_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,core)
213
+ LIBRUSTC_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rustc)
214
+ LIBSYNTAX_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,syntax)
215
+ LIBFUZZER_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,fuzzer)
216
+ LIBRUSTPKG_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rustpkg)
217
+ LIBRUSTDOC_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rustdoc)
218
+ LIBRUSTI_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rusti)
219
+ LIBRUST_GLOB_$(1 ) :=$(call CFG_LIB_GLOB_$(1 ) ,rust)
220
+ STDLIB_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,std)
221
+ CORELIB_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,core)
222
+ LIBRUSTC_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rustc)
223
+ LIBSYNTAX_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,syntax)
224
+ LIBFUZZER_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,fuzzer)
225
+ LIBRUSTPKG_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rustpkg)
226
+ LIBRUSTDOC_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rustdoc)
227
+ LIBRUSTI_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rusti)
228
+ LIBRUST_DSYM_GLOB_$(1 ) :=$(call CFG_LIB_DSYM_GLOB_$(1 ) ,rust)
229
+
230
+ endef
231
+
232
+ $(foreach target,$(CFG_TARGET_TRIPLES),\
233
+ $(eval $(call DEF_LIBS,$(target))))
234
+
225
235
# #####################################################################
226
236
# Core library variables
227
237
# #####################################################################
@@ -267,8 +277,8 @@ CFG_LLVM_BUILD_DIR_$(1):=$$(CFG_LLVM_BUILD_DIR_$(subst -,_,$(1)))
267
277
CFG_LLVM_INST_DIR_$(1 ) :=$$(CFG_LLVM_INST_DIR_$(subst -,_,$(1 ) ) )
268
278
269
279
# Any rules that depend on LLVM should depend on LLVM_CONFIG
270
- LLVM_CONFIG_$(1 ) :=$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llvm-config$$(X )
271
- LLVM_MC_$(1 ) :=$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llvm-mc$$(X )
280
+ LLVM_CONFIG_$(1 ) :=$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llvm-config$$(X_ $( 1 ) )
281
+ LLVM_MC_$(1 ) :=$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llvm-mc$$(X_ $( 1 ) )
272
282
LLVM_VERSION_$(1 ) =$$(shell "$$(LLVM_CONFIG_$(1 ) ) " --version)
273
283
LLVM_BINDIR_$(1 ) =$$(shell "$$(LLVM_CONFIG_$(1 ) ) " --bindir)
274
284
LLVM_INCDIR_$(1 ) =$$(shell "$$(LLVM_CONFIG_$(1 ) ) " --includedir)
@@ -280,8 +290,8 @@ LLVM_LDFLAGS_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --ldflags)
280
290
LLVM_CXXFLAGS_$(1 ) =$$(subst -I, -iquote , $$(shell "$$(LLVM_CONFIG_$(1 ) ) " --cxxflags) )
281
291
LLVM_HOST_TRIPLE_$(1 ) =$$(shell "$$(LLVM_CONFIG_$(1 ) ) " --host-target)
282
292
283
- LLVM_AS_$(1 ) =$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llvm-as$$(X )
284
- LLC_$(1 ) =$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llc$$(X )
293
+ LLVM_AS_$(1 ) =$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llvm-as$$(X_ $( 1 ) )
294
+ LLC_$(1 ) =$$(CFG_LLVM_INST_DIR_$(1 ) ) /bin/llc$$(X_ $( 1 ) )
285
295
286
296
endef
287
297
@@ -357,12 +367,12 @@ else
357
367
HLIBRUSTC_DEFAULT$(1)_H_$(3) = \
358
368
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_LIBRUSTC_$(3 ) )
359
369
TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3) = \
360
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTC_$(3 ) )
370
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTC_$(2 ) )
361
371
endif
362
372
363
373
# Preqrequisites for using the stageN compiler
364
374
HSREQ$(1 ) _H_$(3 ) = \
365
- $$(HBIN$(1 ) _H_$(3 ) ) /rustc$$(X ) \
375
+ $$(HBIN$(1 ) _H_$(3 ) ) /rustc$$(X_ $( 3 ) ) \
366
376
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_RUNTIME_$(3 ) ) \
367
377
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_RUSTLLVM_$(3 ) ) \
368
378
$$(HCORELIB_DEFAULT$(1 ) _H_$(3 ) ) \
@@ -386,25 +396,25 @@ SREQ$(1)_T_$(2)_H_$(3) = \
386
396
# Prerequisites for a working stageN compiler and libraries, for a specific target
387
397
CSREQ$(1 ) _T_$(2 ) _H_$(3 ) = \
388
398
$$(TSREQ$(1 ) _T_$(2 ) _H_$(3 ) ) \
389
- $$(HBIN$(1 ) _H_$(3 ) ) /fuzzer$$(X ) \
390
- $$(HBIN$(1 ) _H_$(3 ) ) /rustpkg$$(X ) \
391
- $$(HBIN$(1 ) _H_$(3 ) ) /rustdoc$$(X ) \
392
- $$(HBIN$(1 ) _H_$(3 ) ) /rusti$$(X ) \
393
- $$(HBIN$(1 ) _H_$(3 ) ) /rust$$(X ) \
399
+ $$(HBIN$(1 ) _H_$(3 ) ) /fuzzer$$(X_ $( 3 ) ) \
400
+ $$(HBIN$(1 ) _H_$(3 ) ) /rustpkg$$(X_ $( 3 ) ) \
401
+ $$(HBIN$(1 ) _H_$(3 ) ) /rustdoc$$(X_ $( 3 ) ) \
402
+ $$(HBIN$(1 ) _H_$(3 ) ) /rusti$$(X_ $( 3 ) ) \
403
+ $$(HBIN$(1 ) _H_$(3 ) ) /rust$$(X_ $( 3 ) ) \
394
404
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_LIBFUZZER_$(3 ) ) \
395
405
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_LIBRUSTPKG_$(3 ) ) \
396
406
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_LIBRUSTDOC_$(3 ) ) \
397
407
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_LIBRUSTI_$(3 ) ) \
398
408
$$(HLIB$(1 ) _H_$(3 ) ) /$(CFG_LIBRUST_$(3 ) ) \
399
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_CORELIB_$(3 ) ) \
400
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_STDLIB_$(3 ) ) \
401
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBSYNTAX_$(3 ) ) \
402
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTC_$(3 ) ) \
403
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBFUZZER_$(3 ) ) \
404
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTPKG_$(3 ) ) \
405
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTDOC_$(3 ) ) \
406
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTI_$(3 ) ) \
407
- $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUST_$(3 ) )
409
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_CORELIB_$(2 ) ) \
410
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_STDLIB_$(2 ) ) \
411
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBSYNTAX_$(2 ) ) \
412
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTC_$(2 ) ) \
413
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBFUZZER_$(2 ) ) \
414
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTPKG_$(2 ) ) \
415
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTDOC_$(2 ) ) \
416
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUSTI_$(2 ) ) \
417
+ $$(TLIB$(1 ) _T_$(2 ) _H_$(3 ) ) /$(CFG_LIBRUST_$(2 ) )
408
418
409
419
ifeq ($(1 ) ,0)
410
420
# Don't run the the stage0 compiler under valgrind - that ship has sailed
@@ -428,18 +438,20 @@ endif
428
438
endif
429
439
430
440
STAGE$(1 ) _T_$(2 ) _H_$(3 ) := \
431
- $$(Q )$$(call CFG_RUN_TARG ,$(1 ) , \
441
+ $$(Q )$$(call CFG_RUN_TARG_ $( 3 ) ,$(1 ) , \
432
442
$$(CFG_VALGRIND_COMPILE$(1 ) ) \
433
- $$(HBIN$(1 ) _H_$(3 ) ) /rustc$$(X ) \
443
+ $$(HBIN$(1 ) _H_$(3 ) ) /rustc$$(X_ $( 3 ) ) \
434
444
--cfg $$(CFGFLAG$(1 ) _T_$(2 ) _H_$(3 ) ) \
435
- $$(CFG_RUSTC_FLAGS ) $$(EXTRAFLAGS_STAGE$(1 ) ) --target=$(2 ) )
445
+ $$(CFG_RUSTC_FLAGS ) $$(EXTRAFLAGS_STAGE$(1 ) ) --target=$(2 ) ) \
446
+ $$(RUSTC_FLAGS_$(2 ) )
436
447
437
448
PERF_STAGE$(1 ) _T_$(2 ) _H_$(3 ) := \
438
- $$(Q )$$(call CFG_RUN_TARG ,$(1 ) , \
449
+ $$(Q )$$(call CFG_RUN_TARG_ $( 3 ) ,$(1 ) , \
439
450
$$(CFG_PERF_TOOL ) \
440
- $$(HBIN$(1 ) _H_$(3 ) ) /rustc$$(X ) \
451
+ $$(HBIN$(1 ) _H_$(3 ) ) /rustc$$(X_ $( 3 ) ) \
441
452
--cfg $$(CFGFLAG$(1 ) _T_$(2 ) _H_$(3 ) ) \
442
- $$(CFG_RUSTC_FLAGS ) $$(EXTRAFLAGS_STAGE$(1 ) ) --target=$(2 ) )
453
+ $$(CFG_RUSTC_FLAGS ) $$(EXTRAFLAGS_STAGE$(1 ) ) --target=$(2 ) ) \
454
+ $$(RUSTC_FLAGS_$(2 ) )
443
455
444
456
endef
445
457
0 commit comments