3 include ..
/..
/build
/rules.make
4 export __SECURITY_BOOTSTRAP_DB
=$(topdir
)/class
/corlib
7 LIBRARY_NAME
= mscorlib.dll
8 LIB_MCS_FLAGS
= $(RESOURCE_FILES
:%=-resource
:%)
9 #LIBRARY_USE_INTERMEDIATE_FILE = yes
11 ifeq (basic
, $(PROFILE
))
15 ifeq (2, $(FRAMEWORK_VERSION_MAJOR
))
16 LIB_MCS_FLAGS
+= --runtime
:v2
18 ifeq (4, $(FRAMEWORK_VERSION_MAJOR
))
19 LIB_MCS_FLAGS
+= --runtime
:v4
21 $(error Unknown framework version
)
27 LIBRARY_COMPILE
= $(BOOT_COMPILE
)
28 LIBRARY_INSTALL_DIR
= $(mono_libdir
)/mono
/$(FRAMEWORK_VERSION
)
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 LOCAL_MCS_FLAGS
= -unsafe
-nostdlib
-nowarn
:612,618 -d
:INSIDE_CORLIB
-d
:LIBC
42 # System.IO/DirectoryInfoTest.cs needs Mono.Posix
43 TEST_MCS_FLAGS
= -debug
-nowarn
:168,219,618,672 -unsafe
-r
:Mono.Posix.dll
-r
:System.Core.dll \
44 -define:MONO_DATACONVERTER_STATIC_METHODS
$(TEST_RESX_RESOURCES
:%=-resource
:%)
47 Test
/resources
/MyResources.resources \
48 Test
/resources
/MyResources.de.resources \
49 Test
/resources
/Empty.resources \
50 Test
/resources
/AFile.txt \
51 Test
/resources
/StreamTest.resources \
52 Test
/resources
/StreamTest.ja.resources \
53 Test
/resources
/bug81759.resources \
54 Test
/resources
/415628.bin \
55 Test
/resources
/Fergie.GED \
56 Test
/resources
/culture-
*.cs \
58 $(TEST_RESOURCES
:.resources
=.resx
)
60 TEST_RESX_RESOURCES
= \
61 Test
/resources
/Resources.resources
63 TEST_RESX_RESOURCES_SATELITE
= \
64 Test
/resources
/Resources.es-ES.resources \
65 Test
/resources
/Resources.nn-NO.resources \
67 CLEAN_FILES
+= $(TEST_RESX_RESOURCES
)
69 include $(topdir
)/build
/library.make
71 ifdef FIXME_CORLIB_CMP
73 corlib_flags
= -unsafe
-nostdlib
74 cmplib
= $(topdir
)/class
/lib
/$(PROFILE
)/corlib_cmp.dll
75 cmppdb
= $(cmplib
:.dll
=.pdb
)
76 cmp_response
= $(depsdir
)/$(PROFILE
)_corlib_cmp.dll.response
77 cmp_makefrag
= $(depsdir
)/$(PROFILE
)_corlib_cmp.dll.makefrag
78 cmp_flags
= -r
:$(PLATFORM_CORLIB
) $(corlib_flags
)
80 EXTRA_DISTFILES
+= corlib_cmp.dll.excludes
81 CLEAN_FILES
+= $(cmplib
) $(cmp_response
) $(cmp_makefrag
) $(cmppdb
)
83 $(cmplib
): $(cmp_makefrag
) $(cmp_response
)
84 $(BOOT_COMPILE
) $(LIBRARY_FLAGS
) $(cmp_flags
) -target
:library
-out
:$@ @
$(cmp_response
)
86 $(cmp_response
): $(sourcefile
) corlib_cmp.dll.excludes
88 @
sort $(sourcefile
) corlib_cmp.dll.excludes | uniq
-u |
$(PLATFORM_CHANGE_SEPARATOR_CMD
) >$@
90 $(cmp_makefrag
): $(cmp_response
)
92 @sed
's,^,$(cmplib): ,' $< >$@
94 # Since we make corlib_cmp on demand, there isn't a real need
95 # to have full dep tracking for it. Also, the generation of this
96 # file is busted on Win32 ('sort' seems to mess up line endings),
97 # leading to a broken build.
99 # -include $(cmp_makefrag)
101 $(cmp_response
) $(cmp_makefrag
): Makefile
$(depsdir
)/.stamp
104 $(TEST_RESX_RESOURCES
) $(TEST_RESX_RESOURCES_SATELITE
): %.resources
: %.resx
105 $(RESGEN
) $< || cp
$@.prebuilt
$@
107 TEST_RESOURCES
= $(TEST_RESX_RESOURCES
) $(TEST_RESX_RESOURCES_SATELITE
)
109 satellite_assembly1
= es-ES
/$(patsubst %.dll
,%.resources.dll
,$(test_lib
))
110 satellite_assembly2
= nn-NO
/$(patsubst %.dll
,%.resources.dll
,$(test_lib
))
112 $(test_lib
): $(TEST_RESOURCES
) $(satellite_assembly1
) $(satellite_assembly2
)
114 $(satellite_assembly1
): Test
/resources
/culture-es-ES.cs Test
/resources
/Resources.es-ES.resources
116 $(CSCOMPILE
) -target
:library
-r
:$(corlib
) Test
/resources
/culture-es-ES.cs
-resource
:Test
/resources
/Resources.es-ES.resources
-out
:$@
118 $(satellite_assembly2
): Test
/resources
/culture-nn-NO.cs Test
/resources
/Resources.nn-NO.resources
120 $(CSCOMPILE
) -target
:library
-r
:$(corlib
) Test
/resources
/culture-nn-NO.cs
-resource
:Test
/resources
/Resources.nn-NO.resources
-out
:$@
122 vtsdir
= Test
/System.Runtime.Serialization.Formatters.Binary
/VersionTolerantSerialization
124 $(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll \
125 $(vtsdir
)/$(PROFILE
)_TestLib
/2.0/Address.dll \
126 $(vtsdir
)/$(PROFILE
)_TestLib
/3.0/Address.dll \
127 $(vtsdir
)/$(PROFILE
)_TestLib
/4.0/Address.dll \
128 $(vtsdir
)/$(PROFILE
)_TestLib
/5.0/Address.dll \
129 $(vtsdir
)/$(PROFILE
)_TestLib
/6.0/Address.dll
131 test-vts
: $(vtslibs
) $(vtsdir
)/$(PROFILE
)_TestLib
/BinarySerializationOverVersions.exe
133 $(vtsdir
)/$(PROFILE
)_TestLib
/%/Address.dll
: $(vtsdir
)/VersionTolerantSerializationTestLib
/%/Address.cs
135 $(CSCOMPILE
) -target
:library
-r
:$(corlib
) -warn
:0 -out
:$@
$^
137 $(vtsdir
)/$(PROFILE
)_TestLib
/BinarySerializationOverVersions.exe
: $(vtsdir
)/BinarySerializationOverVersions.cs
$(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll
$(test_nunit_dep
)
138 $(CSCOMPILE
) $(test_nunit_ref
) -warn
:0 -r
:$(corlib
) \
139 -r
:$(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll \
140 $(vtsdir
)/BinarySerializationOverVersions.cs
-out
:$@
141 @cp
$(vtsdir
)/$(PROFILE
)_TestLib
/1.0/Address.dll
$(vtsdir
)/$(PROFILE
)_TestLib
143 # Need to define TEST_MONO_PATH to an absolute dir since the test is ran from a subdir
144 TEST_MONO_PATH
=$(PWD
)/..
/lib
/$(PROFILE
)
146 run-test-vts
: test-vts
147 @echo Running vts tests...
148 PATH
="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" $(TEST_RUNTIME
) $(RUNTIME_FLAGS
) $(TEST_HARNESS
) -noshadow \
149 $(vtsdir
)/$(PROFILE
)_TestLib
/BinarySerializationOverVersions.exe
152 run-test
: run-test-vts
156 $(vtsdir
)/VersionTolerantSerializationTestLib
/1.0/Address.cs \
157 $(vtsdir
)/VersionTolerantSerializationTestLib
/2.0/Address.cs \
158 $(vtsdir
)/VersionTolerantSerializationTestLib
/3.0/Address.cs \
159 $(vtsdir
)/VersionTolerantSerializationTestLib
/4.0/Address.cs \
160 $(vtsdir
)/VersionTolerantSerializationTestLib
/5.0/Address.cs \
161 $(vtsdir
)/VersionTolerantSerializationTestLib
/6.0/Address.cs \
162 $(vtsdir
)/BinarySerializationOverVersions.cs