3 include ..
/..
/build
/rules.make
4 export __SECURITY_BOOTSTRAP_DB
=$(topdir
)/class
/corlib
7 LIBRARY_NAME
= mscorlib.dll
9 LIB_MCS_FLAGS
= $(REFERENCE_SOURCES_FLAGS
) $(RESOURCE_FILES
:%=-resource
:%) $(UNICODECHARINFO
:%=-resource
:%)
11 USE_XTEST_REMOTE_EXECUTOR
= YES
12 LIBRARY_WARN_AS_ERROR
= yes
13 #LIBRARY_USE_INTERMEDIATE_FILE = yes
15 ifeq (2, $(FRAMEWORK_VERSION_MAJOR
))
16 LIB_MCS_FLAGS
+= -runtimemetadataversion
:v4.0
.30319
18 ifeq (4, $(FRAMEWORK_VERSION_MAJOR
))
19 LIB_MCS_FLAGS
+= -runtimemetadataversion
:v4.0
.30319
21 $(error Unknown framework version
)
25 ifeq ($(PROFILE
),build
)
26 CSC_RUNTIME_FLAGS
=--profile
=aot
:output
=$(topdir
)/class
/lib
/$(PROFILE_DIRECTORY
)/csc.
$(LIBRARY
).aotprofile
29 RESX_EXTRA_ARGUMENTS
= \
30 --in
=ReferenceSources
/SR.cs \
31 --in
=ReferenceSources
/SR2.cs \
32 --in
=corefx
/SR.missing.cs
34 RESX_RESOURCE_STRING
= \
35 ..
/..
/..
/external
/corefx
/src
/System.Collections
/src
/Resources
/Strings.resx \
36 ..
/..
/..
/external
/corefx
/src
/System.Collections.Concurrent
/src
/Resources
/Strings.resx \
37 ..
/..
/..
/external
/corefx
/src
/System.Collections.NonGeneric
/src
/Resources
/Strings.resx \
38 ..
/..
/..
/external
/corefx
/src
/System.ComponentModel.TypeConverter
/src
/Resources
/Strings.resx \
39 ..
/..
/..
/external
/corefx
/src
/System.Buffers
/src
/Resources
/Strings.resx \
40 ..
/..
/..
/external
/corefx
/src
/System.IO.FileSystem
/src
/Resources
/Strings.resx \
41 ..
/..
/..
/external
/corefx
/src
/System.IO.FileSystem.Watcher
/src
/Resources
/Strings.resx \
42 ..
/..
/..
/external
/corefx
/src
/System.IO.Ports
/src
/Resources
/Strings.resx \
43 ..
/..
/..
/external
/corefx
/src
/System.Memory
/src
/Resources
/Strings.resx \
44 ..
/..
/..
/external
/corefx
/src
/System.Net.HttpListener
/src
/Resources
/Strings.resx \
45 ..
/..
/..
/external
/corefx
/src
/System.Net.Requests
/src
/Resources
/Strings.resx \
46 ..
/..
/..
/external
/corefx
/src
/System.Net.Sockets
/src
/Resources
/Strings.resx \
47 ..
/..
/..
/external
/corefx
/src
/System.Net.Http
/src
/Resources
/Strings.resx \
48 ..
/..
/..
/external
/corefx
/src
/System.Numerics.Vectors
/src
/Resources
/Strings.resx \
49 ..
/..
/..
/external
/corefx
/src
/System.Reflection.TypeExtensions
/src
/Resources
/Strings.resx \
50 ..
/..
/..
/external
/corefx
/src
/System.Runtime.Extensions
/src
/Resources
/Strings.resx \
51 ..
/..
/..
/external
/corefx
/src
/System.Runtime.InteropServices.RuntimeInformation
/src
/Resources
/Strings.resx \
52 ..
/..
/..
/external
/corefx
/src
/System.Runtime.Numerics
/src
/Resources
/Strings.resx \
53 ..
/..
/..
/external
/corefx
/src
/System.Security.Cryptography.Encoding
/src
/Resources
/Strings.resx \
54 ..
/..
/..
/external
/corefx
/src
/System.Security.Cryptography.Pkcs
/src
/Resources
/Strings.resx \
55 ..
/..
/..
/external
/corefx
/src
/System.Security.Cryptography.Primitives
/src
/Resources
/Strings.resx \
56 ..
/..
/..
/external
/corefx
/src
/System.Security.Cryptography.ProtectedData
/src
/Resources
/Strings.resx \
57 ..
/..
/..
/external
/corefx
/src
/System.Security.Cryptography.Xml
/src
/Resources
/Strings.resx \
58 ..
/..
/..
/external
/corefx
/src
/System.Security.Cryptography.X509Certificates
/src
/Resources
/Strings.resx \
59 ..
/..
/..
/external
/corefx
/src
/System.Text.RegularExpressions
/src
/Resources
/Strings.resx \
60 ..
/..
/..
/external
/corefx
/src
/System.Threading.Tasks.Parallel
/src
/Resources
/Strings.resx \
61 ..
/..
/..
/external
/corefx
/src
/System.ObjectModel
/src
/Resources
/Strings.resx \
62 ..
/..
/..
/external
/corert
/src
/System.Private.CoreLib
/src
/Resources
/Strings.resx \
63 ..
/..
/..
/external
/corefx
/src
/System.Private.Uri
/src
/Resources
/Strings.resx \
64 ..
/..
/..
/external
/corefx
/src
/Microsoft.Win32.Registry
/src
/Resources
/Strings.resx \
65 ..
/..
/..
/external
/corefx
/src
/System.Security.Cryptography.Algorithms
/src
/Resources
/Strings.resx
67 LIBRARY_COMPILE
= $(BOOT_COMPILE
)
68 LIBRARY_INSTALL_DIR
= $(mono_libdir
)/mono
/$(FRAMEWORK_VERSION
)
72 RESOURCE_STRINGS_FILES
= --mscorlib-debug
74 RESOURCE_STRINGS
= ..
/referencesource
/mscorlib
/mscorlib.txt
75 MODULE_DEPS
= $(IL_REPLACE
) LinkerDescriptor
/mscorlib.xml
77 MANAGED_COLLATOR_RESOURCES_FILES
= \
78 resources
/collation.core.bin \
79 resources
/collation.tailoring.bin \
80 resources
/collation.cjkCHS.bin \
81 resources
/collation.cjkCHT.bin \
82 resources
/collation.cjkJA.bin \
83 resources
/collation.cjkKO.bin \
84 resources
/collation.cjkKOlv2.bin
87 UNICODECHARINFO
= resources
/charinfo.nlp
93 $(MANAGED_COLLATOR_RESOURCES_FILES
) \
94 LinkerDescriptor
/mscorlib.xml
96 REFERENCE_SOURCES_FLAGS
= -d
:FEATURE_PAL
,GENERICS_WORK
,FEATURE_LIST_PREDICATES
,FEATURE_SERIALIZATION
,FEATURE_ENCODINGNLS
,FEATURE_ASCII
,FEATURE_LATIN1
,FEATURE_UTF7
,FEATURE_UTF32
,MONO_HYBRID_ENCODING_SUPPORT
,FEATURE_ASYNC_IO
,NEW_EXPERIMENTAL_ASYNC_IO
,FEATURE_UTF32
,FEATURE_EXCEPTIONDISPATCHINFO
,FEATURE_CORRUPTING_EXCEPTIONS
,FEATURE_EXCEPTION_NOTIFICATIONS
,FEATURE_STRONGNAME_MIGRATION
,FEATURE_USE_LCID
,FEATURE_FUSION
,FEATURE_CRYPTO
,FEATURE_X509_SECURESTRINGS
,FEATURE_SYNCHRONIZATIONCONTEXT
,FEATURE_SYNCHRONIZATIONCONTEXT_WAIT
,FEATURE_DEFAULT_INTERFACES
,HAS_CORLIB_CONTRACTS
99 LIB_MCS_FLAGS
+= -d
:MONO_FEATURE_SRE
102 ifndef MOBILE_PROFILE
103 REFERENCE_SOURCES_FLAGS
+= -d
:FEATURE_MACL
106 ifndef AOT_FRIENDLY_PROFILE
107 ifndef DISABLE_REMOTING
108 REFERENCE_SOURCES_FLAGS
+= -d
:FEATURE_REMOTING
,MONO_COM
,FEATURE_COMINTEROP
,FEATURE_ROLE_BASED_SECURITY
110 REFERENCE_SOURCES_FLAGS
+= -d
:FEATURE_ROLE_BASED_SECURITY
114 ifndef NO_THREAD_ABORT
115 REFERENCE_SOURCES_FLAGS
+= -d
:MONO_FEATURE_THREAD_ABORT
116 TEST_MCS_FLAGS
+= -d
:MONO_FEATURE_THREAD_ABORT
119 ifndef NO_THREAD_SUSPEND_RESUME
120 REFERENCE_SOURCES_FLAGS
+= -d
:MONO_FEATURE_THREAD_SUSPEND_RESUME
121 TEST_MCS_FLAGS
+= -d
:MONO_FEATURE_THREAD_SUSPEND_RESUME
124 ifndef NO_MULTIPLE_APPDOMAINS
125 REFERENCE_SOURCES_FLAGS
+= -d
:MONO_FEATURE_MULTIPLE_APPDOMAINS
126 TEST_MCS_FLAGS
+= -d
:MONO_FEATURE_MULTIPLE_APPDOMAINS
130 LIB_MCS_FLAGS
+= -d
:MONO_FEATURE_CONSOLE
133 ifdef MONO_FEATURE_APPLETLS
134 LIB_MCS_FLAGS
+= -d
:MONO_FEATURE_APPLETLS
138 LIB_MCS_FLAGS
+= -d
:ONLY_APPLETLS
141 ifdef MONO_FEATURE_APPLE_X509
142 LIB_MCS_FLAGS
+= -d
:MONO_FEATURE_APPLE_X509
145 COREFX_FLAGS
:= -d
:BIT64
,REGISTRY_ASSEMBLY
147 WARNING_ABOUT_DISABLED_WARNING
=1635
148 LOCAL_MCS_FLAGS
= -unsafe
-nostdlib
-nowarn
:612,618,3001,3002,3003,$(WARNING_ABOUT_DISABLED_WARNING
) -d
:INSIDE_CORLIB
,MONO_CULTURE_DATA
-d
:LIBC
$(REFERENCE_SOURCES_FLAGS
) $(COREFX_FLAGS
)
151 TEST_LIB_REFS
= System.Core System
153 XTEST_LIB_REFS
= System System.Core Facades
/System.Threading.Tasks Facades
/System.Text.RegularExpressions System.Numerics System.Runtime.CompilerServices.Unsafe
154 XTEST_LIB_FLAGS
= -d
:netcoreapp
-publicsign
-keyfile
:..
/mono.snk
155 XTEST_MCS_FLAGS
= -resource
:..
/..
/..
/external
/corefx
/src
/System.Reflection
/tests
/Resources
/ResourceTextFile.txt
,ResourceTextFile.txt
157 ifndef AOT_FRIENDLY_PROFILE
158 ifneq ($(PROFILE
),xammac
)
159 ifneq ($(PROFILE
),testing_aot_hybrid
)
160 ifneq ($(PROFILE
),testing_aot_full_interp
)
161 TEST_LIB_REFS
+= Mono.Posix
167 # System.IO/DirectoryInfoTest.cs needs Mono.Posix
168 TEST_MCS_FLAGS
+= -debug
-nowarn
:168,219,618,672 -unsafe
-nowarn
:67,114,162,169,649,659 \
169 -define:MONO_DATACONVERTER_STATIC_METHODS
$(TEST_RESX_RESOURCES
:%=-resource
:%) -resource
:LinkerDescriptor
/mscorlib_test.xml
,$(test_lib
:.dll
=.xml
)
171 ifeq ($(PROFILE
),net_4_x
)
172 LIB_MCS_FLAGS
+= -d
:FEATURE_CRYPTO_CONFIGURABLE
173 TEST_MCS_FLAGS
+= -d
:FEATURE_CRYPTO_CONFIGURABLE
176 XTEST_SPLIT_ASSEMBLIES
:= $(filter monotouch
%, $(PROFILE
))
178 CC_PROFILE
:= $(filter monotouch
% xammac
, $(PROFILE
))
182 CommonCrypto
/MD5CryptoServiceProvider.g.cs \
183 CommonCrypto
/SHA256Managed.g.cs \
184 CommonCrypto
/RC2CryptoServiceProvider.g.cs \
185 CommonCrypto
/SHA384Managed.g.cs \
186 CommonCrypto
/DESCryptoServiceProvider.g.cs \
187 CommonCrypto
/SHA1CryptoServiceProvider.g.cs \
188 CommonCrypto
/SHA512Managed.g.cs \
189 CommonCrypto
/MD2Managed.g.cs \
190 CommonCrypto
/SHA1Managed.g.cs \
191 CommonCrypto
/TripleDESCryptoServiceProvider.g.cs \
192 CommonCrypto
/MD4Managed.g.cs
195 $(MAKE
) -C CommonCrypto
200 Test
/resources
/culture-
*.cs \
202 $(TEST_RESOURCE_FILES
) \
203 $(TEST_RESOURCES
:.resources
=.resx
) \
204 resources
/charinfo.nlp \
205 LinkerDescriptor
/mscorlib_test.xml
207 TEST_RESOURCE_FILES
= \
208 Test
/resources
/MyResources.resources \
209 Test
/resources
/MyResources.de.resources \
210 Test
/resources
/Empty.resources \
211 Test
/resources
/AFile.txt \
212 Test
/resources
/StreamTest.resources \
213 Test
/resources
/StreamTest.ja.resources \
214 Test
/resources
/bug81759.resources \
215 Test
/resources
/415628.bin \
216 Test
/resources
/Fergie.GED
218 TEST_MCS_FLAGS
+= $(foreach r
, $(TEST_RESOURCE_FILES
), -resource
:$(r
),$(r
))
220 TEST_RESX_RESOURCES
= \
221 Test
/resources
/Resources.resources
223 TEST_RESX_RESOURCES_SATELITE
= \
224 Test
/resources
/Resources.es-ES.resources \
225 Test
/resources
/Resources.nn-NO.resources
227 CLEAN_FILES
+= $(TEST_RESX_RESOURCES
) $(TEST_RESX_RESOURCES_SATELITE
) $(IL_REPLACE
)
229 include $(topdir
)/build
/library.make
231 $(TEST_RESX_RESOURCES
) $(TEST_RESX_RESOURCES_SATELITE
): %.resources
: %.resx
232 $(RESGEN
) $< || cp
$@.prebuilt
$@
234 TEST_RESOURCES
= $(TEST_RESX_RESOURCES
) $(TEST_RESX_RESOURCES_SATELITE
)
236 satellite_assembly1
= $(test_lib_dir
)/es-ES
/$(patsubst %.dll
,%.resources.dll
,$(test_lib
))
237 satellite_assembly2
= $(test_lib_dir
)/nn-NO
/$(patsubst %.dll
,%.resources.dll
,$(test_lib
))
239 $(test_lib_output
): $(TEST_RESOURCES
) $(satellite_assembly1
) $(satellite_assembly2
) |
$(test_lib_dir
)
241 mscorlib_for_profile
= $(topdir
)/class
/lib
/$(PROFILE
)/mscorlib.dll
243 $(satellite_assembly1
): Test
/resources
/culture-es-ES.cs Test
/resources
/Resources.es-ES.resources
245 $(CSCOMPILE
) -target
:library
-r
:$(mscorlib_for_profile
) Test
/resources
/culture-es-ES.cs
-resource
:Test
/resources
/Resources.es-ES.resources
-out
:$@
247 $(satellite_assembly2
): Test
/resources
/culture-nn-NO.cs Test
/resources
/Resources.nn-NO.resources
249 $(CSCOMPILE
) -target
:library
-r
:$(mscorlib_for_profile
) Test
/resources
/culture-nn-NO.cs
-resource
:Test
/resources
/Resources.nn-NO.resources
-out
:$@
251 test_load_assembly
= ${test_lib_dir}/TestLoadAssembly.dll
253 $(test_load_assembly
): ..
/..
/..
/external
/corefx
/src
/System.Runtime
/tests
/TestLoadAssembly
/TestLoadAssembly.cs |
$(test_lib_dir
)
254 $(CSCOMPILE
) -target
:library
-r
:$(mscorlib_for_profile
) -out
:${test_lib_dir}/TestLoadAssembly.dll
256 test_module
= $(test_lib_dir
)/System.Reflection.TestModule.dll
258 $(test_module
): ..
/..
/..
/external
/corefx
/src
/System.Runtime
/tests
/TestModule
/System.Reflection.TestModule.dll |
$(test_lib_dir
)
259 cp
$< $(test_lib_dir
)
261 XTEST_LIB_FLAGS
+= -r
:$(test_module
)
263 $(xtest_lib_output
): $(test_load_assembly
) $(test_module
) $(test_lib_dir
)
265 vtsdir_src
= Test
/System.Runtime.Serialization.Formatters.Binary
/VersionTolerantSerialization
266 vtsdir
= $(test_lib_dir
)/vts
268 $(vtsdir
)/1.0/Address.dll \
269 $(vtsdir
)/2.0/Address.dll \
270 $(vtsdir
)/3.0/Address.dll \
271 $(vtsdir
)/4.0/Address.dll \
272 $(vtsdir
)/5.0/Address.dll \
273 $(vtsdir
)/6.0/Address.dll
275 test-vts
: $(vtslibs
) $(test_lib_dir
)/BinarySerializationOverVersionsTest.dll
277 $(vtsdir
)/%/Address.dll
: $(vtsdir_src
)/VersionTolerantSerializationTestLib
/%/Address.cs
279 $(CSCOMPILE
) -target
:library
-warn
:0 -r
:$(mscorlib_for_profile
) -out
:$@
$^
281 $(test_lib_dir
)/BinarySerializationOverVersionsTest.dll
: $(vtsdir_src
)/BinarySerializationOverVersionsTest.cs
$(vtsdir
)/1.0/Address.dll
$(test_nunit_dep
)
283 $(CSCOMPILE
) $(test_nunit_ref
) -warn
:0 \
284 -r
:$(vtsdir
)/1.0/Address.dll \
285 -r
:$(mscorlib_for_profile
) \
286 -r
:$(topdir
)/class
/lib
/$(PROFILE
)/System.dll \
288 $(vtsdir_src
)/BinarySerializationOverVersionsTest.cs
-out
:$@
289 cp
-f
$(topdir
)/tools
/nunit-lite
/nunit-lite-console
/nunit-lite-console.exe.config.tmpl
$(test_lib_dir
)/BinarySerializationOverVersionsTest.dll.nunitlite.config
291 run-test-vts
: test-vts
292 @echo Running vts tests...
293 PATH
="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" $(TEST_RUNTIME
) $(TEST_RUNTIME_FLAGS
) $(TEST_HARNESS
) $(NOSHADOW_FLAG
) \
294 $(test_lib_dir
)/BinarySerializationOverVersionsTest.dll
300 ifdef DISABLE_REMOTING
306 run-test-local
: run-test-vts
310 $(vtsdir_src
)/VersionTolerantSerializationTestLib
/1.0/Address.cs \
311 $(vtsdir_src
)/VersionTolerantSerializationTestLib
/2.0/Address.cs \
312 $(vtsdir_src
)/VersionTolerantSerializationTestLib
/3.0/Address.cs \
313 $(vtsdir_src
)/VersionTolerantSerializationTestLib
/4.0/Address.cs \
314 $(vtsdir_src
)/VersionTolerantSerializationTestLib
/5.0/Address.cs \
315 $(vtsdir_src
)/VersionTolerantSerializationTestLib
/6.0/Address.cs \
316 $(vtsdir_src
)/BinarySerializationOverVersionsTest.cs \
317 System.Runtime.CompilerServices
/Unsafe.il \
322 # Android TimeZoneInfo testing....
328 # Remove some code that is protected so we don't have to include all the corlib files.
329 tzi.exe
:System
/AndroidPlatform.cs
$(wildcard System
/TimeZone
*.cs
) ..
/..
/build
/common
/Consts.cs ..
/..
/build
/common
/Locale.cs ..
/Mono.Options
/Mono.Options
/Options.cs
330 trap
"rm -f $(TMP_FILE1) $(TMP_FILE2)" EXIT INT QUIT TERM
&& \
331 sed
's/Environment\.GetResourceString/string.Format/g' ..
/referencesource
/mscorlib
/system
/timezoneinfo.cs
> $(TMP_FILE1
) && \
332 sed
's/StringBuilder\.DefaultCapacity/100/g' ..
/referencesource
/mscorlib
/system
/text
/stringbuildercache.cs
> $(TMP_FILE2
) && \
333 $(MCS
) /debug
+ /out
:$@
-unsafe
-nowarn
:612,618 -d
:INSIDE_CORLIB
,MONO_CULTURE_DATA
-d
:LIBC
$(REFERENCE_SOURCES_FLAGS
) "/d:SELF_TEST;NET_1_1;NET_2_0;MOBILE;NET_3_5;NET_4_0;NET_4_5;MONO;MOBILE;MOBILE_DYNAMIC;MONODROID;ANDROID" $^
$(TMP_FILE1
) $(TMP_FILE2
)
336 mkdir
-p android
/tzdb
/usr
/share
/zoneinfo
337 mkdir
-p android
/tzdb
/misc
/zoneinfo
/zoneinfo
338 android_root
=`adb shell echo '$$ANDROID_ROOT' | tr -d "\r"` ; \
339 android_data
=`adb shell echo '$$ANDROID_DATA' | tr -d "\r"` ; \
340 adb
$(ADB_TARGET
) pull
$$android_root/usr
/share
/zoneinfo android
/tzdb
/usr
/share
/zoneinfo || true
; \
341 adb
$(ADB_TARGET
) pull
$$android_data/misc
/zoneinfo
/tzdata android
/tzdb
/misc
/zoneinfo || true
343 android-dump-tzdata
: tzi.exe android-pull-tzdb
345 __XA_OVERRIDE_TIMEZONE_ID__
=America
/New_York ANDROID_ROOT
="`pwd`/android/tzdb" ANDROID_DATA
="`pwd`/android/tzdb" $(TEST_RUNTIME
) tzi.exe
-o android
/tzdata