2
<project name="reflect" default="IKVM.Reflection">
3
<target name="IKVM.Reflection">
4
<property name="defs" value="TRACE" />
5
<if test="${framework::exists('mono-2.0')}">
6
<property name="defs" value="${defs};MONO" />
8
<if test="${property::exists('signed')}">
9
<property name="defs" value="${defs};${signed}" />
11
<if test="${version::get-major(framework::get-version(framework::get-target-framework() )) == 4}">
12
<property name="defs" value="${defs};NET_4_0" />
14
<!-- workaround for the fact that <include if="${framework::exists('mono-2.0')} ...> still insists on evaluating the name attribute -->
15
<property name="MonoSymbolWriter" value="dummy.dll" />
16
<if test="${framework::exists('mono-2.0')}">
17
<property name="MonoSymbolWriter" value="${path::combine(framework::get-assembly-directory('mono-2.0'), 'Mono.CompilerServices.SymbolWriter.dll')}" />
19
<csc target="library" output="../bin/IKVM.Reflection.dll" optimize="true" define="${defs}">
21
<include name="../CommonAssemblyInfo.cs" />
22
<include name="AmbiguousMatchException.cs" />
23
<include name="Assembly.cs" />
24
<include name="AssemblyName.cs" />
25
<include name="BadImageFormatException.cs" />
26
<include name="Binder.cs" />
27
<include name="ConstructorInfo.cs" />
28
<include name="CustomAttributeData.cs" />
29
<include name="CustomAttributeNamedArgument.cs" />
30
<include name="CustomAttributeTypedArgument.cs" />
31
<include name="CustomModifiers.cs" />
32
<include name="Enums.cs" />
33
<include name="EventInfo.cs" />
34
<include name="ExceptionHandlingClause.cs" />
35
<include name="FieldInfo.cs" />
36
<include name="FieldSignature.cs" />
37
<include name="Fusion.cs" />
38
<include name="GenericWrappers.cs" />
39
<include name="InterfaceMapping.cs" />
40
<include name="LocalVariableInfo.cs" />
41
<include name="ManifestResourceInfo.cs" />
42
<include name="MarshalSpec.cs" />
43
<include name="MemberInfo.cs" />
44
<include name="MethodBase.cs" />
45
<include name="MethodBody.cs" />
46
<include name="MethodImplMap.cs" />
47
<include name="MethodInfo.cs" />
48
<include name="MethodSignature.cs" />
49
<include name="Missing.cs" />
50
<include name="Module.cs" />
51
<include name="ParameterInfo.cs" />
52
<include name="ParameterModifier.cs" />
53
<include name="PropertyInfo.cs" />
54
<include name="PropertySignature.cs" />
55
<include name="Signature.cs" />
56
<include name="StandAloneMethodSig.cs" />
57
<include name="StrongNameKeyPair.cs" />
58
<include name="Type.cs" />
59
<include name="TypeInfo.cs" />
60
<include name="TypeNameParser.cs" />
61
<include name="Universe.cs" />
62
<include name="Util.cs" />
63
<include name="Emit\AssemblyBuilder.cs" />
64
<include name="Emit\ConstructorBuilder.cs" />
65
<include name="Emit\CustomAttributeBuilder.cs" />
66
<include name="Emit\CustomModifiersBuilder.cs" />
67
<include name="Emit\EnumBuilder.cs" />
68
<include name="Emit\Enums.cs" />
69
<include name="Emit\ExceptionHandler.cs" />
70
<include name="Emit\EventBuilder.cs" />
71
<include name="Emit\FieldBuilder.cs" />
72
<include name="Emit\ILGenerator.cs" />
73
<include name="Emit\MethodBuilder.cs" />
74
<include name="Emit\ModuleBuilder.cs" />
75
<include name="Emit\OpCode.cs" />
76
<include name="Emit\OpCodes.cs" />
77
<include name="Emit\ParameterBuilder.cs" />
78
<include name="Emit\PropertyBuilder.cs" />
79
<include name="Emit\SignatureHelper.cs" />
80
<include name="Emit\Tokens.cs" />
81
<include name="Emit\TypeBuilder.cs" />
82
<include name="Impl\ITypeOwner.cs" />
83
<include name="Impl\MdbWriter.cs" />
84
<include name="Impl\PdbWriter.cs" />
85
<include name="Impl\SymbolSupport.cs" />
86
<include name="Metadata\CliHeader.cs" />
87
<include name="Metadata\MetadataRW.cs" />
88
<include name="Metadata\Tables.cs" />
89
<include name="Properties\AssemblyInfo.cs" />
90
<include name="Reader\AssemblyReader.cs" />
91
<include name="Reader\Authenticode.cs" />
92
<include name="Reader\ByteReader.cs" />
93
<include name="Reader\EventInfoImpl.cs" />
94
<include name="Reader\Field.cs" />
95
<include name="Reader\GenericTypeParameter.cs" />
96
<include name="Reader\MetadataReader.cs" />
97
<include name="Reader\Method.cs" />
98
<include name="Reader\ModuleReader.cs" />
99
<include name="Reader\PEReader.cs" />
100
<include name="Reader\PropertyInfoImpl.cs" />
101
<include name="Reader\ResourceModule.cs" />
102
<include name="Reader\TypeDefImpl.cs" />
103
<include name="Writer\ByteBuffer.cs" />
104
<include name="Writer\Heaps.cs" />
105
<include name="Writer\MetadataWriter.cs" />
106
<include name="Writer\ModuleWriter.cs" />
107
<include name="Writer\PEWriter.cs" />
108
<include name="Writer\ResourceSection.cs" />
109
<include name="Writer\TextSection.cs" />
110
<include name="Writer\VersionInfo.cs" />
113
<include if="${framework::exists('mono-2.0')}" name="${MonoSymbolWriter}" />