Welcome to mirror list, hosted at ThFree Co, Russian Federation.

openjdk.build « openjdk - github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 653c891cbd5506456a0591eaa1334a660671cb9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version="1.0"?>
<project name="ClassLibrary" default="all">
    <property name="pathsep" value=":" />
    <property overwrite="false" name="signoption" value="" />
    <property name="Classpath.dir" value="${project::get-base-directory()}/../../classpath-0.95" />
    <property name="OpenJDK.dir" value="${project::get-base-directory()}/../../openjdk6-b12" />
    <if test="${platform::is-win32()}">
        <property name="pathsep" value=";" />
    </if>

    <target name="all" depends="classes vfs core">
    </target>

    <target name="classes">
        <delete>
            <fileset basedir="${Classpath.dir}">
                <include name="**.class"/>
            </fileset>
        </delete>
        <delete>
            <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>
        <property name="IKVM.Runtime" value="IKVM.Runtime" />
        <if test="${signoption != ''}">
            <loadfile file="../tools/pubkey.txt" property="publickey" />
            <property name="IKVM.Runtime" value="IKVM.Runtime, PublicKey=${publickey}" />
        </if>
        <copy file="AssemblyInfo.java.in" tofile="AssemblyInfo.java" overwrite="true">
            <filterchain>
                <replacetokens>
                    <token key="RUNTIME" value="${IKVM.Runtime}" />
                </replacetokens>
            </filterchain>
        </copy>
        <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" />
    </target>

    <target name="vfs">
        <!-- 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>
    </target>

    <target name="core">
        <exec program="${project::get-base-directory()}/../bin/ikvmc.exe" useruntimeengine="true">
            <arg value="-version:0.37.*" />
            <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" />
            <!-- 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" />
            <!-- we already know that the JNI assembly is not available, so suppress the warning -->
            <arg value="-nowarn:110" />
        </exec>
        <copy file="IKVM.OpenJDK.ClassLibrary.dll" tofile="../bin/IKVM.OpenJDK.ClassLibrary.dll.new" />
        <if test="${platform::is-win32()}">
            <exec program="peverify" commandline="../bin/IKVM.OpenJDK.ClassLibrary.dll.new" />
        </if>
        <copy file="IKVM.OpenJDK.ClassLibrary.dll" todir="../bin" />
        <delete file="../bin/IKVM.OpenJDK.ClassLibrary.dll.new" />
    </target>

</project>