]> git.lizzy.rs Git - rust.git/commitdiff
make: Add all the make support for lib{native,green}
authorAlex Crichton <alex@alexcrichton.com>
Fri, 13 Dec 2013 02:07:23 +0000 (18:07 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Wed, 25 Dec 2013 03:59:52 +0000 (19:59 -0800)
This should now begin distribution of lib{green,native} in rlib/dylib format as
well as building them as part of the normal build process.

Makefile.in
mk/clean.mk
mk/dist.mk
mk/host.mk
mk/install.mk
mk/target.mk
mk/tests.mk

index f5fdcd97aa64d6e83ba6aa01447eaacea8b44a7e..d5a62f11e05c20ae9e1b629459962bcb64272438 100644 (file)
@@ -235,6 +235,8 @@ CFG_LIBSYNTAX_$(1) :=$(call CFG_LIB_NAME_$(1),syntax)
 CFG_LIBRUSTPKG_$(1) :=$(call CFG_LIB_NAME_$(1),rustpkg)
 CFG_LIBRUSTDOC_$(1) :=$(call CFG_LIB_NAME_$(1),rustdoc)
 CFG_LIBRUSTUV_$(1) :=$(call CFG_LIB_NAME_$(1),rustuv)
+CFG_LIBGREEN_$(1) :=$(call CFG_LIB_NAME_$(1),green)
+CFG_LIBNATIVE_$(1) :=$(call CFG_LIB_NAME_$(1),native)
 
 EXTRALIB_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),extra)
 STDLIB_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),std)
@@ -243,6 +245,8 @@ LIBSYNTAX_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),syntax)
 LIBRUSTPKG_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rustpkg)
 LIBRUSTDOC_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rustdoc)
 LIBRUSTUV_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),rustuv)
+LIBGREEN_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),green)
+LIBNATIVE_GLOB_$(1) :=$(call CFG_LIB_GLOB_$(1),native)
 EXTRALIB_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),extra)
 STDLIB_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),std)
 LIBRUSTC_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),rustc)
@@ -250,12 +254,16 @@ LIBSYNTAX_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),syntax)
 LIBRUSTPKG_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),rustpkg)
 LIBRUSTDOC_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),rustdoc)
 LIBRUSTUV_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),rustuv)
+LIBGREEN_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),green)
+LIBNATIVE_DSYM_GLOB_$(1) :=$(call CFG_LIB_DSYM_GLOB_$(1),native)
 
 EXTRALIB_RGLOB_$(1) :=$(call CFG_RLIB_GLOB,extra)
 STDLIB_RGLOB_$(1) :=$(call CFG_RLIB_GLOB,std)
 LIBRUSTUV_RGLOB_$(1) :=$(call CFG_RLIB_GLOB,rustuv)
 LIBSYNTAX_RGLOB_$(1) :=$(call CFG_RLIB_GLOB,syntax)
 LIBRUSTC_RGLOB_$(1) :=$(call CFG_RLIB_GLOB,rustc)
+LIBNATIVE_RGLOB_$(1) :=$(call CFG_RLIB_GLOB,native)
+LIBGREEN_RGLOB_$(1) :=$(call CFG_RLIB_GLOB,green)
 
 endef
 
@@ -319,6 +327,22 @@ LIBRUSTUV_CRATE := $(S)src/librustuv/lib.rs
 LIBRUSTUV_INPUTS := $(wildcard $(addprefix $(S)src/librustuv/,          \
                                           *.rs */*.rs))
 
+######################################################################
+# Green threading library variables
+######################################################################
+
+LIBGREEN_CRATE := $(S)src/libgreen/lib.rs
+LIBGREEN_INPUTS := $(wildcard $(addprefix $(S)src/libgreen/,          \
+                                          *.rs */*.rs))
+
+######################################################################
+# Native threading library variables
+######################################################################
+
+LIBNATIVE_CRATE := $(S)src/libnative/lib.rs
+LIBNATIVE_INPUTS := $(wildcard $(addprefix $(S)src/libnative/,          \
+                                          *.rs */*.rs))
+
 ######################################################################
 # rustc crate variables
 ######################################################################
@@ -430,6 +454,16 @@ HLIBRUSTUV_DEFAULT$(1)_H_$(3) = \
 TLIBRUSTUV_DEFAULT$(1)_T_$(2)_H_$(3) = \
   $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTUV_$(2))
 
+HLIBGREEN_DEFAULT$(1)_H_$(3) = \
+  $$(HLIB$(1)_H_$(3))/$(CFG_LIBGREEN_$(3))
+TLIBGREEN_DEFAULT$(1)_T_$(2)_H_$(3) = \
+  $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBGREEN_$(2))
+
+HLIBNATIVE_DEFAULT$(1)_H_$(3) = \
+  $$(HLIB$(1)_H_$(3))/$(CFG_LIBNATIVE_$(3))
+TLIBNATIVE_DEFAULT$(1)_T_$(2)_H_$(3) = \
+  $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBNATIVE_$(2))
+
 # Preqrequisites for using the stageN compiler
 ifeq ($(1),0)
 HSREQ$(1)_H_$(3) = $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3))
@@ -441,6 +475,8 @@ HSREQ$(1)_H_$(3) = \
        $$(HLIBSYNTAX_DEFAULT$(1)_H_$(3)) \
        $$(HLIBRUSTC_DEFAULT$(1)_H_$(3)) \
        $$(HLIBRUSTUV_DEFAULT$(1)_H_$(3)) \
+       $$(HLIBGREEN_DEFAULT$(1)_H_$(3)) \
+       $$(HLIBNATIVE_DEFAULT$(1)_H_$(3)) \
        $$(MKFILE_DEPS)
 endif
 
@@ -455,7 +491,9 @@ SREQ$(1)_T_$(2)_H_$(3) = \
        $$(TSREQ$(1)_T_$(2)_H_$(3)) \
        $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)) \
        $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)) \
-       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTUV_$(2))
+       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTUV_$(2)) \
+       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBGREEN_$(2)) \
+       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBNATIVE_$(2))
 
 # Prerequisites for a working stageN compiler and libraries, for a specific target
 CSREQ$(1)_T_$(2)_H_$(3) = \
@@ -470,7 +508,9 @@ CSREQ$(1)_T_$(2)_H_$(3) = \
        $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(2)) \
        $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTPKG_$(2)) \
        $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTDOC_$(2)) \
-       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTUV_$(2))
+       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTUV_$(2)) \
+       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBGREEN_$(2)) \
+       $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBNATIVE_$(2))
 
 ifeq ($(1),0)
 # Don't run the the stage0 compiler under valgrind - that ship has sailed
index 93af331acfbd7e757731bfe8048c1c97bf83ebeb..c59298d1ecb63d4bddc06aadcaafea2e8068235a 100644 (file)
@@ -90,6 +90,8 @@ clean$(1)_H_$(2):
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_STDLIB_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_EXTRALIB_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBRUSTUV_$(2))
+       $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBNATIVE_$(2))
+       $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBGREEN_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBRUSTC_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBSYNTAX_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(STDLIB_GLOB_$(2))
@@ -98,6 +100,10 @@ clean$(1)_H_$(2):
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(EXTRALIB_RGLOB_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTUV_GLOB_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTUV_RGLOB_$(2))
+       $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBNATIVE_GLOB_$(2))
+       $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBNATIVE_RGLOB_$(2))
+       $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBGREEN_GLOB_$(2))
+       $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBGREEN_RGLOB_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTC_GLOB_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBSYNTAX_GLOB_$(2))
        $(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTPKG_GLOB_$(2))
@@ -124,6 +130,8 @@ clean$(1)_T_$(2)_H_$(3):
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTUV_$(2))
+       $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBGREEN_$(2))
+       $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBNATIVE_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(STDLIB_GLOB_$(2))
@@ -132,6 +140,10 @@ clean$(1)_T_$(2)_H_$(3):
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(EXTRALIB_RGLOB_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTUV_GLOB_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTUV_RGLOB_$(2))
+       $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBNATIVE_GLOB_$(2))
+       $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBNATIVE_RGLOB_$(2))
+       $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBGREEN_GLOB_$(2))
+       $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBGREEN_RGLOB_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTC_GLOB_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTC_RGLOB_$(2))
        $(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBSYNTAX_GLOB_$(2))
index 264d3105839cb6850e300f8cdc457edf3729920e..9f0f64f4c6561a4b0408f5d8eb9ea5b87984e093 100644 (file)
@@ -35,6 +35,9 @@ PKG_FILES := \
       libextra                                 \
       libstd                                   \
       libsyntax                                \
+      librustuv                                       \
+      libgreen                                        \
+      libnative                               \
       rt                                       \
       librustdoc                               \
       rustllvm                                 \
index 3ddbd7d69c96cd9deff19742550883e0e5d073cc..7aabff52bc48e3c0bfdaa8e7f1323fd1d0c5f753 100644 (file)
@@ -24,25 +24,15 @@ define CP_HOST_STAGE_N
 # Note: $(3) and $(4) are both the same!
 
 $$(HBIN$(2)_H_$(4))/rustc$$(X_$(4)): \
-       $$(TBIN$(1)_T_$(4)_H_$(3))/rustc$$(X_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_LIBRUSTC_$(4)) \
-       $$(HSTDLIB_DEFAULT$(2)_H_$(4)) \
-       $$(HEXTRALIB_DEFAULT$(2)_H_$(4)) \
-       $$(HLIBRUSTUV_DEFAULT$(2)_H_$(4)) \
+       $$(TBIN$(1)_T_$(4)_H_$(3))/rustc$$(X_$(4))
        $$(HLIBRUSTC_DEFAULT$(2)_H_$(4)) \
-       $$(HLIBSYNTAX_DEFAULT$(2)_H_$(4)) \
        | $$(HBIN$(2)_H_$(4))/
        @$$(call E, cp: $$@)
        $$(Q)cp $$< $$@
 
 $$(HLIB$(2)_H_$(4))/$(CFG_LIBRUSTC_$(4)): \
        $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTC_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_LIBSYNTAX_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
-       $$(HSTDLIB_DEFAULT$(2)_H_$(4)) \
-       $$(HEXTRALIB_DEFAULT$(2)_H_$(4)) \
-       $$(HLIBRUSTUV_DEFAULT$(2)_H_$(4)) \
+       $$(HLIBSYNTAX_DEFAULT$(2)_H_$(4)) \
        | $$(HLIB$(2)_H_$(4))/
 
        @$$(call E, cp: $$@)
@@ -55,10 +45,11 @@ $$(HLIB$(2)_H_$(4))/$(CFG_LIBRUSTC_$(4)): \
 
 $$(HLIB$(2)_H_$(4))/$(CFG_LIBSYNTAX_$(4)): \
        $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBSYNTAX_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
        $$(HSTDLIB_DEFAULT$(2)_H_$(4)) \
        $$(HEXTRALIB_DEFAULT$(2)_H_$(4)) \
        $$(HLIBRUSTUV_DEFAULT$(2)_H_$(4)) \
+       $$(HLIBGREEN_DEFAULT$(2)_H_$(4)) \
+       $$(HLIBNATIVE_DEFAULT$(2)_H_$(4)) \
        | $$(HLIB$(2)_H_$(4))/
        @$$(call E, cp: $$@)
        $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBSYNTAX_GLOB_$(4)),$$(notdir $$@))
@@ -76,7 +67,6 @@ $$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)): \
 
 $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)): \
        $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_STDLIB_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
        | $$(HLIB$(2)_H_$(4))/
        @$$(call E, cp: $$@)
        $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(STDLIB_GLOB_$(4)),$$(notdir $$@))
@@ -98,8 +88,7 @@ $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)): \
 
 $$(HLIB$(2)_H_$(4))/$(CFG_EXTRALIB_$(4)): \
        $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
+       $$(HSTDLIB_DEFAULT$(2)_H_$(4)) \
        | $$(HLIB$(2)_H_$(4))/
        @$$(call E, cp: $$@)
        $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(4)),$$(notdir $$@))
@@ -115,7 +104,6 @@ $$(HLIB$(2)_H_$(4))/$(CFG_EXTRALIB_$(4)): \
 $$(HLIB$(2)_H_$(4))/$(CFG_LIBRUSTUV_$(4)): \
        $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTUV_$(4)) \
        $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)) \
-       $$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
        | $$(HLIB$(2)_H_$(4))/
        @$$(call E, cp: $$@)
        $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTUV_GLOB_$(4)),$$(notdir $$@))
@@ -128,6 +116,36 @@ $$(HLIB$(2)_H_$(4))/$(CFG_LIBRUSTUV_$(4)): \
        $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTUV_GLOB_$(4)),$$(notdir $$@))
        $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTUV_RGLOB_$(4)),$$(notdir $$@))
 
+$$(HLIB$(2)_H_$(4))/$(CFG_LIBGREEN_$(4)): \
+       $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBGREEN_$(4)) \
+       $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)) \
+       | $$(HLIB$(2)_H_$(4))/
+       @$$(call E, cp: $$@)
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_GLOB_$(4)),$$(notdir $$@))
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_RGLOB_$(4)),$$(notdir $$@))
+       $$(Q)cp $$< $$@
+       $$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBGREEN_GLOB_$(4)) \
+               $$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBGREEN_RGLOB_$(4))) \
+               $$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBGREEN_DSYM_GLOB_$(4))) \
+               $$(HLIB$(2)_H_$(4))
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_GLOB_$(4)),$$(notdir $$@))
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_RGLOB_$(4)),$$(notdir $$@))
+
+$$(HLIB$(2)_H_$(4))/$(CFG_LIBNATIVE_$(4)): \
+       $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBNATIVE_$(4)) \
+       $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)) \
+       | $$(HLIB$(2)_H_$(4))/
+       @$$(call E, cp: $$@)
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_GLOB_$(4)),$$(notdir $$@))
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_RGLOB_$(4)),$$(notdir $$@))
+       $$(Q)cp $$< $$@
+       $$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBNATIVE_GLOB_$(4)) \
+               $$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBNATIVE_RGLOB_$(4))) \
+               $$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBNATIVE_DSYM_GLOB_$(4))) \
+               $$(HLIB$(2)_H_$(4))
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_GLOB_$(4)),$$(notdir $$@))
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_RGLOB_$(4)),$$(notdir $$@))
+
 $$(HBIN$(2)_H_$(4))/:
        mkdir -p $$@
 
index 37eaa6f52167a0a55db727fa7c5ac957c45441a6..f81367010ed71cf855307391e2d9d4de2bfff8f0 100644 (file)
@@ -94,6 +94,10 @@ install-target-$(1)-host-$(2): $$(TSREQ$$(ISTAGE)_T_$(1)_H_$(2)) $$(SREQ$$(ISTAG
        $$(Q)$$(call INSTALL_LIB,$$(EXTRALIB_RGLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,$$(LIBRUSTUV_GLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,$$(LIBRUSTUV_RGLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBGREEN_GLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBGREEN_RGLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBNATIVE_GLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBNATIVE_RGLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,libmorestack.a)
 
 endef
@@ -109,6 +113,10 @@ install-target-$(1)-host-$(2): $$(CSREQ$$(ISTAGE)_T_$(1)_H_$(2))
        $$(Q)$$(call INSTALL_LIB,$$(EXTRALIB_RGLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,$$(LIBRUSTUV_GLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,$$(LIBRUSTUV_RGLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBGREEN_GLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBGREEN_RGLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBNATIVE_GLOB_$(1)))
+       $$(Q)$$(call INSTALL_LIB,$$(LIBNATIVE_RGLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,$$(LIBRUSTC_GLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,$$(LIBSYNTAX_GLOB_$(1)))
        $$(Q)$$(call INSTALL_LIB,$$(LIBRUSTPKG_GLOB_$(1)))
@@ -149,6 +157,7 @@ install-host: $(CSREQ$(ISTAGE)_T_$(CFG_BUILD_)_H_$(CFG_BUILD_))
        $(Q)$(call INSTALL_LIB,$(STDLIB_GLOB_$(CFG_BUILD)))
        $(Q)$(call INSTALL_LIB,$(EXTRALIB_GLOB_$(CFG_BUILD)))
        $(Q)$(call INSTALL_LIB,$(LIBRUSTUV_GLOB_$(CFG_BUILD)))
+       $(Q)$(call INSTALL_LIB,$(LIBGREEN_GLOB_$(CFG_BUILD)))
        $(Q)$(call INSTALL_LIB,$(LIBRUSTC_GLOB_$(CFG_BUILD)))
        $(Q)$(call INSTALL_LIB,$(LIBSYNTAX_GLOB_$(CFG_BUILD)))
        $(Q)$(call INSTALL_LIB,$(LIBRUSTPKG_GLOB_$(CFG_BUILD)))
@@ -174,6 +183,10 @@ uninstall:
           $(call HOST_LIB_FROM_HL_GLOB,$(EXTRALIB_RGLOB_$(CFG_BUILD))) \
           $(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTUV_GLOB_$(CFG_BUILD))) \
           $(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTUV_RGLOB_$(CFG_BUILD))) \
+          $(call HOST_LIB_FROM_HL_GLOB,$(LIBGREEN_GLOB_$(CFG_BUILD))) \
+          $(call HOST_LIB_FROM_HL_GLOB,$(LIBGREEN_RGLOB_$(CFG_BUILD))) \
+          $(call HOST_LIB_FROM_HL_GLOB,$(LIBNATIVE_GLOB_$(CFG_BUILD))) \
+          $(call HOST_LIB_FROM_HL_GLOB,$(LIBNATIVE_RGLOB_$(CFG_BUILD))) \
           $(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTC_GLOB_$(CFG_BUILD))) \
           $(call HOST_LIB_FROM_HL_GLOB,$(LIBSYNTAX_GLOB_$(CFG_BUILD))) \
           $(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTPKG_GLOB_$(CFG_BUILD))) \
@@ -237,6 +250,7 @@ install-runtime-target-$(1)-host-$(2): $$(TSREQ$$(ISTAGE)_T_$(1)_H_$(2)) $$(SREQ
        $(Q)$(call ADB_PUSH,$$(TL$(1)$(2))/$$(STDLIB_GLOB_$(1)),$(CFG_RUNTIME_PUSH_DIR))
        $(Q)$(call ADB_PUSH,$$(TL$(1)$(2))/$$(EXTRALIB_GLOB_$(1)),$(CFG_RUNTIME_PUSH_DIR))
        $(Q)$(call ADB_PUSH,$$(TL$(1)$(2))/$$(LIBRUSTUV_GLOB_$(1)),$(CFG_RUNTIME_PUSH_DIR))
+       $(Q)$(call ADB_PUSH,$$(TL$(1)$(2))/$$(LIBGREEN_GLOB_$(1)),$(CFG_RUNTIME_PUSH_DIR))
 endef
 
 define INSTALL_RUNTIME_TARGET_CLEANUP_N
@@ -245,6 +259,7 @@ install-runtime-target-$(1)-cleanup:
        $(Q)$(call ADB_SHELL,rm,$(CFG_RUNTIME_PUSH_DIR)/$(STDLIB_GLOB_$(1)))
        $(Q)$(call ADB_SHELL,rm,$(CFG_RUNTIME_PUSH_DIR)/$(EXTRALIB_GLOB_$(1)))
        $(Q)$(call ADB_SHELL,rm,$(CFG_RUNTIME_PUSH_DIR)/$(LIBRUSTUV_GLOB_$(1)))
+       $(Q)$(call ADB_SHELL,rm,$(CFG_RUNTIME_PUSH_DIR)/$(LIBGREEN_GLOB_$(1)))
 endef
 
 $(eval $(call INSTALL_RUNTIME_TARGET_N,arm-linux-androideabi,$(CFG_BUILD)))
index 3c7ffd83d968197f7c5ff6fff1852f326d5047a6..3746a4eafc0e66ca6a4f9d07d41b037a59a47198 100644 (file)
@@ -94,6 +94,32 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTUV_$(2)): \
        $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTUV_GLOB_$(2)),$$(notdir $$@))
        $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTUV_RGLOB_$(2)),$$(notdir $$@))
 
+$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBGREEN_$(2)): \
+               $$(LIBGREEN_CRATE) $$(LIBGREEN_INPUTS) \
+               $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)) \
+               $$(TSREQ$(1)_T_$(2)_H_$(3)) \
+               | $$(TLIB$(1)_T_$(2)_H_$(3))/
+       @$$(call E, compile_and_link: $$@)
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_GLOB_$(2)),$$(notdir $$@))
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_RGLOB_$(2)),$$(notdir $$@))
+       $$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) \
+               --out-dir $$(@D) $$< && touch $$@
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_GLOB_$(2)),$$(notdir $$@))
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBGREEN_RGLOB_$(2)),$$(notdir $$@))
+
+$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBNATIVE_$(2)): \
+               $$(LIBNATIVE_CRATE) $$(LIBNATIVE_INPUTS) \
+               $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)) \
+               $$(TSREQ$(1)_T_$(2)_H_$(3)) \
+               | $$(TLIB$(1)_T_$(2)_H_$(3))/
+       @$$(call E, compile_and_link: $$@)
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_GLOB_$(2)),$$(notdir $$@))
+       $$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_RGLOB_$(2)),$$(notdir $$@))
+       $$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) \
+               --out-dir $$(@D) $$< && touch $$@
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_GLOB_$(2)),$$(notdir $$@))
+       $$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBNATIVE_RGLOB_$(2)),$$(notdir $$@))
+
 $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(3)): \
                 $$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
                $$(TSREQ$(1)_T_$(2)_H_$(3))                     \
index 1a56c008ccb702d35e27bd27a7830c6f32ea04a3..179e41ad3307acff140121608390bbb6f17f40ad 100644 (file)
@@ -14,7 +14,7 @@
 ######################################################################
 
 # The names of crates that must be tested
-TEST_TARGET_CRATES = std extra rustuv
+TEST_TARGET_CRATES = std extra rustuv green native
 TEST_DOC_CRATES = std extra
 TEST_HOST_CRATES = rustpkg rustc rustdoc syntax
 TEST_CRATES = $(TEST_TARGET_CRATES) $(TEST_HOST_CRATES)
@@ -162,6 +162,8 @@ $(info check: android device test dir $(CFG_ADB_TEST_DIR) ready \
                   $(CFG_ADB_TEST_DIR)) \
  $(shell adb push $(TLIB2_T_arm-linux-androideabi_H_$(CFG_BUILD))/$(LIBRUSTUV_GLOB_arm-linux-androideabi) \
                   $(CFG_ADB_TEST_DIR)) \
+ $(shell adb push $(TLIB2_T_arm-linux-androideabi_H_$(CFG_BUILD))/$(LIBGREEN_GLOB_arm-linux-androideabi) \
+                  $(CFG_ADB_TEST_DIR)) \
  )
 else
 CFG_ADB_TEST_DIR=
@@ -187,7 +189,7 @@ check-test: cleantestlibs cleantmptestlogs all check-stage2-rfail
 
 check-lite: cleantestlibs cleantmptestlogs \
        check-stage2-std check-stage2-extra check-stage2-rpass \
-       check-stage2-rustuv \
+       check-stage2-rustuv check-stage2-native check-stage2-green \
        check-stage2-rustpkg \
        check-stage2-rfail check-stage2-cfail check-stage2-rmake
        $(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
@@ -339,7 +341,8 @@ define TEST_RUNNER
 ifeq ($(NO_REBUILD),)
 STDTESTDEP_$(1)_$(2)_$(3) = $$(SREQ$(1)_T_$(2)_H_$(3)) \
                             $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_EXTRALIB_$(2)) \
-                            $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTUV_$(2))
+                            $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTUV_$(2)) \
+                            $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBGREEN_$(2))
 else
 STDTESTDEP_$(1)_$(2)_$(3) =
 endif
@@ -364,6 +367,18 @@ $(3)/stage$(1)/test/rustuvtest-$(2)$$(X_$(2)):                     \
                -L $$(UV_SUPPORT_DIR_$(2)) \
                -L $$(dir $$(LIBUV_LIB_$(2)))
 
+$(3)/stage$(1)/test/nativetest-$(2)$$(X_$(2)):                 \
+               $$(LIBNATIVE_CRATE) $$(LIBNATIVE_INPUTS)        \
+               $$(STDTESTDEP_$(1)_$(2)_$(3))
+       @$$(call E, compile_and_link: $$@)
+       $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
+
+$(3)/stage$(1)/test/greentest-$(2)$$(X_$(2)):                  \
+               $$(LIBGREEN_CRATE) $$(LIBGREEN_INPUTS)  \
+               $$(STDTESTDEP_$(1)_$(2)_$(3))
+       @$$(call E, compile_and_link: $$@)
+       $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
+
 $(3)/stage$(1)/test/syntaxtest-$(2)$$(X_$(2)):                 \
                $$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS)        \
                $$(STDTESTDEP_$(1)_$(2)_$(3))
@@ -375,7 +390,7 @@ $(3)/stage$(1)/test/rustctest-$(2)$$(X_$(2)):                                       \
                $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
                $$(SREQ$(1)_T_$(2)_H_$(3)) \
                $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM_$(2)) \
-                $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBSYNTAX_$(2))
+               $$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBSYNTAX_$(2))
        @$$(call E, compile_and_link: $$@)
        $$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test \
            -L "$$(LLVM_LIBDIR_$(2))"
@@ -416,10 +431,10 @@ check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4
 $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
                $(3)/stage$(1)/test/$(4)test-$(2)$$(X_$(2))
        @$$(call E, run: $$<)
-       $$(Q)$$(call CFG_RUN_TEST_$(2),$$<,$(2),$(3)) $$(TESTARGS)      \
-       --logfile $$(call TEST_LOG_FILE,$(1),$(2),$(3),$(4)) \
-       $$(call CRATE_TEST_EXTRA_ARGS,$(1),$(2),$(3),$(4)) \
-       && touch $$@
+       $$(Q)$$(call CFG_RUN_TEST_$(2),$$<,$(2),$(3)) $$(TESTARGS) \
+           --logfile $$(call TEST_LOG_FILE,$(1),$(2),$(3),$(4)) \
+           $$(call CRATE_TEST_EXTRA_ARGS,$(1),$(2),$(3),$(4)) \
+           && touch $$@
 endef
 
 define DEF_TEST_CRATE_RULES_arm-linux-androideabi