$$(HLIB$(1)_H_$(3))/libcore.rlib
TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
$$(TLIB$(1)_T_$(2)_H_$(3))/libcore.rlib
+
HSTDLIB_DEFAULT$(1)_H_$(3) = \
$$(HLIB$(1)_H_$(3))/libstd.rlib
TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
$$(TLIB$(1)_T_$(2)_H_$(3))/libstd.rlib
+
+ HLIBRUSTC_DEFAULT$(1)_H_$(3) = \
+ $$(HLIB$(1)_H_$(3))/librustc.rlib
+ TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3) = \
+ $$(TLIB$(1)_T_$(2)_H_$(3))/librustc.rlib
else
HCORELIB_DEFAULT$(1)_H_$(3) = \
$$(HLIB$(1)_H_$(3))/$(CFG_CORELIB)
TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_CORELIB)
+
HSTDLIB_DEFAULT$(1)_H_$(3) = \
$$(HLIB$(1)_H_$(3))/$(CFG_STDLIB)
TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3) = \
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB)
+
+ HLIBRUSTC_DEFAULT$(1)_H_$(3) = \
+ $$(HLIB$(1)_H_$(3))/$(CFG_LIBRUSTC)
+ TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3) = \
+ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC)
endif
# Preqrequisites for using the stageN compiler
$$(HLIB$(1)_H_$(3))/$$(CFG_RUSTLLVM) \
$$(HCORELIB_DEFAULT$(1)_H_$(3)) \
$$(HSTDLIB_DEFAULT$(1)_H_$(3)) \
+ $$(HLIBRUSTC_DEFAULT$(1)_H_$(3)) \
$$(MKFILE_DEPS)
# Prerequisites for using the stageN compiler to build target artifacts
SREQ$(1)_T_$(2)_H_$(3) = \
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_CORELIB) \
- $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_STDLIB)
+ $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_STDLIB) \
+ $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC)
ifeq ($(1),0)
# Don't run the the stage0 compiler under valgrind - that ship has sailed
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@
+$$(HLIB$(2)_H_$(4))/librustc.rlib: \
+ $$(TLIB$(1)_T_$(4)_H_$(3))/librustc.rlib \
+ $$(HLIB$(2)_H_$(4))/libcore.rlib \
+ $$(HLIB$(2)_H_$(4))/libstd.rlib \
+ $$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME)
+ @$$(call E, cp: $$@)
+ $$(Q)cp $$< $$@
+
$$(HLIB$(2)_H_$(4))/$$(CFG_RUSTLLVM): \
$$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_RUSTLLVM)
@$$(call E, cp: $$@)
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CORELIB_GLOB))
$$(Q)$$(call INSTALL_LIB, \
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(STDLIB_GLOB))
+ $$(Q)$$(call INSTALL_LIB, \
+ $$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTC_GLOB))
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),intrinsics.bc)
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),libmorestack.a)
endef
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUNTIME))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(CORELIB_GLOB))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(STDLIB_GLOB))
+ $(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTC_GLOB))
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUSTLLVM))
$(Q)$(call INSTALL,$(S)/man, \
$(PREFIX_ROOT)/share/man/man1,rustc.1)
$(HBIN0_H_$(CFG_HOST_TRIPLE))/rustc$(X)
$(Q)touch $@
+$(HLIB0_H_$(CFG_HOST_TRIPLE))/$(CFG_LIBRUSTC): \
+ $(HBIN0_H_$(CFG_HOST_TRIPLE))/rustc$(X)
+ $(Q)touch $@
+
$(HLIB0_H_$(CFG_HOST_TRIPLE))/$(CFG_RUSTLLVM): \
$(HBIN0_H_$(CFG_HOST_TRIPLE))/rustc$(X)
$(Q)touch $@
@$$(call E, cp: $$@)
$$(Q)cp $$(TLIB$(2)_T_$(1)_H_$(3))/$$(STDLIB_GLOB) $$@
+$$(HLIB0_H_$(1))/$(CFG_LIBRUSTC): \
+ $$(TLIB$(2)_T_$(1)_H_$(3))/$$(CFG_LIBRUSTC)
+ @$$(call E, cp: $$@)
+ $$(Q)cp $$(TLIB$(2)_T_$(1)_H_$(3))/$$(LIBRUSTC_GLOB) $$@
+
$$(HLIB0_H_$(1))/$(CFG_RUSTLLVM): \
$$(TLIB$(2)_T_$(1)_H_$(3))/$$(CFG_RUSTLLVM)
@$$(call E, cp: $$@)
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM) \
- $$(TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3))
+ $$(TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3)) \
+ $$(TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3)) \
+ $$(TLIBRUSTC_DEFAULT$(1)_T_$(2)_H_$(3))
@$$(call E, compile_and_link: $$@)
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$<
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM) \
+ $$(TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3)) \
$$(TSTDLIB_DEFAULT$(1)_T_$(2)_H_$(3))
@$$(call E, compile_and_link: $$@)
$$(STAGE$(1)_T_$(2)_H_$(3)) --lib -o $$@ $$< && touch $$@
"linux": ["bin/rustc",
"lib/libcore-*.so",
"lib/libstd-*.so",
+ "lib/librustc-*.so",
"lib/librustrt.so",
"lib/librustllvm.so"],
"macos": ["bin/rustc",
"lib/libcore-*.dylib",
"lib/libstd-*.dylib",
+ "lib/librustc-*.dylib",
"lib/librustrt.dylib",
"lib/librustllvm.dylib"],
"winnt": ["bin/rustc.exe",
"lib/core-*.dll",
"lib/std-*.dll",
+ "lib/rustc-*.dll",
"lib/rustrt.dll",
"lib/rustllvm.dll"]
}