1 <?xml version="1.0" encoding="iso-8859-1"?>
3 <!-- NAnt build file for corlib.dll -->
4 <!-- Target windows builds libraries _for_ windows -->
5 <!-- Target linux builds libraries _for_ linux -->
7 <project name="corlib" default="build">
8 <property name="debug" value="true"/>
9 <property name="verbose" value="true"/>
13 <csc target="library" output="../lib/corlib.dll" debug="${debug}">
14 <!-- keep in sync with corlib_cmp.dll below -->
15 <arg value="/nowarn:1595"/>
16 <arg value="/nowarn:0649"/> <!-- field never assigned to -->
17 <arg value="/nowarn:0169"/> <!-- field never used -->
18 <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
19 <arg value="/unsafe"/>
21 <arg value="/nostdlib"/> <!-- don't reference mscorlib -->
22 <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
25 <includes name="**/*.cs"/>
27 <excludes name="Test/**"/>
28 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/> <!-- custom security attributes problem -->
30 <excludes name="Unix/**"/>
31 <excludes name="Linux/**"/>
32 <excludes name="Windows/**"/>
33 <excludes name="System.PAL/**"/>
36 <csc target="library" output="../lib/corlib_cmp.dll" debug="${debug}">
37 <!-- This dll is used to compare with mscorlib -->
38 <!-- It should be the same as corlib.dll minus Object and ValueTyp -->
39 <arg value="/nowarn:1595"/>
40 <arg value="/nowarn:0649"/> <!-- field never assigned to -->
41 <arg value="/nowarn:0169"/> <!-- field never used -->
42 <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
43 <arg value="/unsafe"/>
45 <arg value="/nostdlib"/>
46 <arg value="/noconfig"/>
47 <arg value="/r:mscorlib.dll"/>
50 <includes name="**/*.cs"/>
52 <excludes name="Test/**"/>
53 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>
55 <excludes name="Unix/**"/>
56 <excludes name="Linux/**"/>
57 <excludes name="Windows/**"/>
58 <excludes name="System.PAL/**"/>
60 <excludes name="System/Object.cs"/>
61 <excludes name="System/ValueType.cs"/>
62 <excludes name="System/Enum.cs"/>
63 <excludes name="System/Delegate.cs"/>
64 <excludes name="System/MulticastDelegate.cs"/>
65 <excludes name="System/Exception.cs"/>
67 <!-- DecimalConstantAttribute presence causes security exceptions in corcompare -->
68 <excludes name="System/Decimal.cs"/>
69 <excludes name="System/DecimalFormatter.cs"/>
72 <!-- NUnit can only run under windows right now, so build for windows
73 even though this is inside the linux target -->
74 <csc target="library" output="Test/corlib_res.dll" debug="${debug}">
75 <arg value="/nowarn:1595"/>
76 <arg value="/nowarn:0649"/> <!-- field never assigned to -->
77 <arg value="/nowarn:0169"/> <!-- field never used -->
78 <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
79 <arg value="/unsafe"/>
81 <includes name="**/*.cs"/>
83 <excludes name="Test/**"/>
85 <excludes name="Unix/**"/>
86 <excludes name="Linux/**"/>
87 <excludes name="Windows/**"/>
88 <excludes name="System.PAL/**"/>
90 <excludes name="System/Object.cs"/>
91 <excludes name="System/ValueType.cs"/>
92 <excludes name="System/Enum.cs"/>
93 <excludes name="System/Delegate.cs"/>
94 <excludes name="System/MulticastDelegate.cs"/>
95 <excludes name="System/Exception.cs"/>
96 <excludes name="System/Type.cs"/>
97 <excludes name="System/MonoType.cs"/>
98 <excludes name="System/Array.cs"/>
99 <excludes name="System/String.cs"/>
100 <excludes name="System/Console.cs"/>
101 <excludes name="System/AppDomain.cs"/>
102 <excludes name="System/RuntimeTypeHandle.cs"/>
103 <excludes name="System/ICloneable.cs"/>
105 <excludes name="System.Collections/Queue.cs"/>
106 <excludes name="System.Collections/ICollection.cs"/>
107 <excludes name="System.Collections/IEnumerator.cs"/>
108 <excludes name="System.Collections/IEnumerable.cs"/>
109 <excludes name="System.Collections/IList.cs"/>
110 <excludes name="System.PAL/IOperatingSystem.cs"/>
111 <excludes name="System.Reflection.Emit/**"/>
112 <excludes name="System.Runtime.CompilerServices/**"/>
113 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>
116 <nant basedir="Test" target="build"/>
119 <target name="mcs-build">
120 <mkdir dir="../lib"/>
122 <mcs target="library" output="../lib/corlib_mcs.dll" debug="false" verbose="${verbose}">
123 <arg value="--unsafe"/>
125 <arg value="--nostdlib"/> <!-- don't reference mscorlib -->
126 <arg value="--noconfig"/> <!-- don't reference ms assemblies -->
129 <includes name="**/*.cs"/>
131 <excludes name="Test/**"/>
132 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/> <!-- custom security attributes problem -->
134 <excludes name="Unix/**"/>
135 <excludes name="Linux/**"/>
136 <excludes name="Windows/**"/>
137 <excludes name="System.PAL/**"/>
143 <target name="test" depends="build">
144 <nant basedir="Test" target="test"/>
147 <target name="clean">
148 <delete file="../lib/corlib.dll" failonerror="false"/>
149 <delete file="../lib/corlib.pdb" failonerror="false"/>
150 <delete file="../lib/corlib_cmp.dll" failonerror="false"/>
151 <delete file="../lib/corlib_cmp.pdb" failonerror="false"/>
152 <delete file="Test/corlib_res.dll" failonerror="false"/>
153 <delete file="Test/corlib_res.pdb" failonerror="false"/>
154 <nant basedir="Test" target="clean"/>