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"/>
68 <!-- NUnit can only run under windows right now, so build for windows
69 even though this is inside the linux target -->
70 <csc target="library" output="Test/corlib_res.dll" debug="${debug}">
71 <arg value="/nowarn:1595"/>
72 <arg value="/nowarn:0649"/> <!-- field never assigned to -->
73 <arg value="/nowarn:0169"/> <!-- field never used -->
74 <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
75 <arg value="/unsafe"/>
77 <includes name="**/*.cs"/>
79 <excludes name="Test/**"/>
81 <excludes name="Unix/**"/>
82 <excludes name="Linux/**"/>
83 <excludes name="Windows/**"/>
84 <excludes name="System.PAL/**"/>
86 <excludes name="System/Object.cs"/>
87 <excludes name="System/ValueType.cs"/>
88 <excludes name="System/Enum.cs"/>
89 <excludes name="System/Delegate.cs"/>
90 <excludes name="System/MulticastDelegate.cs"/>
91 <excludes name="System/Exception.cs"/>
92 <excludes name="System/Type.cs"/>
93 <excludes name="System/MonoType.cs"/>
94 <excludes name="System/Array.cs"/>
95 <excludes name="System/String.cs"/>
96 <excludes name="System/Console.cs"/>
97 <excludes name="System/AppDomain.cs"/>
98 <excludes name="System/RuntimeTypeHandle.cs"/>
99 <excludes name="System/ICloneable.cs"/>
101 <excludes name="System.Collections/Queue.cs"/>
102 <excludes name="System.Collections/ICollection.cs"/>
103 <excludes name="System.Collections/IEnumerator.cs"/>
104 <excludes name="System.Collections/IEnumerable.cs"/>
105 <excludes name="System.Collections/IList.cs"/>
106 <excludes name="System.PAL/IOperatingSystem.cs"/>
107 <excludes name="System.Reflection.Emit/**"/>
108 <excludes name="System.Runtime.CompilerServices/**"/>
109 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>
112 <nant basedir="Test" target="build"/>
115 <target name="mcs-build">
116 <mkdir dir="../lib"/>
118 <mcs target="library" output="../lib/corlib_mcs.dll" debug="false" verbose="${verbose}">
119 <arg value="--unsafe"/>
121 <arg value="--nostdlib"/> <!-- don't reference mscorlib -->
122 <arg value="--noconfig"/> <!-- don't reference ms assemblies -->
125 <includes name="**/*.cs"/>
127 <excludes name="Test/**"/>
128 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/> <!-- custom security attributes problem -->
130 <excludes name="Unix/**"/>
131 <excludes name="Linux/**"/>
132 <excludes name="Windows/**"/>
133 <excludes name="System.PAL/**"/>
139 <target name="test" depends="build">
140 <nant basedir="Test" target="test"/>
143 <target name="clean">
144 <delete file="../lib/corlib.dll" failonerror="false"/>
145 <delete file="../lib/corlib.pdb" failonerror="false"/>
146 <delete file="../lib/corlib_cmp.dll" failonerror="false"/>
147 <delete file="../lib/corlib_cmp.pdb" failonerror="false"/>
148 <delete file="Test/corlib_res.dll" failonerror="false"/>
149 <delete file="Test/corlib_res.pdb" failonerror="false"/>
150 <nant basedir="Test" target="clean"/>