3 include ..
/..
/build
/rules.make
4 include CommonCrypto
/Makefile.
include
5 export __SECURITY_BOOTSTRAP_DB
=$(topdir
)/class
/corlib
8 LIBRARY_NAME
= mscorlib.dll
10 LIB_MCS_FLAGS
= $(REFERENCE_SOURCES_FLAGS
) $(RESOURCE_FILES
:%=-resource
:%)
12 #LIBRARY_USE_INTERMEDIATE_FILE = yes
14 ifeq (2, $(FRAMEWORK_VERSION_MAJOR
))
15 LIB_MCS_FLAGS
+= --runtime
:v4
17 ifeq (4, $(FRAMEWORK_VERSION_MAJOR
))
18 LIB_MCS_FLAGS
+= --runtime
:v4
20 $(error Unknown framework version
)
24 RESOURCE_STRINGS
= ..
/..
/..
/external
/referencesource
/mscorlib
/mscorlib.txt
26 LIBRARY_COMPILE
= $(BOOT_COMPILE
)
27 LIBRARY_INSTALL_DIR
= $(mono_libdir
)/mono
/$(FRAMEWORK_VERSION
)
30 resources
/charinfo.nlp \
31 resources
/collation.core.bin \
32 resources
/collation.tailoring.bin \
33 resources
/collation.cjkCHS.bin \
34 resources
/collation.cjkCHT.bin \
35 resources
/collation.cjkJA.bin \
36 resources
/collation.cjkKO.bin \
37 resources
/collation.cjkKOlv2.bin
39 REFERENCE_SOURCES_FLAGS
= -d
:FEATURE_PAL
,GENERICS_WORK
,FEATURE_LIST_PREDICATES
,FEATURE_SERIALIZATION
,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
42 REFERENCE_SOURCES_FLAGS
+= -d
:FEATURE_REMOTING
,MONO_COM
,FEATURE_COMINTEROP
,FEATURE_ROLE_BASED_SECURITY
45 ifndef NO_THREAD_ABORT
46 REFERENCE_SOURCES_FLAGS
+= -d
:MONO_FEATURE_THREAD_ABORT
47 TEST_MCS_FLAGS
+= -d
:MONO_FEATURE_THREAD_ABORT
50 ifndef NO_THREAD_SUSPEND_RESUME
51 REFERENCE_SOURCES_FLAGS
+= -d
:MONO_FEATURE_THREAD_SUSPEND_RESUME
52 TEST_MCS_FLAGS
+= -d
:MONO_FEATURE_THREAD_SUSPEND_RESUME
55 ifndef NO_MULTIPLE_APPDOMAINS
56 REFERENCE_SOURCES_FLAGS
+= -d
:MONO_FEATURE_MULTIPLE_APPDOMAINS
57 TEST_MCS_FLAGS
+= -d
:MONO_FEATURE_MULTIPLE_APPDOMAINS
60 WARNING_ABOUT_DISABLED_WARNING
=1635
61 LOCAL_MCS_FLAGS
= -unsafe
-nostdlib
-nowarn
:612,618,$(WARNING_ABOUT_DISABLED_WARNING
) -d
:INSIDE_CORLIB
,MONO_CULTURE_DATA
-d
:LIBC
$(REFERENCE_SOURCES_FLAGS
)
65 CORLIB_MONO_POSIX_REF
=
67 CORLIB_MONO_POSIX_REF
= -r
:Mono.Posix.dll
70 # System.IO/DirectoryInfoTest.cs needs Mono.Posix
71 TEST_MCS_FLAGS
+= -debug
-nowarn
:168,219,618,672 -unsafe
$(CORLIB_MONO_POSIX_REF
) -r
:System.Core.dll
-r
:System.dll \
72 -define:MONO_DATACONVERTER_STATIC_METHODS
$(TEST_RESX_RESOURCES
:%=-resource
:%)
75 Test
/resources
/MyResources.resources \
76 Test
/resources
/MyResources.de.resources \
77 Test
/resources
/Empty.resources \
78 Test
/resources
/AFile.txt \
79 Test
/resources
/StreamTest.resources \
80 Test
/resources
/StreamTest.ja.resources \
81 Test
/resources
/bug81759.resources \
82 Test
/resources
/415628.bin \
83 Test
/resources
/Fergie.GED \
84 Test
/resources
/culture-
*.cs \
86 $(TEST_RESOURCES
:.resources
=.resx
)
88 TEST_RESX_RESOURCES
= \
89 Test
/resources
/Resources.resources
91 TEST_RESX_RESOURCES_SATELITE
= \
92 Test
/resources
/Resources.es-ES.resources \
93 Test
/resources
/Resources.nn-NO.resources \
95 CLEAN_FILES
+= $(TEST_RESX_RESOURCES
)
97 include $(topdir
)/build
/library.make
99 $(TEST_RESX_RESOURCES
) $(TEST_RESX_RESOURCES_SATELITE
): %.resources
: %.resx
100 $(RESGEN
) $< || cp
$@.prebuilt
$@
102 TEST_RESOURCES
= $(TEST_RESX_RESOURCES
) $(TEST_RESX_RESOURCES_SATELITE
)
104 satellite_assembly1
= es-ES
/$(patsubst %.dll
,%.resources.dll
,$(test_lib
))
105 satellite_assembly2
= nn-NO
/$(patsubst %.dll
,%.resources.dll
,$(test_lib
))
107 $(test_lib
): $(TEST_RESOURCES
) $(satellite_assembly1
) $(satellite_assembly2
)
109 $(satellite_assembly1
): Test
/resources
/culture-es-ES.cs Test
/resources
/Resources.es-ES.resources
111 $(CSCOMPILE
) -target
:library
-r
:$(corlib
) Test
/resources
/culture-es-ES.cs
-resource
:Test
/resources
/Resources.es-ES.resources
-out
:$@
113 $(satellite_assembly2
): Test
/resources
/culture-nn-NO.cs Test
/resources
/Resources.nn-NO.resources
115 $(CSCOMPILE
) -target
:library
-r
:$(corlib
) Test
/resources
/culture-nn-NO.cs
-resource
:Test
/resources
/Resources.nn-NO.resources
-out
:$@
117 vtsdir
= Test
/System.Runtime.Serialization.Formatters.Binary
/VersionTolerantSerialization
119 $(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll \
120 $(vtsdir
)/$(PROFILE
)_TestLib
/2.0/Address.dll \
121 $(vtsdir
)/$(PROFILE
)_TestLib
/3.0/Address.dll \
122 $(vtsdir
)/$(PROFILE
)_TestLib
/4.0/Address.dll \
123 $(vtsdir
)/$(PROFILE
)_TestLib
/5.0/Address.dll \
124 $(vtsdir
)/$(PROFILE
)_TestLib
/6.0/Address.dll
126 test-vts
: $(vtslibs
) $(vtsdir
)/$(PROFILE
)_TestLib
/BinarySerializationOverVersions.exe
128 $(vtsdir
)/$(PROFILE
)_TestLib
/%/Address.dll
: $(vtsdir
)/VersionTolerantSerializationTestLib
/%/Address.cs
130 $(CSCOMPILE
) -target
:library
-r
:$(corlib
) -warn
:0 -out
:$@
$^
132 $(vtsdir
)/$(PROFILE
)_TestLib
/BinarySerializationOverVersions.exe
: $(vtsdir
)/BinarySerializationOverVersions.cs
$(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll
$(test_nunit_dep
)
133 $(CSCOMPILE
) $(test_nunit_ref
) -warn
:0 -r
:$(corlib
) \
134 -r
:$(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll \
135 $(vtsdir
)/BinarySerializationOverVersions.cs
-out
:$@
136 @cp
$(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll
$(vtsdir
)/$(PROFILE
)_TestLib
138 # Need to define TEST_MONO_PATH to an absolute dir since the test is ran from a subdir
139 TEST_MONO_PATH
=$(PWD
)/..
/lib
/$(PROFILE
)
141 run-test-vts
: test-vts
142 @echo Running vts tests...
143 PATH
="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" $(TEST_RUNTIME
) $(RUNTIME_FLAGS
) $(TEST_HARNESS
) $(NOSHADOW_FLAG
) \
144 $(vtsdir
)/$(PROFILE
)_TestLib
/BinarySerializationOverVersions.exe
152 run-test
: run-test-vts
159 $(vtsdir
)/VersionTolerantSerializationTestLib
/1.0/Address.cs \
160 $(vtsdir
)/VersionTolerantSerializationTestLib
/2.0/Address.cs \
161 $(vtsdir
)/VersionTolerantSerializationTestLib
/3.0/Address.cs \
162 $(vtsdir
)/VersionTolerantSerializationTestLib
/4.0/Address.cs \
163 $(vtsdir
)/VersionTolerantSerializationTestLib
/5.0/Address.cs \
164 $(vtsdir
)/VersionTolerantSerializationTestLib
/6.0/Address.cs \
165 $(vtsdir
)/BinarySerializationOverVersions.cs
168 # Android TimeZoneInfo testing....
174 # Remove some code that is protected so we don't have to include all the corlib files.
175 tzi.exe
:System
/AndroidPlatform.cs
$(wildcard System
/TimeZone
*.cs
) ..
/..
/build
/common
/Consts.cs ..
/..
/build
/common
/Locale.cs ..
/Mono.Options
/Mono.Options
/Options.cs
176 trap
"rm -f $(TMP_FILE1) $(TMP_FILE2)" EXIT INT QUIT TERM
&& \
177 sed
's/Environment\.GetResourceString/string.Format/g' ..
/..
/..
/external
/referencesource
/mscorlib
/system
/timezoneinfo.cs
> $(TMP_FILE1
) && \
178 sed
's/StringBuilder\.DefaultCapacity/100/g' ..
/..
/..
/external
/referencesource
/mscorlib
/system
/text
/stringbuildercache.cs
> $(TMP_FILE2
) && \
179 $(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;NET_2_1;NET_3_5;NET_4_0;NET_4_5;MONO;DISABLE_CAS_USE;MOBILE;MOBILE_DYNAMIC;MONODROID;ANDROID" $^
$(TMP_FILE1
) $(TMP_FILE2
)
182 mkdir
-p android
/tzdb
/usr
/share
/zoneinfo
183 mkdir
-p android
/tzdb
/misc
/zoneinfo
/zoneinfo
184 android_root
=`adb shell echo '$$ANDROID_ROOT' | tr -d "\r"` ; \
185 android_data
=`adb shell echo '$$ANDROID_DATA' | tr -d "\r"` ; \
186 adb
$(ADB_TARGET
) pull
$$android_root/usr
/share
/zoneinfo android
/tzdb
/usr
/share
/zoneinfo || true
; \
187 adb
$(ADB_TARGET
) pull
$$android_data/misc
/zoneinfo
/tzdata android
/tzdb
/misc
/zoneinfo || true
189 android-dump-tzdata
: tzi.exe android-pull-tzdb
191 __XA_OVERRIDE_TIMEZONE_ID__
=America
/New_York ANDROID_ROOT
="`pwd`/android/tzdb" ANDROID_DATA
="`pwd`/android/tzdb" $(TEST_RUNTIME
) tzi.exe
-o android
/tzdata