2007-05-24 13:23:02 +04:00
<?xml version="1.0"?>
2008-08-07 11:47:57 +04:00
<project name="ClassLibrary" default="all">
2007-05-24 13:23:02 +04:00
<property name="pathsep" value=":" />
<property overwrite="false" name="signoption" value="" />
2007-08-16 13:53:02 +04:00
<property name="Classpath.dir" value="${project::get-base-directory()}/../../classpath-0.95" />
2008-09-16 11:00:38 +04:00
<property name="OpenJDK.dir" value="${project::get-base-directory()}/../../openjdk6-b12" />
2007-05-24 13:23:02 +04:00
<if test="${platform::is-win32()}">
<property name="pathsep" value=";" />
</if>
2008-08-07 11:47:57 +04:00
<target name="all" depends="classes vfs core">
</target>
2007-05-24 13:23:02 +04:00
<target name="classes">
<delete>
2008-08-07 11:40:57 +04:00
<fileset basedir="${Classpath.dir}">
<include name="**.class"/>
</fileset>
</delete>
2007-05-24 13:23:02 +04:00
<delete>
2008-08-07 11:40:57 +04:00
<fileset basedir="../classpath">
<include name="**.class"/>
</fileset>
</delete>
<delete>
<fileset basedir="${OpenJDK.dir}">
<include name="jdk/src/share/classes/**.class"/>
<include name="jdk/src/solaris/classes/**.class"/>
<include name="jdk/src/windows/classes/**.class"/>
<include name="control/build/linux-amd64/gensrc/**.class"/>
<include name="control/build/linux-amd64/impsrc/**.class"/>
</fileset>
</delete>
<delete>
<fileset basedir=".">
<include name="**.class"/>
</fileset>
</delete>
2008-01-03 12:41:12 +03:00
<property name="IKVM.Runtime" value="IKVM.Runtime" />
<if test="${signoption != ''}">
2008-09-21 13:53:06 +04:00
<loadfile file="../tools/pubkey.txt" property="publickey" />
<property name="IKVM.Runtime" value="IKVM.Runtime, PublicKey=${publickey}" />
2008-01-03 12:41:12 +03:00
</if>
2008-11-14 10:53:04 +03:00
<copy file="AssemblyInfo.java.in" tofile="AssemblyInfo.java" outputencoding="ascii" overwrite="true">
2008-01-03 12:41:12 +03:00
<filterchain>
<replacetokens>
<token key="RUNTIME" value="${IKVM.Runtime}" />
</replacetokens>
</filterchain>
</copy>
2008-06-13 13:00:47 +04:00
<exec program="javac" commandline="-J-Xmx1536M -g -nowarn -bootclasspath ../classpath/mscorlib.jar${pathsep}../classpath/System.jar${pathsep}../classpath/IKVM.Runtime.jar @allsources.lst" useruntimeengine="false" />
2007-05-24 13:23:02 +04:00
</target>
2007-06-27 10:14:54 +04:00
<target name="vfs">
2008-08-07 11:40:57 +04:00
<!-- This file is generated here, but it is added as a resource to IKVM.Runtime.dll, because Ref.Emit on .NET 1.1 doesn't support adding a raw resource. -->
<zip zipfile="vfs.zip">
<fileset basedir="${OpenJDK.dir}/control/build/linux-amd64/j2re-image">
<include name="lib/zi/**/*" />
<include name="lib/currency.data" />
<include name="lib/logging.properties" />
<include name="lib/security/java.policy" />
<include name="lib/security/java.security" />
<include name="lib/security/local_policy.jar" />
<include name="lib/security/US_export_policy.jar" />
</fileset>
</zip>
2007-06-27 10:14:54 +04:00
</target>
2008-08-07 11:47:57 +04:00
<target name="core">
2007-05-24 13:23:02 +04:00
<exec program="${project::get-base-directory()}/../bin/ikvmc.exe" useruntimeengine="true">
2008-11-14 10:51:31 +03:00
<arg value="-version:0.39.*" />
2008-08-07 11:40:57 +04:00
<arg value="${signoption}" />
<arg value="-compressresources" />
<arg value="-opt:fields" />
<arg value="-strictfinalfieldsemantics" />
<arg value="-removeassertions" />
<arg value="-out:IKVM.OpenJDK.ClassLibrary.dll" />
<arg value="-remap:map.xml" />
<arg value="-exclude:exclude.lst" />
<arg value="-target:library" />
<arg value="-recurse:./*.class" />
<arg value="-recurse:../classpath/*.class" />
<arg value="-recurse:${OpenJDK.dir}/jdk/src/share/classes/*.class" />
<arg value="-recurse:${OpenJDK.dir}/jdk/src/solaris/classes/*.class" />
<arg value="-recurse:${OpenJDK.dir}/jdk/src/windows/classes/*.class" />
<arg value="-recurse:${OpenJDK.dir}/control/build/linux-amd64/gensrc/*.class" />
<arg value="-recurse:${OpenJDK.dir}/control/build/linux-amd64/impsrc/*.class" />
<arg value="-recurse:${OpenJDK.dir}/control/build/linux-amd64/classes/*_Stub.class" />
<arg value="-recurse:${OpenJDK.dir}/control/build/linux-amd64/classes/*_Tie.class" />
<arg value="-recurse:${OpenJDK.dir}/control/build/linux-amd64/classes/*_Skel.class" />
<arg value="-recurse:${Classpath.dir}/*.class" />
<arg value="-r:mscorlib" />
<arg value="-r:IKVM.Runtime" />
<arg value="-r:${framework::get-assembly-directory(framework::get-target-framework())}/System.dll" />
<arg value="${OpenJDK.dir}/control/build/linux-amd64/j2re-image/lib/resources.jar" />
2008-09-23 09:03:07 +04:00
<!-- this resource is somehow missing from OpenJDK6 b12's resources.jar -->
<arg value="-resource:com/sun/org/apache/xml/internal/serialize/HTMLEntities.res=${OpenJDK.dir}/control/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serialize/HTMLEntities.res" />
2008-09-22 08:13:47 +04:00
<!-- we already know that the JNI assembly is not available, so suppress the warning -->
<arg value="-nowarn:110" />
2007-05-24 13:23:02 +04:00
</exec>
2007-08-22 15:51:14 +04:00
<copy file="IKVM.OpenJDK.ClassLibrary.dll" tofile="../bin/IKVM.OpenJDK.ClassLibrary.dll.new" />
2007-06-05 10:57:18 +04:00
<if test="${platform::is-win32()}">
2008-08-07 11:40:57 +04:00
<exec program="peverify" commandline="../bin/IKVM.OpenJDK.ClassLibrary.dll.new" />
2007-06-05 10:57:18 +04:00
</if>
2007-08-22 15:51:14 +04:00
<copy file="IKVM.OpenJDK.ClassLibrary.dll" todir="../bin" />
2008-08-07 11:40:57 +04:00
<delete file="../bin/IKVM.OpenJDK.ClassLibrary.dll.new" />
2007-05-24 13:23:02 +04:00
</target>
</project>