From a0ed1fb20b3aa3b2854b183f43060e562b4664eb Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 22 Mar 2012 15:27:35 -0700 Subject: [PATCH] build: Introduce rustsyntax crate --- Makefile.in | 7 +++++++ mk/clean.mk | 4 ++++ mk/dist.mk | 1 + mk/host.mk | 15 +++++++++++++-- mk/install.mk | 4 ++++ mk/target.mk | 6 ++++++ src/librustsyntax/rustsyntax.rc | 5 +++++ src/rustc/rustc.rc | 2 ++ 8 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 src/librustsyntax/rustsyntax.rc diff --git a/Makefile.in b/Makefile.in index 91b40276a6b..50f5d542d12 100644 --- a/Makefile.in +++ b/Makefile.in @@ -106,13 +106,16 @@ CFG_RUSTLLVM :=$(call CFG_LIB_NAME,rustllvm) CFG_CORELIB :=$(call CFG_LIB_NAME,core) CFG_STDLIB :=$(call CFG_LIB_NAME,std) CFG_LIBRUSTC :=$(call CFG_LIB_NAME,rustc) +CFG_LIBRUSTSYNTAX :=$(call CFG_LIB_NAME,rustsyntax) STDLIB_GLOB :=$(call CFG_LIB_GLOB,std) CORELIB_GLOB :=$(call CFG_LIB_GLOB,core) LIBRUSTC_GLOB :=$(call CFG_LIB_GLOB,rustc) +LIBRUSTSYNTAX_GLOB :=$(call CFG_LIB_GLOB,rustsyntax) 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) +LIBRUSTSYNTAX_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,rustsyntax) # version-string calculation CFG_GIT_DIR := $(CFG_SRC_DIR).git @@ -190,6 +193,10 @@ COMPILER_INPUTS := $(filter-out $(S)src/rustc/driver/rustc.rs, \ $(wildcard $(addprefix $(S)src/rustc/, \ rustc.rc *.rs */*.rs */*/*.rs))) +LIBRUSTSYNTAX_CRATE := $(S)src/librustsyntax/rustsyntax.rc +LIBRUSTSYNTAX_INPUTS := $(wildcard $(addprefix $(S)src/librustsyntax/, \ + rustsyntax.rc *.rs)) + RUSTC_INPUTS := $(S)src/rustc/driver/rustc.rs ###################################################################### diff --git a/mk/clean.mk b/mk/clean.mk index 1971af04481..21669dd6f69 100644 --- a/mk/clean.mk +++ b/mk/clean.mk @@ -70,9 +70,11 @@ clean$(1)_H_$(2): $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_CORELIB) $(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_LIBRUSTSYNTAX) $(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) + $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTSYNTAX_GLOB) $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_RUSTLLVM) $(Q)rm -f $$(HLIB$(1)_H_$(2))/libstd.rlib @@ -94,9 +96,11 @@ clean$(1)_T_$(2)_H_$(3): $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_CORELIB) $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB) $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC) + $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTSYNTAX) $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CORELIB_GLOB) $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(STDLIB_GLOB) $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTC_GLOB) + $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTSYNTAX_GLOB) $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_RUSTLLVM) $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libstd.rlib $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libmorestack.a diff --git a/mk/dist.mk b/mk/dist.mk index 2ad93b6d447..7ccd7b6690d 100644 --- a/mk/dist.mk +++ b/mk/dist.mk @@ -28,6 +28,7 @@ PKG_FILES := \ etc \ fuzzer \ libcore \ + librustsyntax \ libstd \ rt \ rustdoc \ diff --git a/mk/host.mk b/mk/host.mk index f2ae5c6e647..48d92011998 100644 --- a/mk/host.mk +++ b/mk/host.mk @@ -21,10 +21,9 @@ $$(HBIN$(2)_H_$(4))/rustc$$(X): \ @$$(call E, cp: $$@) $$(Q)cp $$< $$@ -# FIXME: The fuzzer depends on this. Remove once it's rpathed to correctly -# find it in the appropriate target directory $$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTC): \ $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_LIBRUSTC) \ + $$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTSYNTAX) \ $$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME) \ $$(HLIB$(2)_H_$(4))/$$(CFG_RUSTLLVM) \ $$(HCORELIB_DEFAULT$(2)_H_$(3)) \ @@ -35,6 +34,18 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTC): \ $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTC_DSYM_GLOB) \ $$(HLIB$(2)_H_$(4)) +$$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTSYNTAX): \ + $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_LIBRUSTSYNTAX) \ + $$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME) \ + $$(HLIB$(2)_H_$(4))/$$(CFG_RUSTLLVM) \ + $$(HCORELIB_DEFAULT$(2)_H_$(3)) \ + $$(HSTDLIB_DEFAULT$(2)_H_$(3)) + @$$(call E, cp: $$@) + $$(Q)cp $$< $$@ + $$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTSYNTAX_GLOB) \ + $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTSYNTAX_DSYM_GLOB) \ + $$(HLIB$(2)_H_$(4)) + $$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME): \ $$(TLIB$(1)_T_$(4)_H_$(3))/$$(CFG_RUNTIME) @$$(call E, cp: $$@) diff --git a/mk/install.mk b/mk/install.mk index 605639c8be1..bc8df87c7b2 100644 --- a/mk/install.mk +++ b/mk/install.mk @@ -42,6 +42,8 @@ install-target-$(1)-host-$(2): $$(SREQ$$(ISTAGE)_T_$(1)_H_$(2)) $$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(STDLIB_GLOB)) $$(Q)$$(call INSTALL_LIB, \ $$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTC_GLOB)) + $$(Q)$$(call INSTALL_LIB, \ + $$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTSYNTAX_GLOB)) $$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),libmorestack.a) endef @@ -75,6 +77,7 @@ install-host: $(SREQ$(ISTAGE)_T_$(CFG_HOST_TRIPLE)_H_$(CFG_HOST_TRIPLE)) $(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),$(LIBRUSTSYNTAX_GLOB)) $(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUSTLLVM)) $(Q)$(call INSTALL,$(S)/man, \ $(PREFIX_ROOT)/share/man/man1,rustc.1) @@ -95,6 +98,7 @@ uninstall: $(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,$(LIBRUSTSYNTAX_GLOB)) \ ; \ do rm -f $$i ; \ done diff --git a/mk/target.mk b/mk/target.mk index 0f02c153cac..3d639bdc98c 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -38,6 +38,12 @@ $$(TBIN$(1)_T_$(2)_H_$(3))/rustc$$(X): \ $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC): \ $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \ + $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTSYNTAX) + @$$(call E, compile_and_link: $$@) + $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< && touch $$@ + +$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTSYNTAX): \ + $$(LIBRUSTSYNTAX_CRATE) $$(LIBRUSTSYNTAX_INPUTS) \ $$(TSREQ$(1)_T_$(2)_H_$(3)) \ $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM) \ $$(TCORELIB_DEFAULT$(1)_T_$(2)_H_$(3)) \ diff --git a/src/librustsyntax/rustsyntax.rc b/src/librustsyntax/rustsyntax.rc new file mode 100644 index 00000000000..ddcc7a5f80e --- /dev/null +++ b/src/librustsyntax/rustsyntax.rc @@ -0,0 +1,5 @@ +#[link(name = "rustsyntax", + vers = "0.2", + uuid = "c2b79dd0-a437-4ec7-95f9-858d77808c2f")]; + +#[crate_type = "lib"]; diff --git a/src/rustc/rustc.rc b/src/rustc/rustc.rc index 3e73bf1f0f5..8bd0a621b03 100644 --- a/src/rustc/rustc.rc +++ b/src/rustc/rustc.rc @@ -13,6 +13,8 @@ use std (name = "std", vers = "0.2", url = "https://github.com/mozilla/rust/tree/master/src/libstd"); +use rustsyntax; + mod middle { mod trans { mod common;