Skip to content

Commit 4f826b3

Browse files
committed
Update build machinery to build and install librustc everywhere (including snapshots).
1 parent 0ca50a2 commit 4f826b3

File tree

6 files changed

+42
-2
lines changed

6 files changed

+42
-2
lines changed

Makefile.in

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,19 +289,31 @@ ifdef CFG_DISABLE_SHAREDSTD
289289
$$(HLIB$(1)_H_$(3))/libcore.rlib
290290
TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
291291
$$(TLIB$(1)_T_$(2)_H_$(3))/libcore.rlib
292+
292293
HSTDLIB_DEFAULT$(1)_H_$(3) = \
293294
$$(HLIB$(1)_H_$(3))/libstd.rlib
294295
TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
295296
$$(TLIB$(1)_T_$(2)_H_$(3))/libstd.rlib
297+
298+
HLIBRUSTC_DEFAULT$(1)_H_$(3) = \
299+
$$(HLIB$(1)_H_$(3))/librustc.rlib
300+
TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3) = \
301+
$$(TLIB$(1)_T_$(2)_H_$(3))/librustc.rlib
296302
else
297303
HCORELIB_DEFAULT$(1)_H_$(3) = \
298304
$$(HLIB$(1)_H_$(3))/$(CFG_CORELIB)
299305
TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
300306
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_CORELIB)
307+
301308
HSTDLIB_DEFAULT$(1)_H_$(3) = \
302309
$$(HLIB$(1)_H_$(3))/$(CFG_STDLIB)
303310
TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
304311
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB)
312+
313+
HLIBRUSTC_DEFAULT$(1)_H_$(3) = \
314+
$$(HLIB$(1)_H_$(3))/$(CFG_LIBRUSTC)
315+
TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3) = \
316+
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC)
305317
endif
306318

307319
# Preqrequisites for using the stageN compiler
@@ -311,6 +323,7 @@ HSREQ$(1)_H_$(3) = \
311323
$$(HLIB$(1)_H_$(3))/$$(CFG_RUSTLLVM) \
312324
$$(HCORELIB_DEFAULT$(1)_H_$(3)) \
313325
$$(HSTDLIB_DEFAULT$(1)_H_$(3)) \
326+
$$(HLIBRUSTC_DEFAULT$(1)_H_$(3)) \
314327
$$(MKFILE_DEPS)
315328

316329
# Prerequisites for using the stageN compiler to build target artifacts
@@ -324,7 +337,8 @@ TSREQ$(1)_T_$(2)_H_$(3) = \
324337
SREQ$(1)_T_$(2)_H_$(3) = \
325338
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
326339
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_CORELIB) \
327-
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_STDLIB)
340+
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_STDLIB) \
341+
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC)
328342

329343
ifeq ($(1),0)
330344
# Don't run the the stage0 compiler under valgrind - that ship has sailed

mk/host.mk

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ $$(HLIB$(2)_H_$(4))/libstd.rlib: \
6868
@$$(call E, cp: $$@)
6969
$$(Q)cp $$< $$@
7070

71+
$$(HLIB$(2)_H_$(4))/librustc.rlib: \
72+
$$(TLIB$(1)_T_$(4)_H_$(3))/librustc.rlib \
73+
$$(HLIB$(2)_H_$(4))/libcore.rlib \
74+
$$(HLIB$(2)_H_$(4))/libstd.rlib \
75+
$$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME)
76+
@$$(call E, cp: $$@)
77+
$$(Q)cp $$< $$@
78+
7179
$$(HLIB$(2)_H_$(4))/$$(CFG_RUSTLLVM): \
7280
$$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_RUSTLLVM)
7381
@$$(call E, cp: $$@)

mk/install.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ install-target-$(1)-host-$(2): $$(SREQ$$(ISTAGE)_T_$(1)_H_$(2))
4040
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CORELIB_GLOB))
4141
$$(Q)$$(call INSTALL_LIB, \
4242
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(STDLIB_GLOB))
43+
$$(Q)$$(call INSTALL_LIB, \
44+
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTC_GLOB))
4345
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),intrinsics.bc)
4446
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),libmorestack.a)
4547
endef
@@ -69,6 +71,7 @@ install-host: $(SREQ$(ISTAGE)_T_$(CFG_HOST_TRIPLE)_H_$(CFG_HOST_TRIPLE))
6971
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUNTIME))
7072
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(CORELIB_GLOB))
7173
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(STDLIB_GLOB))
74+
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTC_GLOB))
7275
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUSTLLVM))
7376
$(Q)$(call INSTALL,$(S)/man, \
7477
$(PREFIX_ROOT)/share/man/man1,rustc.1)

mk/stage0.mk

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ $(HLIB0_H_$(CFG_HOST_TRIPLE))/$(CFG_STDLIB): \
2121
$(HBIN0_H_$(CFG_HOST_TRIPLE))/rustc$(X)
2222
$(Q)touch $@
2323

24+
$(HLIB0_H_$(CFG_HOST_TRIPLE))/$(CFG_LIBRUSTC): \
25+
$(HBIN0_H_$(CFG_HOST_TRIPLE))/rustc$(X)
26+
$(Q)touch $@
27+
2428
$(HLIB0_H_$(CFG_HOST_TRIPLE))/$(CFG_RUSTLLVM): \
2529
$(HBIN0_H_$(CFG_HOST_TRIPLE))/rustc$(X)
2630
$(Q)touch $@
@@ -52,6 +56,11 @@ $$(HLIB0_H_$(1))/$(CFG_STDLIB): \
5256
@$$(call E, cp: $$@)
5357
$$(Q)cp $$(TLIB$(2)_T_$(1)_H_$(3))/$$(STDLIB_GLOB) $$@
5458

59+
$$(HLIB0_H_$(1))/$(CFG_LIBRUSTC): \
60+
$$(TLIB$(2)_T_$(1)_H_$(3))/$$(CFG_LIBRUSTC)
61+
@$$(call E, cp: $$@)
62+
$$(Q)cp $$(TLIB$(2)_T_$(1)_H_$(3))/$$(LIBRUSTC_GLOB) $$@
63+
5564
$$(HLIB0_H_$(1))/$(CFG_RUSTLLVM): \
5665
$$(TLIB$(2)_T_$(1)_H_$(3))/$$(CFG_RUSTLLVM)
5766
@$$(call E, cp: $$@)

mk/target.mk

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,17 @@ $$(TBIN$(1)_T_$(2)_H_$(3))/rustc$$(X): \
4949
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
5050
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
5151
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM) \
52-
$$(TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3))
52+
$$(TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3)) \
53+
$$(TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3)) \
54+
$$(TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3))
5355
@$$(call E, compile_and_link: $$@)
5456
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$<
5557

5658
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC): \
5759
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
5860
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
5961
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM) \
62+
$$(TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3)) \
6063
$$(TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3))
6164
@$$(call E, compile_and_link: $$@)
6265
$$(STAGE$(1)_T_$(2)_H_$(3)) --lib -o $$@ $$< && touch $$@

src/etc/snapshot.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,19 @@ def scrub(b):
1919
"linux": ["bin/rustc",
2020
"lib/libcore-*.so",
2121
"lib/libstd-*.so",
22+
"lib/librustc-*.so",
2223
"lib/librustrt.so",
2324
"lib/librustllvm.so"],
2425
"macos": ["bin/rustc",
2526
"lib/libcore-*.dylib",
2627
"lib/libstd-*.dylib",
28+
"lib/librustc-*.dylib",
2729
"lib/librustrt.dylib",
2830
"lib/librustllvm.dylib"],
2931
"winnt": ["bin/rustc.exe",
3032
"lib/core-*.dll",
3133
"lib/std-*.dll",
34+
"lib/rustc-*.dll",
3235
"lib/rustrt.dll",
3336
"lib/rustllvm.dll"]
3437
}

0 commit comments

Comments
 (0)