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="Enums.cs" />
32 <include name="EventInfo.cs" />
33 <include name="ExceptionHandlingClause.cs" />
34 <include name="FieldInfo.cs" />
35 <include name="FieldSignature.cs" />
36 <include name="Fusion.cs" />
37 <include name="GenericWrappers.cs" />
38 <include name="InterfaceMapping.cs" />
39 <include name="LocalVariableInfo.cs" />
40 <include name="ManifestResourceInfo.cs" />
41 <include name="MarshalSpec.cs" />
42 <include name="MemberInfo.cs" />
43 <include name="MethodBase.cs" />
44 <include name="MethodBody.cs" />
45 <include name="MethodImplMap.cs" />
46 <include name="MethodInfo.cs" />
47 <include name="MethodSignature.cs" />
48 <include name="Module.cs" />
49 <include name="ParameterInfo.cs" />
50 <include name="ParameterModifier.cs" />
51 <include name="PropertyInfo.cs" />
52 <include name="PropertySignature.cs" />
53 <include name="Signature.cs" />
54 <include name="StandAloneMethodSig.cs" />
55 <include name="StrongNameKeyPair.cs" />
56 <include name="Type.cs" />
57 <include name="TypeNameParser.cs" />
58 <include name="Universe.cs" />
59 <include name="Util.cs" />
60 <include name="Emit\AssemblyBuilder.cs" />
61 <include name="Emit\ConstructorBuilder.cs" />
62 <include name="Emit\CustomAttributeBuilder.cs" />
63 <include name="Emit\EnumBuilder.cs" />
64 <include name="Emit\Enums.cs" />
65 <include name="Emit\EventBuilder.cs" />
66 <include name="Emit\FieldBuilder.cs" />
67 <include name="Emit\ILGenerator.cs" />
68 <include name="Emit\MethodBuilder.cs" />
69 <include name="Emit\ModuleBuilder.cs" />
70 <include name="Emit\OpCode.cs" />
71 <include name="Emit\OpCodes.cs" />
72 <include name="Emit\ParameterBuilder.cs" />
73 <include name="Emit\PropertyBuilder.cs" />
74 <include name="Emit\SignatureHelper.cs" />
75 <include name="Emit\Tokens.cs" />
76 <include name="Emit\TypeBuilder.cs" />
77 <include name="Impl\CryptoConvert.cs" />
78 <include name="Impl\CryptoHack.cs" />
79 <include name="Impl\ITypeOwner.cs" />
80 <include name="Impl\MdbWriter.cs" />
81 <include name="Impl\PdbWriter.cs" />
82 <include name="Impl\SymbolSupport.cs" />
83 <include name="Metadata\CliHeader.cs" />
84 <include name="Metadata\MetadataRW.cs" />
85 <include name="Metadata\Tables.cs" />
86 <include name="Properties\AssemblyInfo.cs" />
87 <include name="Reader\AssemblyReader.cs" />
88 <include name="Reader\ByteReader.cs" />
89 <include name="Reader\EventInfoImpl.cs" />
90 <include name="Reader\Field.cs" />
91 <include name="Reader\GenericTypeParameter.cs" />
92 <include name="Reader\MetadataReader.cs" />
93 <include name="Reader\Method.cs" />
94 <include name="Reader\ModuleReader.cs" />
95 <include name="Reader\PEReader.cs" />
96 <include name="Reader\PropertyInfoImpl.cs" />
97 <include name="Reader\ResourceModule.cs" />
98 <include name="Reader\TypeDefImpl.cs" />
99 <include name="Writer\ByteBuffer.cs" />
100 <include name="Writer\Heaps.cs" />
101 <include name="Writer\MetadataWriter.cs" />
102 <include name="Writer\ModuleWriter.cs" />
103 <include name="Writer\PEWriter.cs" />
104 <include name="Writer\ResourceSection.cs" />
105 <include name="Writer\TextSection.cs" />
106 <include name="Writer\VersionInfo.cs" />
109 <include if="${framework::exists('mono-2.0')}" name="${MonoSymbolWriter}" />