Thu Dec 19 00:06:57 CET 2002 Paolo Molaro <lupus@ximian.com>
[mono.git] / mcs / class / corlib / corlib.build
1 <?xml version="1.0" encoding="iso-8859-1"?>
2
3 <!-- NAnt build file for corlib.dll -->
4 <!-- Target windows builds libraries _for_ windows -->
5 <!-- Target linux builds libraries _for_ linux -->
6
7 <project name="corlib" default="build">
8         <property name="debug" value="true"/>
9         <property name="verbose" value="true"/>
10
11         <target name="build">
12                 <mkdir dir="../lib"/>
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"/>
20
21                         <arg value="/nostdlib"/>        <!-- don't reference mscorlib -->
22                         <arg value="/noconfig"/>        <!-- don't reference ms assemblies -->
23
24                         <sources>
25                                 <includes name="**/*.cs"/>
26
27                                 <excludes name="Test/**"/>
28                                 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>   <!-- custom security attributes problem -->
29
30                                 <excludes name="Unix/**"/>
31                                 <excludes name="Linux/**"/>
32                                 <excludes name="Windows/**"/>
33                                 <excludes name="System.PAL/**"/>
34                         </sources>
35                 </csc>
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"/>
44
45                         <arg value="/nostdlib"/>
46                         <arg value="/noconfig"/>
47                         <arg value="/r:mscorlib.dll"/>
48                         
49                         <sources>
50                                 <includes name="**/*.cs"/>
51
52                                 <excludes name="Test/**"/>
53                                 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>
54
55                                 <excludes name="Unix/**"/>
56                                 <excludes name="Linux/**"/>
57                                 <excludes name="Windows/**"/>
58                                 <excludes name="System.PAL/**"/>
59
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"/>
66
67                                 <!-- DecimalConstantAttribute presence causes security exceptions in corcompare -->
68                                 <excludes name="System/Decimal.cs"/>
69                                 <excludes name="System/DecimalFormatter.cs"/>
70                         </sources>
71                 </csc>
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"/>
80                         <sources>
81                                 <includes name="**/*.cs"/>
82
83                                 <excludes name="Test/**"/>
84
85                                 <excludes name="Unix/**"/>
86                                 <excludes name="Linux/**"/>
87                                 <excludes name="Windows/**"/>
88                                 <excludes name="System.PAL/**"/>
89
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"/>
104
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"/>
114                         </sources>
115                 </csc>
116                 <nant basedir="Test" target="build"/>
117         </target>
118
119         <target name="mcs-build">
120                 <mkdir dir="../lib"/>
121
122                 <mcs target="library" output="../lib/corlib_mcs.dll" debug="false" verbose="${verbose}">
123                         <arg value="--unsafe"/>
124
125                         <arg value="--nostdlib"/>       <!-- don't reference mscorlib -->
126                         <arg value="--noconfig"/>       <!-- don't reference ms assemblies -->
127
128                         <sources>
129                                 <includes name="**/*.cs"/>
130
131                                 <excludes name="Test/**"/>
132                                 <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>   <!-- custom security attributes problem -->
133
134                                 <excludes name="Unix/**"/>
135                                 <excludes name="Linux/**"/>
136                                 <excludes name="Windows/**"/>
137                                 <excludes name="System.PAL/**"/>
138                         </sources>
139                 </mcs>
140
141         </target>
142
143         <target name="test" depends="build">
144                 <nant basedir="Test" target="test"/>
145         </target>
146
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"/>
155         </target>
156 </project>