2004-05-27 11:12:04 +04:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<project name="IKVM.Runtime" default="IKVM.Runtime">
|
2010-08-20 09:35:49 +04:00
|
|
|
<include buildfile="../ikvm.include" />
|
2010-05-27 12:38:48 +04:00
|
|
|
<target name="first-pass" depends="DummyLibrary">
|
2007-02-15 12:09:45 +03:00
|
|
|
<property name="first-pass" value="true" />
|
|
|
|
<call target="IKVM.Runtime" />
|
|
|
|
</target>
|
2006-03-01 15:26:25 +03:00
|
|
|
<target name="signed">
|
|
|
|
<property name="signed" value="SIGNCODE" />
|
|
|
|
<property name="signoption" value="-key:ikvm-key" />
|
|
|
|
<property name="ilasm_signoption" value="/key:@ikvm-key" />
|
|
|
|
<call target="IKVM.Runtime" />
|
|
|
|
</target>
|
2005-10-01 15:16:11 +04:00
|
|
|
|
2010-05-27 12:38:48 +04:00
|
|
|
<target name="DummyLibrary">
|
|
|
|
<property name="defs" value="DUMMY" />
|
|
|
|
<if test="${property::exists('signed')}">
|
|
|
|
<property name="defs" value="${defs};${signed}" />
|
|
|
|
</if>
|
|
|
|
<csc noconfig="true" target="library" output="IKVM.OpenJDK.Core.dll" define="${defs}" unsafe="false" rebuild="true">
|
|
|
|
<sources>
|
|
|
|
<include name="../CommonAssemblyInfo.cs" />
|
|
|
|
<include name="Dummy.OpenJDK.Core.cs" />
|
|
|
|
</sources>
|
|
|
|
</csc>
|
|
|
|
</target>
|
|
|
|
|
2007-12-18 12:56:11 +03:00
|
|
|
<target name="IKVM.Runtime.JNI">
|
2008-11-18 10:15:55 +03:00
|
|
|
<loadfile file="../tools/pubkey.txt" property="publickey" />
|
|
|
|
<copy file="JniAssemblyInfo.cs.in" tofile="JniAssemblyInfo.cs" overwrite="true">
|
|
|
|
<filterchain>
|
|
|
|
<replacetokens>
|
|
|
|
<token key="PUBLICKEY" value="${publickey}" />
|
|
|
|
</replacetokens>
|
|
|
|
</filterchain>
|
|
|
|
</copy>
|
2009-07-08 13:02:18 +04:00
|
|
|
<csc noconfig="true" target="library" output="IKVM.Runtime.JNI.dll" define="${defs}" optimize="true" unsafe="true" rebuild="true">
|
|
|
|
<arg unless="${string::starts-with(framework::get-target-framework(), 'mono')}" value="/baseaddress:0x55300000" />
|
2007-12-18 12:56:11 +03:00
|
|
|
<sources>
|
2008-01-03 12:45:49 +03:00
|
|
|
<include name="../CommonAssemblyInfo.cs" />
|
2008-11-18 10:15:55 +03:00
|
|
|
<include name="JniAssemblyInfo.cs" />
|
2007-12-18 12:56:11 +03:00
|
|
|
<include name="JniInterface.cs" />
|
|
|
|
</sources>
|
|
|
|
<references>
|
2008-12-23 10:28:20 +03:00
|
|
|
<include if="${not first-pass}" name="../bin/IKVM.OpenJDK.Core.dll" asis="true" />
|
2007-12-18 12:56:11 +03:00
|
|
|
<include name="../bin/IKVM.Runtime.dll" asis="true" />
|
2008-05-20 11:15:37 +04:00
|
|
|
<include name="${framework::get-assembly-directory(framework::get-target-framework())}/System.dll" />
|
2007-12-18 12:56:11 +03:00
|
|
|
</references>
|
|
|
|
</csc>
|
|
|
|
<copy file="IKVM.Runtime.JNI.dll" todir="../bin" />
|
|
|
|
</target>
|
|
|
|
|
2004-05-27 11:12:04 +04:00
|
|
|
<target name="IKVM.Runtime">
|
2007-02-15 12:09:45 +03:00
|
|
|
<property overwrite="false" name="first-pass" value="false" />
|
2005-10-01 15:16:11 +04:00
|
|
|
<property name="defs" value="TRACE" />
|
2005-12-07 12:06:32 +03:00
|
|
|
<if test="${property::exists('signed')}">
|
2005-10-01 15:16:11 +04:00
|
|
|
<property name="defs" value="${defs};${signed}" />
|
|
|
|
</if>
|
2008-09-21 13:53:06 +04:00
|
|
|
<loadfile file="../tools/pubkey.txt" property="publickey" />
|
|
|
|
<copy file="AssemblyInfo.cs.in" tofile="AssemblyInfo.cs" overwrite="true">
|
|
|
|
<filterchain>
|
|
|
|
<replacetokens>
|
|
|
|
<token key="PUBLICKEY" value="${publickey}" />
|
|
|
|
</replacetokens>
|
|
|
|
</filterchain>
|
|
|
|
</copy>
|
2009-05-24 10:54:24 +04:00
|
|
|
<if test="${version::get-major(framework::get-version(framework::get-target-framework() )) == 4}">
|
2009-06-02 11:38:21 +04:00
|
|
|
<property name="defs" value="${defs};NET_4_0;CLASSGC" />
|
2009-05-24 10:54:24 +04:00
|
|
|
</if>
|
2007-02-15 12:09:45 +03:00
|
|
|
<if test="${first-pass}">
|
|
|
|
<property name="defs" value="${defs};FIRST_PASS" />
|
|
|
|
</if>
|
2007-12-18 12:56:11 +03:00
|
|
|
<if test="${not first-pass}">
|
2010-09-09 10:37:23 +04:00
|
|
|
<!-- on Mono the C# compiler doesn't give an error if the vfs.zip resource is missing, so we have to check it here -->
|
|
|
|
<if test="${not file::exists('../openjdk/vfs.zip')}">
|
|
|
|
<fail message="../openjdk/vfs.zip is missing. Make sure to build ikvm/openjdk first." />
|
|
|
|
</if>
|
2007-12-18 12:56:11 +03:00
|
|
|
<call target="IKVM.Runtime.JNI" />
|
|
|
|
</if>
|
2009-07-08 13:02:18 +04:00
|
|
|
<csc noconfig="true" target="library" output="IKVM.Runtime.dll" define="${defs}" optimize="true" unsafe="false" rebuild="true">
|
|
|
|
<arg unless="${string::starts-with(framework::get-target-framework(), 'mono')}" value="/baseaddress:0x55000000" />
|
2004-05-27 11:12:04 +04:00
|
|
|
<sources>
|
2008-01-03 12:45:49 +03:00
|
|
|
<include name="../CommonAssemblyInfo.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="AssemblyInfo.cs" />
|
2009-09-07 08:19:04 +04:00
|
|
|
<include name="AssemblyClassLoader.cs" />
|
2007-12-28 13:23:46 +03:00
|
|
|
<include name="atomic.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="attributes.cs" />
|
|
|
|
<include name="BigEndianBinaryReader.cs" />
|
|
|
|
<include name="ByteCode.cs" />
|
|
|
|
<include name="ByteCodeHelper.cs" />
|
|
|
|
<include name="ClassFile.cs" />
|
|
|
|
<include name="ClassLoaderWrapper.cs" />
|
|
|
|
<include name="CodeEmitter.cs" />
|
2007-06-13 15:46:24 +04:00
|
|
|
<include name="common.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="compiler.cs" />
|
|
|
|
<include name="CoreClasses.cs" />
|
2009-08-31 10:16:04 +04:00
|
|
|
<include name="DotNetTypeWrapper.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="DynamicClassLoader.cs" />
|
2009-08-31 09:10:11 +04:00
|
|
|
<include name="DynamicTypeWrapper.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="ExceptionHelper.cs" />
|
2008-05-09 09:57:55 +04:00
|
|
|
<include name="intrinsics.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="JavaException.cs" />
|
2009-04-16 09:34:20 +04:00
|
|
|
<include name="JsrInliner.cs" />
|
2010-09-14 11:38:42 +04:00
|
|
|
<include name="LocalVars.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="MemberWrapper.cs" />
|
2008-08-06 16:22:06 +04:00
|
|
|
<include name="openjdk.cs" />
|
2008-08-06 09:25:18 +04:00
|
|
|
<include name="PassiveWeakDictionary.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="profiler.cs" />
|
2008-11-14 11:42:07 +03:00
|
|
|
<include name="ReflectUtil.cs" />
|
2009-03-04 08:47:18 +03:00
|
|
|
<include name="RuntimeHelperTypes.cs" />
|
2009-07-30 17:14:14 +04:00
|
|
|
<include name="Serialization.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="tracer.cs" />
|
2009-10-14 18:58:41 +04:00
|
|
|
<include name="Types.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="TypeWrapper.cs" />
|
|
|
|
<include name="verifier.cs" />
|
2009-05-12 08:30:10 +04:00
|
|
|
<include name="vfs.cs" />
|
2006-04-10 13:09:09 +04:00
|
|
|
<include name="vm.cs" />
|
2004-05-27 11:12:04 +04:00
|
|
|
</sources>
|
2007-06-27 10:14:54 +04:00
|
|
|
<resources>
|
2008-08-06 16:22:06 +04:00
|
|
|
<include if="${not first-pass}" name="../openjdk/vfs.zip" />
|
2007-06-27 10:14:54 +04:00
|
|
|
</resources>
|
2007-02-15 12:09:45 +03:00
|
|
|
<references>
|
2010-05-27 12:38:48 +04:00
|
|
|
<include if="${first-pass}" name="IKVM.OpenJDK.Core.dll" asis="true" />
|
2008-08-06 16:22:06 +04:00
|
|
|
<include if="${not first-pass}" name="../bin/IKVM.Runtime.JNI.dll" asis="true" />
|
2008-12-23 10:28:20 +03:00
|
|
|
<include if="${not first-pass}" name="../bin/IKVM.OpenJDK.Core.dll" asis="true" />
|
|
|
|
<include if="${not first-pass}" name="../bin/IKVM.OpenJDK.Util.dll" asis="true" />
|
|
|
|
<include if="${not first-pass}" name="../bin/IKVM.OpenJDK.Misc.dll" asis="true" />
|
2008-05-20 11:15:37 +04:00
|
|
|
<include name="${framework::get-assembly-directory(framework::get-target-framework())}/System.dll" />
|
2007-12-04 11:09:53 +03:00
|
|
|
<include name="${framework::get-assembly-directory(framework::get-target-framework())}/System.Configuration.dll" />
|
2007-02-15 12:09:45 +03:00
|
|
|
</references>
|
2004-05-27 11:12:04 +04:00
|
|
|
</csc>
|
2010-06-09 10:13:19 +04:00
|
|
|
<copy file="IKVM.Runtime.dll" todir="../bin" />
|
2010-04-12 10:37:18 +04:00
|
|
|
<if test="${not first-pass}">
|
2010-08-20 09:35:49 +04:00
|
|
|
<if test="${property::exists('peverify')}">
|
|
|
|
<exec program="${peverify}" commandline="-nologo ../bin/IKVM.Runtime.dll" />
|
2010-04-12 10:37:18 +04:00
|
|
|
</if>
|
|
|
|
</if>
|
2004-05-27 11:12:04 +04:00
|
|
|
</target>
|
|
|
|
</project>
|