Merge pull request #4152 from BrzVlad/misc-gc-altstack
[mono.git] / mcs / class / System.Core / Makefile
1 thisdir = class/System.Core
2 SUBDIRS = 
3 include ../../build/rules.make
4
5 LIBRARY = System.Core.dll
6
7 REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE
8 LIB_REFS = System
9 LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC -unsafe -nowarn:436
10 TXT_RESOURCE_STRINGS = ../referencesource/System.Core/System.Core.txt
11 RESX_RESOURCE_STRING = \
12         ../../../external/corefx/src/System.Linq.Expressions/src/Resources/Strings.resx \
13         ../../../external/corefx/src/System.Linq/src/Resources/Strings.resx \
14         ../../../external/corefx/src/System.Linq.Parallel/src/Resources/Strings.resx \
15         ../../../external/corefx/src/System.Linq.Queryable/src/Resources/Strings.resx
16
17 ifneq (2.1, $(FRAMEWORK_VERSION))
18 LIB_MCS_FLAGS += -d:NET_3_5
19 endif
20
21 ifdef AOT_FRIENDLY_PROFILE
22 extra_test_flags := -exclude:NotWorkingInterpreter
23 LIB_MCS_FLAGS += -d:NO_FEATURE_STATIC_DELEGATE,FEATURE_MAKE_RUN_METHODS
24 else
25 LIB_MCS_FLAGS += -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER,FEATURE_PDB_GENERATOR
26 endif
27
28 ifeq (monotouch_runtime, $(PROFILE))
29 LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
30 endif
31
32 ifneq (basic, $(PROFILE))
33 CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
34 endif
35
36 ifdef CLR_PROFILE
37 LIB_REFS += Mono.Posix
38 endif
39
40 CC_PROFILE := $(filter monotouch% xammac, $(PROFILE))
41 ifdef CC_PROFILE
42 BUILT_SOURCES = \
43         ../corlib/CommonCrypto/AesManaged.g.cs \
44         ../corlib/CommonCrypto/AesCryptoServiceProvider.g.cs
45
46 ../corlib/CommonCrypto/%.g.cs:
47         $(MAKE) -C ../corlib/CommonCrypto
48 endif
49
50 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
51
52 include ../../build/library.make
53
54 TEST_HARNESS_EXCLUDES += $(extra_test_flags)
55
56 ifneq ($(PROFILE),basic)
57 csproj-local:
58         $(MAKE) csproj-local
59 endif