X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Core%2FMakefile;h=431eed840efe6382e5e2f709d40591f03b409862;hb=ac60ecf03fef7535f5e30d147ca207e34ee32474;hp=893de76b60b7e0524c5f581e78d02f060bd6f736;hpb=0900c61969ca862b0bcc967b4413e539acf07dbb;p=mono.git diff --git a/mcs/class/System.Core/Makefile b/mcs/class/System.Core/Makefile index 893de76b60b..431eed840ef 100644 --- a/mcs/class/System.Core/Makefile +++ b/mcs/class/System.Core/Makefile @@ -4,40 +4,61 @@ include ../../build/rules.make LIBRARY = System.Core.dll -LIB_MCS_FLAGS = -d:LIBC /r:$(corlib) /r:System +LIB_MCS_FLAGS = -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe + +INTERPRETER_DEP := Mono.Dynamic.Interpreter.dll +INTERPRETER_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(INTERPRETER_DEP)) ifneq (2.1, $(FRAMEWORK_VERSION)) LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720 endif -ifeq (4.0, $(FRAMEWORK_VERSION)) -LIB_MCS_FLAGS += -d:CODEPLEX_40 +ifeq (monodroid, $(PROFILE)) +LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,ANDROID +endif + +ifeq (xammac, $(PROFILE)) +LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT +endif + +ifeq (monotouch, $(subst _runtime,,$(PROFILE))) +LIBRARY_USE_INTERMEDIATE_FILE = yes + +CYCLIC_DEPS := $(INTERPRETER_DEP) +CYCLIC_DEP_FILES := $(INTERPRETER_DEP_FILE) +LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR + +ifdef CYCLIC_DEP_FILES +LIB_MCS_FLAGS += -d:MONO_INTERPRETER -r:$(INTERPRETER_DEP) +else +NO_SIGN_ASSEMBLY = yes +NO_INSTALL = yes endif -FULL_PROFILE := $(filter net_2_0 net_4_0 moonlight_raw monotouch, $(PROFILE)) -ifdef FULL_PROFILE -LIBRARY_COMPILE = $(BOOT_COMPILE) +endif + +ifeq (monotouch_runtime, $(PROFILE)) +LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME +endif + +ifeq (4, $(FRAMEWORK_VERSION_MAJOR)) +LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT endif ifneq (basic, $(PROFILE)) -CLR_PROFILE := $(filter 2.0 4.0, $(FRAMEWORK_VERSION)) +CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION)) endif ifdef CLR_PROFILE -LIB_MCS_FLAGS += -r:../lib/$(PROFILE)/Mono.Posix -unsafe +LIB_MCS_FLAGS += -r:Mono.Posix.dll endif TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -# This is a .NET 2.0+ only assembly -VALID_PROFILE := $(filter 2.0 2.1 4.0, $(FRAMEWORK_VERSION)) -ifndef VALID_PROFILE -LIBRARY_NAME = dummy-System.Core.dll -NO_INSTALL = yes -NO_SIGN_ASSEMBLY = yes -NO_TEST = yes -NO_BUILD = yes -endif - include ../../build/library.make +ifdef CYCLIC_DEP_FILES +TEST_HARNESS_EXCLUDES += -exclude:NotWorkingInterpreter +$(build_lib): $(INTERPRETER_DEP_FILE) +endif +