diff --git a/Makefile.in b/Makefile.in index d8db8b3fcb2..c1249f07ca2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -123,6 +123,7 @@ CFG_LIBSYNTAX :=$(call CFG_LIB_NAME,syntax) CFG_LIBFUZZER :=$(call CFG_LIB_NAME,fuzzer) CFG_LIBCARGO :=$(call CFG_LIB_NAME,cargo) CFG_LIBRUSTDOC :=$(call CFG_LIB_NAME,rustdoc) +CFG_LIBRUSTI :=$(call CFG_LIB_NAME,rusti) STDLIB_GLOB :=$(call CFG_LIB_GLOB,std) CORELIB_GLOB :=$(call CFG_LIB_GLOB,core) @@ -131,6 +132,7 @@ LIBSYNTAX_GLOB :=$(call CFG_LIB_GLOB,syntax) LIBFUZZER_GLOB :=$(call CFG_LIB_GLOB,fuzzer) LIBCARGO_GLOB :=$(call CFG_LIB_GLOB,cargo) LIBRUSTDOC_GLOB :=$(call CFG_LIB_GLOB,rustdoc) +LIBRUSTI_GLOB :=$(call CFG_LIB_GLOB,rusti) STDLIB_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,std) CORELIB_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,core) LIBRUSTC_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,rustc) @@ -138,6 +140,7 @@ LIBSYNTAX_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,syntax) LIBFUZZER_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,fuzzer) LIBCARGO_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,cargo) LIBRUSTDOC_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,rustdoc) +LIBRUSTI_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,rusti) # version-string calculation CFG_GIT_DIR := $(CFG_SRC_DIR).git diff --git a/mk/clean.mk b/mk/clean.mk index 00c00c0e2c1..18bcc39f009 100644 --- a/mk/clean.mk +++ b/mk/clean.mk @@ -57,6 +57,7 @@ clean$(1)_H_$(2): $(Q)rm -f $$(HBIN$(1)_H_$(2))/cargo$(X) $(Q)rm -f $$(HBIN$(1)_H_$(2))/serializer$(X) $(Q)rm -f $$(HBIN$(1)_H_$(2))/rustdoc$(X) + $(Q)rm -f $$(HBIN$(1)_H_$(2))/rusti$(X) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBFUZZER) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBCARGO) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBRUSTDOC) @@ -65,6 +66,7 @@ clean$(1)_H_$(2): $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_STDLIB) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBRUSTC) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBSYNTAX) + $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBRUSTI) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CORELIB_GLOB) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(STDLIB_GLOB) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTC_GLOB) @@ -72,6 +74,7 @@ clean$(1)_H_$(2): $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBFUZZER_GLOB) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBCARGO_GLOB) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTDOC_GLOB) + $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTI_GLOB) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_RUSTLLVM) $(Q)rm -f $$(HLIB$(1)_H_$(2))/libstd.rlib diff --git a/mk/install.mk b/mk/install.mk index 1ba5fe63912..780d2cc6f53 100644 --- a/mk/install.mk +++ b/mk/install.mk @@ -78,11 +78,13 @@ install-host: $(SREQ$(ISTAGE)_T_$(CFG_HOST_TRIPLE)_H_$(CFG_HOST_TRIPLE)) $(Q)$(call INSTALL,$(HB2),$(PHB),rusti$(X)) $(Q)$(call INSTALL,$(HB2),$(PHB),rustdoc$(X)) $(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_LIBRUSTDOC)) + $(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_LIBRUSTI)) $(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_LIB,$(HL),$(PHL),$(LIBSYNTAX_GLOB)) + $(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTI_GLOB)) $(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUSTLLVM)) $(Q)$(call INSTALL,$(S)/man, \ $(PREFIX_ROOT)/share/man/man1,rustc.1) @@ -102,12 +104,14 @@ uninstall: $(Q)rm -f $(PHL)/$(CFG_FUZZER) $(Q)rm -f $(PHL)/$(CFG_CARGO) $(Q)rm -f $(PHL)/$(CFG_RUSTDOC) + $(Q)rm -f $(PHL)/$(CFG_RUSTI) $(Q)rm -f $(PHL)/$(CFG_RUNTIME) $(Q)for i in \ $(call HOST_LIB_FROM_HL_GLOB,$(CORELIB_GLOB)) \ $(call HOST_LIB_FROM_HL_GLOB,$(STDLIB_GLOB)) \ $(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTC_GLOB)) \ $(call HOST_LIB_FROM_HL_GLOB,$(LIBSYNTAX_GLOB)) \ + $(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTI_GLOB)) \ ; \ do rm -f $$i ; \ done diff --git a/mk/tools.mk b/mk/tools.mk index 98356985654..7d23c565918 100644 --- a/mk/tools.mk +++ b/mk/tools.mk @@ -19,8 +19,8 @@ RUSTDOC_LIB := $(S)src/librustdoc/rustdoc.rc RUSTDOC_INPUTS := $(wildcard $(S)src/rustdoc/*.rs) # Rusti, the JIT REPL -RUSTI_CRATE := $(S)src/rusti/rusti.rc -RUSTI_INPUTS := $(wildcard $(S)src/rusti/*.rs) +RUSTI_LIB := $(S)src/librusti/rusti.rc +RUSTI_INPUTS := $(wildcard $(S)src/librusti/*.rs) # FIXME: These are only built for the host arch. Eventually we'll # have tools that need to built for other targets. @@ -130,21 +130,36 @@ $$(HBIN$(2)_H_$(4))/rustdoc$$(X): \ @$$(call E, cp: $$@) $$(Q)cp $$< $$@ -$$(TBIN$(1)_T_$(4)_H_$(3))/rusti$$(X): \ - $$(RUSTI_CRATE) $$(RUSTI_INPUTS) \ +$$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_LIBRUSTI): \ + $$(RUSTI_LIB) $$(RUSTI_INPUTS) \ $$(TSREQ$(1)_T_$(4)_H_$(3)) \ - $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_CORELIB) \ - $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_STDLIB) \ + $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_CORELIB) \ + $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_STDLIB) \ $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_LIBRUSTC) @$$(call E, compile_and_link: $$@) - $$(STAGE$(1)_T_$(4)_H_$(3)) -o $$@ $$< + $$(STAGE$(1)_T_$(4)_H_$(3)) -o $$@ $$< && touch $$@ -$$(HBIN$(2)_H_$(4))/rusti$$(X): \ - $$(TBIN$(1)_T_$(4)_H_$(3))/rusti$$(X) \ +$$(TBIN$(1)_T_$(4)_H_$(3))/rusti$$(X): \ + $$(TOOL_DRIVER) \ + $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_LIBRUSTI) + @$$(call E, compile_and_link: $$@) + $$(STAGE$(1)_T_$(4)_H_$(3)) --cfg rusti -o $$@ $$< + +$$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTI): \ + $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_LIBRUSTI) \ + $$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTC) \ $$(HSREQ$(2)_H_$(4)) @$$(call E, cp: $$@) $$(Q)cp $$< $$@ +$$(HBIN$(2)_H_$(4))/rusti$$(X): \ + $$(TBIN$(1)_T_$(4)_H_$(3))/rusti$$(X) \ + $$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTI) \ + $$(HSREQ$(2)_H_$(4)) + @$$(call E, cp: $$@) + $$(Q)cp $$< $$@ + + endef $(foreach host,$(CFG_TARGET_TRIPLES), \ diff --git a/src/driver/driver.rs b/src/driver/driver.rs index 5faec1855c7..4689971eec0 100644 --- a/src/driver/driver.rs +++ b/src/driver/driver.rs @@ -10,4 +10,7 @@ extern mod self(name = "fuzzer", vers = "0.5"); #[cfg(rustdoc)] extern mod self(name = "rustdoc", vers = "0.5"); +#[cfg(rusti)] +extern mod self(name = "rusti", vers = "0.5"); + fn main() { self::main() } \ No newline at end of file diff --git a/src/rusti/rusti.rc b/src/librusti/rusti.rc similarity index 97% rename from src/rusti/rusti.rc rename to src/librusti/rusti.rc index 1e53ea5bba2..e498b147ff4 100644 --- a/src/rusti/rusti.rc +++ b/src/librusti/rusti.rc @@ -1,7 +1,7 @@ // rusti - REPL using the JIT backend #[link(name = "rusti", - vers = "0.4", + vers = "0.5", uuid = "7fb5bf52-7d45-4fee-8325-5ad3311149fc", url = "https://github.com/mozilla/rust/tree/master/src/rusti")]; diff --git a/src/rusti/rusti.rs b/src/librusti/rusti.rs similarity index 100% rename from src/rusti/rusti.rs rename to src/librusti/rusti.rs diff --git a/src/rusti/wrapper.rs b/src/librusti/wrapper.rs similarity index 100% rename from src/rusti/wrapper.rs rename to src/librusti/wrapper.rs