You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Pavel Pervov <pm...@gmail.com> on 2008/02/04 09:53:09 UTC

Re: svn commit: r616241 [1/3] - in /harmony/enhanced/drlvm/trunk: ./ make/ make/extra/ make/resources/ make/tests/ make/vm/

Alexey,

I stumbled into two "harmonyvm.properties" in our workspace.

I suppose you should have moved build/make/harmonyvm.properites to
make/resources/harmonyvm.properties instead of creating new file. Am I
right?

Pavel.

On 1/29/08, varlax@apache.org <va...@apache.org> wrote:
> Author: varlax
> Date: Tue Jan 29 02:34:12 2008
> New Revision: 616241
>
> URL: http://svn.apache.org/viewvc?rev=616241&view=rev
> Log:
> normalized ant build system for DRLVM (HARMONY-5359)
>
> Added:
>    harmony/enhanced/drlvm/trunk/build.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/
>    harmony/enhanced/drlvm/trunk/make/build-java.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/build-native.xml
>    harmony/enhanced/drlvm/trunk/make/depends.properties   (with props)
>    harmony/enhanced/drlvm/trunk/make/depends.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/extra/
>    harmony/enhanced/drlvm/trunk/make/extra/apr.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/properties.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/resources/
>    harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties   (with props)
>    harmony/enhanced/drlvm/trunk/make/resources/readme.txt   (with props)
>    harmony/enhanced/drlvm/trunk/make/test.properties   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/
>    harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/ehwa-test.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/jvmti-test.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/kernel-test.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/reg-test-run.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/reg-test.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/smoke-test.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/tests/test-common.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/
>    harmony/enhanced/drlvm/trunk/make/vm/common-vm.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/em.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/encoder.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/gc_cc.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/gc_gen.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/hythr.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/interpreter.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/jitrino.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/kernel.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/port.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/vmcore.xml   (with props)
>    harmony/enhanced/drlvm/trunk/make/vm/vmi.xml   (with props)
>
> Added: harmony/enhanced/drlvm/trunk/build.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/build.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/build.xml (added)
> +++ harmony/enhanced/drlvm/trunk/build.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,337 @@
> +<?xml version="1.0" encoding="ISO-8859-1"?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +
> +<project name="drlvm" default="build">
> +    <description>
> +       Build contributed source and lay out results in the required format
> +    </description>
> +
> +    <import file="make/properties.xml"/>
> +
> +    <target name="help">
> +        <echo>
> +Apache Harmony DRLVM Build
> +
> +Usage:
> +
> +  ant build
> +    Compiles the java and native code to produce a jre in
> +    "build/deploy/jdk/jre".
> +    It is possible to build an individual component via
> +    corresponding targets.
> +
> +  ant clean
> +    Removes all the files generated by a build.
> +
> +  ant rebuild
> +    Performs a full build - that is 'clean' then 'build'.
> +
> +  ant test
> +    Runs smoke and unit tests.
> +
> +  ant test2
> +    Runs all pre-commit tests (in parallel on multi-way machines).
> +    A single suite can be run as:
> +  ant cunit.test      - runs cunit tests
> +  ant ehwa.test       - runs automated Eclispe HWA scenario
> +  ant kernel.test     - runs tests for kernel.classes
> +  ant smoke.test      - runs smoke tests
> +  ant jvmti.test      - runs JVMTI tests
> +  ant reg.test        - runs regression tests
> +    Also, it is possible to run a single testcase from specific suite
> +    and customize JRE configuration, e.g.:
> +  ant smoke.test -Dtest.case=exception.NPE -Dtest.mode=jit -Dtest.vmargs=-XX:+vm.crash_handler
> +
> +  ant doc
> +    Generates the javadoc (TBD).
> +
> +  ant fetch-depends
> +    Fetches dependencies. Note: Some of Harmony's dependencies are
> +    licensed under terms other than the Apache License v2.
> +
> +  ant drlvm-echo echo debug-echo
> +    Display the common properties that are use in the ant build files.
> +
> +        </echo>
> +    </target>
> +
> +    <target name="fetch-depends">
> +        <ant antfile="make/depends.xml" target="fetch"/>
> +    </target>
> +
> +    <target name="check-depends">
> +        <ant antfile="make/depends.xml" target="check"/>
> +    </target>
> +
> +    <target name="rebuild" depends="clean,build"
> +        description="Performs a full build - that is 'clean' then 'build'" />
> +
> +    <target name="build"
> +        depends="drlvm-echo, setup,
> +        interpreter,
> +        kernel,
> +        em,
> +        vmi,
> +        jitrino,
> +        gc_cc,
> +        gc_gen,
> +        deploy,
> +        deploy-relocate,
> +        deploy-canonical"
> +        description="Compiles the java and native code to produce a jdk">
> +    </target>
> +
> +    <target name="clean" depends=""
> +            description="Removes all the files generated by a build">
> +        <delete quiet="true" dir="${drlvm.build.dir}"/>
> +    </target>
> +
> +    <!-- ================================================================
> +            build individual components
> +         ================================================================-->
> +
> +    <target name="build-extra" depends=""
> +        description="Compiles external dependencies">
> +        <ant antfile="make/extra/apr.xml"/>
> +        <ant antfile="make/extra/aprutil.xml"/>
> +        <ant antfile="make/extra/log4cxx.xml"/>
> +    </target>
> +
> +    <target name="encoder">
> +        <ant antfile="make/vm/encoder.xml"/>
> +    </target>
> +
> +    <target name="port" depends="build-extra">
> +        <ant antfile="make/vm/port.xml"/>
> +    </target>
> +
> +    <target name="hythr" depends="port">
> +        <ant antfile="make/vm/hythr.xml"/>
> +    </target>
> +
> +    <target name="vmcore" depends="encoder, port, hythr">
> +        <ant antfile="make/vm/vmcore.xml"/>
> +    </target>
> +
> +    <target name="em" depends="vmcore">
> +        <ant antfile="make/vm/em.xml"/>
> +    </target>
> +
> +    <target name="interpreter" depends="vmcore">
> +        <ant antfile="make/vm/interpreter.xml"/>
> +    </target>
> +
> +    <target name="kernel">
> +        <ant antfile="make/vm/kernel.xml"/>
> +    </target>
> +
> +    <target name="vmi" depends="vmcore">
> +        <ant antfile="make/vm/vmi.xml"/>
> +    </target>
> +
> +    <target name="jitrino" depends="vmcore">
> +        <ant antfile="make/vm/jitrino.xml"/>
> +    </target>
> +
> +    <target name="gc_cc" depends="vmcore,kernel">
> +        <ant antfile="make/vm/gc_cc.xml"/>
> +    </target>
> +
> +    <target name="gc_gen" depends="vmcore,kernel">
> +        <ant antfile="make/vm/gc_gen.xml"/>
> +    </target>
> +
> +
> +    <!-- ================================================================
> +            import the deploy stuff from hdk / classlib
> +         ================================================================-->
> +    <target name="setup">
> +        <mkdir dir="${drlvm.deploy.dir}/lib" />
> +        <mkdir dir="${drlvm.deploy.dir}/jdk/jre" />
> +        <mkdir dir="${drlvm.deploy.dir}/include" />
> +        <copy todir="${drlvm.deploy.dir}">
> +            <fileset dir="${hy.hdk}">
> +                <include name="**" if="import.hdk"/>
> +                <include name="jdk/jre/**" unless="import.hdk"/>
> +                <exclude name="jdk/jre/bin/default/**" unless="import.hdk"/>
> +                <exclude name="bin/*hythr*" unless="import.hdk"/>
> +            </fileset>
> +        </copy>
> +    </target>
> +
> +    <!-- ================================================================
> +            deploy the rest of product
> +         ================================================================-->
> +    <target name="deploy">
> +        <copy todir="${drlvm.deploy.dir}/jdk/include">
> +            <fileset dir="${vm.home}/include">
> +                <include name="jni_types.h" />
> +                <include name="jvmti_types.h" />
> +                <include name="ncai_types.h" />
> +                <include name="jni.h" />
> +                <include name="jvmti.h" />
> +                <include name="ncai.h" />
> +            </fileset>
> +        </copy>
> +
> +        <!-- launcher should use our hythr -->
> +        <copy todir="${drlvm.deploy.dir}/jdk/jre/bin">
> +            <fileset dir="${drlvm.bin.dir}">
> +                <include name="*hythr*"/>
> +            </fileset>
> +        </copy>
> +
> +        <copy file="${drlvm.base.dir}/make/resources/harmonyvm.properties"
> +            todir="${drlvm.bin.dir}"/>
> +
> +        <copy file="${drlvm.base.dir}/make/resources/readme.txt"
> +            todir="${drlvm.deploy.dir}/jdk/jre"/>
> +        <replace file="${drlvm.base.dir}/make/resources/readme.txt">
> +            <replacefilter token="@{hy.os}" value="${hy.os}"/>
> +            <replacefilter token="@{hy.arch}" value="${hy.arch}"/>
> +        </replace>
> +        <fixcrlf srcDir="${drlvm.deploy.dir}/jdk/jre/" includes="readme.txt" />
> +
> +        <chmod perm="755">
> +            <fileset dir="${drlvm.deploy.dir}/jdk/jre/bin">
> +                <include name="java" />
> +                <include name="javaw" />
> +                <include name="*.so" />
> +                <include name="*.so.*" />
> +            </fileset>
> +        </chmod>
> +    </target>
> +
> +
> +    <!-- ==================================================================
> +      place things into canonical 'deploy' directory
> +      so irrespective of the platform, compiler or release/debug
> +      there's a predicable place to find the output
> +      ================================================================== -->
> +    <target name="deploy-canonical" if="deploy.canonical.flag">
> +        <property name="canonical.deploy.dir" location="${drlvm.base.dir}/build/deploy" />
> +        <delete dir="${canonical.deploy.dir}" failonerror="false" />
> +        <mkdir dir="${canonical.deploy.dir}" />
> +        <copy todir="${canonical.deploy.dir}">
> +            <fileset dir="${drlvm.deploy.dir}"/>
> +        </copy>
> +    </target>
> +
> +    <!-- ==================================================================
> +        relocate build for Windows
> +      ================================================================== -->
> +    <target name="deploy-relocate" if="is.windows">
> +        <fileset dir="${drlvm.deploy.dir}/jdk/jre/bin/" id="relocate.files">
> +            <include name="**/*.dll" />
> +        </fileset>
> +
> +        <pathconvert pathsep=" " property="relocate.files.all" refid="relocate.files" />
> +
> +        <exec executable="editbin">
> +            <arg value="/LARGEADDRESSAWARE" />
> +            <arg value="/BIND" />
> +            <arg value="${drlvm.deploy.dir}/jdk/jre/bin/java.exe" />
> +        </exec>
> +
> +        <exec executable="editbin">
> +            <arg value="/LARGEADDRESSAWARE" />
> +            <arg value="/BIND" />
> +            <arg value="/rebase:base=0x500000" />
> +            <arg line="${relocate.files.all}" />
> +        </exec>
> +    </target>
> +
> +    <!-- Main target for generating javadoc & deploying guildes -->
> +    <target name="doc">
> +        <echo message="Not yet completed"/>
> +    </target>
> +
> +    <!-- Main target for tests run: call unit.test and smoke.test -->
> +    <target name="test" depends="drlvm-echo,
> +        jvmti.test, cunit.test, smoke.test, kernel.test">
> +        <fail if="test.failed" message="Some tests failed"/>
> +    </target>
> +
> +    <target name="hut.test">
> +        <property name="hut.module" value="*"/>
> +        <property name="test.vmargs" value=""/>
> +        <ant antfile="${external.dep.CLASSLIB}/build.xml" inheritAll="no">
> +            <target name="properties"/>
> +            <target name="test"/>
> +            <property name="hy.test.vm.name" value="drl"/>
> +            <property name="test.jre.home" value="${drlvm.deploy.dir}/jdk/jre"/>
> +            <property name="short.report" value="true"/>
> +            <property name="hy.test.vmargs" value="${test.vmargs}"/>
> +            <property name="build.module" value="${hut.module}"/>
> +        </ant>
> +    </target>
> +
> +    <target name="test2" depends="drlvm-echo">
> +        <property file="test.properties"/>
> +        <!--property name="run.all.tests" value="true"/-->
> +        <property name="short.report" value="true"/>
> +        <mkdir dir="${base.test.dir}"/>
> +        <parallel threadsPerProcessor="1" failonany="no">
> +            <ant target="hut.test"      output="${base.test.dir}/hut.log"/>
> +            <ant target="kernel.test"   output="${base.test.dir}/kernel.log"/>
> +            <ant target="ehwa.test"     output="${base.test.dir}/ehwa.log"/>
> +            <ant target="jvmti.test"    output="${base.test.dir}/jvmti.log"/>
> +            <ant target="smoke.test"    output="${base.test.dir}/smoke.log"/>
> +            <ant target="reg.test"      output="${base.test.dir}/reg.log"/>
> +            <ant target="cunit.test"    output="${base.test.dir}/cunit.log"/>
> +        </parallel>
> +        <fail if="test.failed" message="Some tests failed"/>
> +    </target>
> +
> +    <!-- Run cunit tests only -->
> +    <target name="cunit.test">
> +        <ant antfile="make/tests/cunit-test.xml" target="cunit-test"/>
> +        <available property="test.failed" file="${base.test.dir}/cunit.test.failed" />
> +    </target>
> +
> +    <!-- Main target to run smoke tests -->
> +    <target name="smoke.test">
> +        <ant antfile="make/tests/smoke-test.xml" target="smoke-test"/>
> +        <available property="test.failed" file="${base.test.dir}/smoke.test.failed" />
> +    </target>
> +
> +    <!-- Main target to run kernel tests -->
> +    <target name="kernel.test">
> +        <ant antfile="make/tests/kernel-test.xml" target="kernel-test"/>
> +        <available property="test.failed" file="${base.test.dir}/kernel.test.failed" />
> +    </target>
> +
> +    <!-- Main target to run Eclipse HelloWorld test scenario -->
> +    <target name="ehwa.test">
> +        <ant antfile="make/tests/ehwa-test.xml" target="ehwa"/>
> +        <available property="test.failed" file="${base.test.dir}/ehwa.test.failed" />
> +    </target>
> +
> +    <!-- Main target to run jvmti tests /-->
> +    <target name="jvmti.test">
> +        <ant antfile="make/tests/jvmti-test.xml" target="jvmti-test"/>
> +        <available property="test.failed" file="${base.test.dir}/jvmti.test.failed" />
> +    </target>
> +
> +    <!-- Main target to run regression test /-->
> +    <target name="reg.test">
> +        <ant antfile="make/tests/reg-test.xml" target="reg-test"/>
> +        <available property="test.failed" file="${base.test.dir}/reg.test.failed" />
> +    </target>
> +
> +</project>
>
> Propchange: harmony/enhanced/drlvm/trunk/build.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/build-java.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/build-java.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/build-java.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/build-java.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,81 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +<project name="build-java">
> +
> +    <dirname property="bj.imported.basedir" file="${ant.file.build-java}"/>
> +    <import file="${bj.imported.basedir}/properties.xml"/>
> +
> +    <macrodef name="compile-java">
> +        <attribute name="src"/>
> +        <attribute name="dest"/>
> +        <element name="javac-elements" implicit="yes" optional="yes"/>
> +        <sequential>
> +            <mkdir dir="@{dest}" />
> +            <hy.javac srcdir="@{src}" destdir="@{dest}" >
> +                <include name="**/*.java"/>
> +                <javac-elements/>
> +            </hy.javac>
> +        </sequential>
> +    </macrodef>
> +
> +    <macrodef name="make-java">
> +        <attribute name="component" default="${component}"/>
> +        <attribute name="src"/>
> +        <attribute name="manifest"/>
> +        <element name="javac-elements" implicit="yes" optional="yes"/>
> +        <sequential>
> +            <compile-java dest="${drlvm.semi.dir}/@{component}/classes" src="@{src}">
> +                <javac-elements/>
> +            </compile-java>
> +            <mkdir dir="${drlvm.bin.dir}"/>
> +            <jar jarfile="${drlvm.bin.dir}/@{component}.jar" manifest="@{manifest}">
> +                <fileset dir="${drlvm.semi.dir}/@{component}/classes"/>
> +            </jar>
> +            <jar jarfile="${drlvm.bin.dir}/@{component}-src.jar" manifest="@{manifest}">
> +                <fileset dir="@{src}" includes="**/*.java"/>
> +            </jar>
> +        </sequential>
> +    </macrodef>
> +
> +    <macrodef name="add-bcp-entry">
> +        <attribute name="name"/>
> +        <attribute name="ordinal"/>
> +        <sequential>
> +            <loadfile srcFile="${drlvm.deploy.dir}/jdk/jre/lib/boot/bootclasspath.properties" property="boot.jar.@{name}" />
> +            <condition property="@{name}.is.bcp">
> +                <contains string="${boot.jar.@{name}}" substring="=@{name}"/>
> +            </condition>
> +            <antcall target="-patch-bcp-properties">
> +                <param name="bcp.patch.ordinal" value="@{ordinal}"/>
> +                <param name="bcp.patch.name" value="@{name}"/>
> +                <propertyset>
> +                  <propertyref name="@{name}.is.bcp"/>
> +                  <globmapper from="@{name}.is.bcp" to="bcp.is.patched"/>
> +                </propertyset>
> +            </antcall>
> +        </sequential>
> +    </macrodef>
> +
> +    <target name="-patch-bcp-properties" unless="bcp.is.patched">
> +        <concat append="true" destfile="${drlvm.deploy.dir}/jdk/jre/lib/boot/bootclasspath.properties"
> +            >bootclasspath.${bcp.patch.ordinal}=${bcp.patch.name}
> +        </concat>
> +        <fixcrlf srcdir="${drlvm.deploy.dir}/jdk/jre/lib/boot" includes="bootclasspath.properties"/>
> +    </target>
> +
> +</project>
>
> Propchange: harmony/enhanced/drlvm/trunk/make/build-java.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/build-native.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/build-native.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/build-native.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/build-native.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,307 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +<project name="build-native">
> +
> +    <dirname property="bn.imported.basedir" file="${ant.file.build-native}"/>
> +    <import file="${bn.imported.basedir}/properties.xml"/>
> +
> +    <macrodef name="clean-native">
> +        <attribute name="component" default="${component}"/>
> +        <sequential>
> +            <delete quiet="true" dir="${drlvm.semi.dir}/@{component}" />
> +        </sequential>
> +    </macrodef>
> +
> +    <target name="setup-native-build" depends="-plugin-cpptasks">
> +
> +        <condition property="is.gcc">
> +            <equals arg1="${hy.cpp.compiler}" arg2="gcc"/>
> +        </condition>
> +
> +        <condition property="is.icc">
> +            <equals arg1="${hy.cpp.compiler}" arg2="icc"/>
> +        </condition>
> +
> +        <condition property="is.icl">
> +            <equals arg1="${hy.cpp.compiler}" arg2="icl"/>
> +        </condition>
> +
> +        <condition property="is.msvc">
> +            <equals arg1="${hy.cpp.compiler}" arg2="msvc"/>
> +        </condition>
> +
> +        <condition property="is.cfg.debug">
> +            <equals arg1="${hy.cfg}" arg2="debug"/>
> +        </condition>
> +        <condition property="is.cfg.release">
> +            <not><equals arg1="${hy.cfg}" arg2="debug"/></not>
> +        </condition>
> +
> +        <!-- build debug: true/false -->
> +        <condition property="cfg.is.debug" value="true" else="false">
> +            <equals arg1="${hy.cfg}" arg2="debug" />
> +        </condition>
> +
> +        <condition property="is.unix.x86_64">
> +            <and>
> +                <isset property="is.unix"/>
> +                <isset property="is.x86_64"/>
> +            </and>
> +        </condition>
> +        <condition property="is.unix.x86">
> +            <and>
> +                <isset property="is.unix"/>
> +                <isset property="is.x86"/>
> +            </and>
> +        </condition>
> +        <condition property="is.unix.ia64">
> +            <and>
> +                <isset property="is.unix"/>
> +                <isset property="is.ia64"/>
> +            </and>
> +        </condition>
> +        <condition property="is.windows.x86">
> +            <and>
> +                <isset property="is.windows"/>
> +                <isset property="is.x86"/>
> +            </and>
> +        </condition>
> +        <condition property="is.windows.x86_64">
> +            <and>
> +                <isset property="is.windows"/>
> +                <isset property="is.x86_64"/>
> +            </and>
> +        </condition>
> +        <condition property="is.windows.ia64">
> +            <and>
> +                <isset property="is.windows"/>
> +                <isset property="is.ia64"/>
> +            </and>
> +        </condition>
> +
> +        <condition property="hy.asm.compiler" value="ml64">
> +            <and>
> +                <isset property="is.windows"/>
> +                <isset property="is.64bit"/>
> +            </and>
> +        </condition>
> +        <condition property="asm.flags" value="/c /Cp /W3 /nologo /Zd /Zi -DWIN32">
> +            <and>
> +                <isset property="is.windows"/>
> +                <isset property="is.64bit"/>
> +            </and>
> +        </condition>
> +        <condition property="hy.asm.compiler" value="ml">
> +            <isset property="is.windows"/>
> +        </condition>
> +        <condition property="asm.flags" value="/c /Cp /W3 /nologo /coff /Zm /Zd /Zi /Gd -DWIN32">
> +            <isset property="is.windows"/>
> +        </condition>
> +        <condition property="asm.obj.switch" value="/Fo">
> +            <isset property="is.windows"/>
> +        </condition>
> +
> +        <property name="hy.asm.compiler" value="${hy.cpp.compiler}"/>
> +
> +           <condition property="asm.flags" value="-Wa,--fatal-warnings -c -x assembler-with-cpp -g">
> +            <or>
> +                <equals arg1="icc" arg2="${hy.asm.compiler}" />
> +                <equals arg1="gcc" arg2="${hy.asm.compiler}" />
> +            </or>
> +        </condition>
> +        <condition property="asm.obj.switch" value="-o">
> +            <or>
> +                <equals arg1="${hy.cpp.compiler}" arg2="gcc"/>
> +                <equals arg1="${hy.cpp.compiler}" arg2="icc"/>
> +            </or>
> +        </condition>
> +
> +        <presetdef name="compile-asm">
> +            <apply executable="${hy.asm.compiler}"
> +                dir="${component.obj.dir}"
> +                dest="${component.obj.dir}"
> +                parallel="true" skipemptyfilesets="on" verbose="no">
> +                <arg line="${asm.flags}" />
> +                <chainedmapper>
> +                    <flattenmapper/>
> +                    <globmapper from="*.asm" to="*${object.suffix}"/>
> +                </chainedmapper>
> +            </apply>
> +        </presetdef>
> +
> +        <macrodef name="init-native">
> +            <attribute name="component" default="${component}"/>
> +            <sequential>
> +                <echo message="## Building '@{component}'" />
> +
> +                <property name="component.build.dir" location="${drlvm.semi.dir}/@{component}" />
> +                <property name="component.obj.dir" location="${component.build.dir}/obj" />
> +                <property name="component.bin.dir" location="${component.build.dir}/bin" />
> +
> +                <mkdir dir="${component.bin.dir}" />
> +                <mkdir dir="${component.obj.dir}" />
> +            </sequential>
> +        </macrodef>
> +
> +        <presetdef name="compile-cc">
> +            <cc objdir="${component.obj.dir}"
> +                debug="${cfg.is.debug}"
> +                name="${hy.cpp.compiler}"
> +                runtime="dynamic" multithreaded="true" subsystem="console">
> +                <compilerarg value="/FR${component.obj.dir}\" if="is.windows"/>
> +                <compilerarg value="/Fd${component.obj.dir}\" if="is.windows"/>
> +                <compilerarg value="/Zi" if="is.windows"/>
> +                <compilerarg value="-fpic" if="is.unix"/>
> +            </cc>
> +        </presetdef>
> +
> +        <macrodef name="make-native">
> +            <attribute name="libname" default="${component}"/>
> +            <attribute name="type" />
> +            <element name="cc-elements" implicit="yes" optional="yes"/>
> +            <sequential>
> +                <condition property="component.need.pdb">
> +                    <and>
> +                        <isset property="is.windows"/>
> +                        <equals arg1="@{type}" arg2="dynamic"/>
> +                    </and>
> +                </condition>
> +
> +                <cc objdir="${component.obj.dir}"
> +                    outfile="${component.bin.dir}/@{libname}"
> +                    outtype="@{type}"
> +                    debug="${cfg.is.debug}"
> +                    name="${hy.cpp.compiler}"
> +                    subsystem="console">
> +                    <linkerarg value="/pdb:${component.bin.dir}/@{libname}.pdb" if="component.need.pdb" />
> +                    <linkerarg value="/debug" if="component.need.pdb" />
> +                    <cc-elements/>
> +                </cc>
> +
> +                <embed-manifest lib="${component.bin.dir}/@{libname}${shlib.suffix}"/>
> +                <deploy-lib/>
> +            </sequential>
> +        </macrodef>
> +
> +        <macrodef name="link-lib">
> +            <attribute name="name" default="${component}"/>
> +            <attribute name="type" />
> +            <element name="link-elements" implicit="yes" optional="yes"/>
> +            <sequential>
> +                <make-native libname="@{name}" type="@{type}">
> +                    <fileset id="component.link.fileset" dir="${component.obj.dir}">
> +                        <include name="*${object.suffix}" />
> +                    </fileset>
> +                    <link-elements/>
> +                </make-native>
> +            </sequential>
> +        </macrodef>
> +
> +        <macrodef name="deploy-lib">
> +            <attribute name="from" default="component.bin.dir"/>
> +            <sequential>
> +                <mkdir dir="${drlvm.lib.dir}" />
> +                <copy todir="${drlvm.lib.dir}">
> +                    <fileset dir="${@{from}}">
> +                        <include name="*${linklib.suffix}" unless="shlib.is.linklib"/>
> +                        <include name="*.exp" if="is.windows"/>
> +                        <include name="*.a" if="is.unix"/>
> +                    </fileset>
> +                </copy>
> +                <mkdir dir="${drlvm.bin.dir}" />
> +                <copy todir="${drlvm.bin.dir}">
> +                    <fileset dir="${@{from}}">
> +                        <include name="*${shlib.suffix}"/>
> +                        <include name="*.pdb" if="is.windows"/>
> +                    </fileset>
> +                </copy>
> +            </sequential>
> +        </macrodef>
> +
> +        <macrodef name="depend-includes">
> +            <attribute name="paths"/>
> +            <sequential>
> +                <pathconvert property="@{paths}.files" refid="@{paths}" pathsep="/*.h ">
> +                    <map from="${vm.home}${file.separator}" to=""/>
> +                </pathconvert>
> +                <uptodate property="@{paths}.uptodate" targetfile="${component.bin.dir}/history.xml">
> +                    <srcfiles dir="${vm.home}" includes="${@{paths}.files}"></srcfiles>
> +                </uptodate>
> +                <condition property="@{paths}.outofdate">
> +                    <not><isset property="@{paths}.uptodate"/></not>
> +                </condition>
> +            </sequential>
> +        </macrodef>
> +
> +        <macrodef name="depend-src">
> +            <attribute name="paths"/>
> +            <sequential>
> +                <uptodate property="@{paths}.uptodate" targetfile="${component.bin.dir}/history.xml">
> +                    <srcfiles refid="@{paths}"></srcfiles>
> +                    <!--chainedmapper>
> +                        <flattenmapper/>
> +                        <globmapper from="*.c" to="${portlib.obj.dir}${file.separator}*${object.suffix}"/>
> +                    </chainedmapper-->
> +                </uptodate>
> +                <condition property="@{paths}.outofdate">
> +                    <not><isset property="@{paths}.uptodate"/></not>
> +                </condition>
> +            </sequential>
> +        </macrodef>
> +
> +        <macrodef name="depend-selector">
> +            <attribute name="rebuild-flag"
> +                description="name of a property which allows incremental rebuild"/>
> +            <attribute name="id"/>
> +            <attribute name="type" default="cpp"/>
> +            <sequential>
> +                <selector id="@{id}">
> +                    <or><selector if="@{rebuild-flag}">
> +                            <depend targetdir="${component.obj.dir}">
> +                                <mapper>
> +                                <chainedmapper>
> +                                    <flattenmapper/>
> +                                    <globmapper from="*.@{type}" to="*${object.suffix}"/>
> +                                </chainedmapper>
> +                                </mapper>
> +                            </depend>
> +                        </selector>
> +                        <selector unless="@{rebuild-flag}">
> +                            <filename name="**/*"/>
> +                        </selector>
> +                    </or>
> +                </selector>
> +            </sequential>
> +        </macrodef>
> +
> +    </target>
> +
> +    <macrodef name="embed-manifest">
> +        <attribute name="lib"/>
> +        <sequential>
> +            <apply executable="mt.exe" skipemptyfilesets="on">
> +                <fileset file="@{lib}${manifest.suffix}"/>
> +                <arg value="-nologo" />
> +                <arg value="-manifest" />
> +                <srcfile/>
> +                <arg value="-outputresource:@{lib};#2" />
> +            </apply>
> +        </sequential>
> +    </macrodef>
> +
> +</project>
>
> Added: harmony/enhanced/drlvm/trunk/make/depends.properties
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/depends.properties?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/depends.properties (added)
> +++ harmony/enhanced/drlvm/trunk/make/depends.properties Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,80 @@
> +# Licensed to the Apache Software Foundation (ASF) under one or more
> +# contributor license agreements.  See the NOTICE file distributed with
> +# this work for additional information regarding copyright ownership.
> +# The ASF licenses this file to You under the Apache License, Version 2.0
> +# (the "License"); you may not use this file except in compliance with
> +# the License.  You may obtain a copy of the License at
> +#
> +#     http://www.apache.org/licenses/LICENSE-2.0
> +#
> +# Unless required by applicable law or agreed to in writing, software
> +# distributed under the License is distributed on an "AS IS" BASIS,
> +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +# See the License for the specific language governing permissions and
> +# limitations under the License.
> +
> +# Cpptasks, version 1.0 beta 3 or above
> +# http://sourceforge.net/project/showfiles.php?group_id=36177
> +cpptasks=${depends.jars}/cpptasks-1.0b4/cpptasks.zip
> +cpptasks.jar=${depends.jars}/cpptasks-1.0b4/cpptasks.jar
> +cpptasks.unzip.path=cpptasks-1.0b4/cpptasks.jar
> +cpptasks.url=http://heanet.dl.sourceforge.net/sourceforge/ant-contrib/cpptasks-1.0b4.zip
> +cpptasks.md5=118e601b58a48519208efa9893c7c5c0
> +
> +# ANother Tool for Language Recognition v2.7.5. generics parser dependency
> +antlr=${depends.jars}/antlr-2.7.5/antlr-2.7.5.jar
> +antlr.url=http://issues.apache.org/jira/secure/attachment/12358381/antlr-2.7.5.jar
> +antlr.md5=6d57df718efd2a03981c309ce3330a1f
> +
> +# org.vmmagic unboxed package. Used to enable address arithmetic in Java
> +vmmagic=${depends.jars}/vmmagic/vmmagic-20070207.jar
> +vmmagic.url=http://cs.anu.edu.au/people/Robin.Garner/vmmagic-20070207.jar
> +vmmagic.md5=c20a2e1b4b54a4fa4cc03a1fbb21c83a
> +
> +# Apache Portable Runtime, version 1.1 or above
> +# http://apr.apache.org/download.cgi
> +apr.src.tgz=${depends.oss}/apr/apr-1.2.6.tar.gz
> +apr.src.rootdir=apr-1.2.6
> +apr.src.tgz.url=http://archive.apache.org/dist/apr/apr-1.2.6.tar.gz
> +apr.src.tgz.md5=d36790357acd43224000a2e493d7c701
> +
> +aprutil.src.tgz=${depends.oss}/apr/apr-util-1.2.6.tar.gz
> +aprutil.src.rootdir=apr-util-1.2.6
> +aprutil.src.tgz.url=http://archive.apache.org/dist/apr/apr-util-1.2.6.tar.gz
> +aprutil.src.tgz.md5=f8f17dd6bd17926ab2b03767f1f3a1fc
> +
> +apriconv.src.tgz=${depends.oss}/apr/apr-iconv-1.1.1.tar.gz
> +apriconv.src.rootdir=apr-iconv-1.1.1
> +apriconv.src.tgz.url=http://archive.apache.org/dist/apr/apr-iconv-1.1.1.tar.gz
> +apriconv.src.tgz.md5=7ca146cc80275ff7e4d3ce45b8fd652a
> +
> +# LOG4CXX
> +# http://logging.apache.org/site/cvs-repositories.html
> +log4cxx.svn.url=http://svn.apache.org/repos/asf/logging/log4cxx/trunk
> +log4cxx.svn.revision=467164
> +log4cxx.svn.dir=${depends.oss}/log4cxx
> +
> +# ZLIB, version 1.2.1 or above
> +# http://www.zlib.net/
> +zlib.dir=${base.dep.dir}/libs/${hy.platform.variant}/zlib-123
> +zlib=${zlib.dir}/zlib.zip
> +zlib.url@x86@=http://www.zlib.net/zlib123-dll.zip
> +zlib.md5@x86@=cc7fa97f9c19386bb701acc79d0abbca
> +zlib.url@x86_64@=http://issues.apache.org/jira/secure/attachment/12351498/zlib-x86_64-dll.zip
> +zlib.md5@x86_64@=7397278304667d4e68e9af073da45d98
> +
> +
> +# Ant-contrib, version 0.6 or above
> +# http://sourceforge.net/project/showfiles.php?group_id=36177
> +ant-contrib=${depends.jars}/ant-contrib-1.0b2/ant-contrib.zip
> +ant-contrib.jar=${depends.jars}/ant-contrib-1.0b2/ant-contrib.jar
> +ant-contrib.unzip.path=ant-contrib/lib/ant-contrib.jar
> +ant-contrib.url=http://superb-west.dl.sourceforge.net/sourceforge/ant-contrib/ant-contrib-1.0b2-bin.zip
> +ant-contrib.md5=576eafb2aca3e87c26d6d274047de482
> +
> +# JASMIN for regression test framework
> +jasmin=${depends.jars}/jasmin-1.1/jasmin-1.1.zip
> +jasmin.jar=${depends.jars}/jasmin-1.1/jasmin.jar
> +jasmin.unzip.path=jasmin-1.1/jasmin.jar
> +jasmin.url=http://mesh.dl.sourceforge.net/sourceforge/jasmin/jasmin-1.1.zip
> +jasmin.md5=bb96616023ab4efdffa173601004fa17
>
> Propchange: harmony/enhanced/drlvm/trunk/make/depends.properties
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/depends.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/depends.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/depends.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/depends.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,33 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +<project name="drlvm-depends" default="check">
> +
> +    <dirname property="dd.basedir" file="${ant.file.drlvm-depends}"/>
> +    <import file="${dd.basedir}/properties.xml"/>
> +
> +    <target name="check">
> +        <check-one-file dest="${cpptasks.jar}" src="${cpptasks.url}"/>
> +        <poll-modules target="check-depends" dir="${dd.basedir}"/>
> +    </target>
> +
> +    <target name="fetch">
> +        <fetch dep="cpptasks"/>
> +        <poll-modules target="fetch-depends" dir="${dd.basedir}"/>
> +    </target>
> +
> +</project>
>
> Propchange: harmony/enhanced/drlvm/trunk/make/depends.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/extra/apr.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/extra/apr.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/extra/apr.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/extra/apr.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,144 @@
> +<?xml version="1.0" encoding="ISO-8859-1"?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +
> +<project name="apr-dep" default="build">
> +
> +    <property name="component" value="apr"/>
> +    <import file="../build-native.xml"/>
> +
> +    <target name="fetch-depends">
> +        <fetch dep="apr.src.tgz"/>
> +    </target>
> +
> +    <target name="check-depends">
> +        <check-one-file dest="${apr.src.tgz}" src="${apr.src.tgz.url}"/>
> +    </target>
> +
> +    <target name="get-src" depends="-setup" unless="is.apr.configured">
> +        <check-one-file dest="${apr.src.tgz}" src="${apr.src.tgz.url}"/>
> +        <mkdir dir="${apr.src}/.." />
> +        <untar src="${apr.src.tgz}" dest="${apr.src}/.." compression="gzip"/>
> +        <move tofile="${apr.src}" file="${apr.src}/../${apr.src.rootdir}"/>
> +    </target>
> +
> +    <target name="-setup">
> +        <property name="apr.src" location="${drlvm.semi.dir}/apr/src" />
> +        <condition property="is.apr.configured" value="true">
> +            <available file="${apr.src}/include/apr.h" />
> +        </condition>
> +    </target>
> +
> +    <target name="apr-configure" depends="get-src"
> +        unless="is.apr.configured" if="is.unix">
> +        <chmod perm="+x">
> +            <fileset dir="${apr.src}/build">
> +                <include name="**/*" />
> +            </fileset>
> +        </chmod>
> +
> +        <exec executable="sh" dir="${apr.src}">
> +            <arg value="./configure" />
> +        </exec>
> +        <replace file="${apr.src}/include/apr.h">
> +            <replacefilter token="#define APR_HAS_OS_UUID           1" value="#define APR_HAS_OS_UUID           0" />
> +            <replacefilter token="APR_HAS_POSIXSEM_SERIALIZE        0" value="APR_HAS_POSIXSEM_SERIALIZE        1" />
> +            <replacefilter token="#define APR_HAS_PROC_PTHREAD_SERIALIZE    0" value="#define APR_HAS_PROC_PTHREAD_SERIALIZE    1" />
> +        </replace>
> +        <condition property="extra.flags" value="-fpic" else="">
> +            <isset property="is.x86_64"/>
> +        </condition>
> +        <replace file="${apr.src}/build/apr_rules.mk" token="CFLAGS=" value="CFLAGS=${extra.flags} "/>
> +    </target>
> +
> +    <target name="build" depends="-make-apr-unix,-build-win">
> +        <mkdir dir="${drlvm.include.dir}" />
> +        <copy todir="${drlvm.include.dir}">
> +            <fileset dir="${apr.src}/include" includes="*.h" />
> +        </copy>
> +    </target>
> +
> +    <target name="-make-apr-unix" if="is.unix" depends="apr-configure">
> +        <!-- simply invoke make to let it build as the APR people suggest  -->
> +        <exec executable="make" dir="${apr.src}"/>
> +       <copy file="${apr.src}/.libs/libapr-1.a" todir="${drlvm.lib.dir}" />
> +    </target>
> +
> +    <target name="-build-win" if="is.windows" depends="get-src, setup-native-build" >
> +        <copy file="${apr.src}/include/apr.hw" tofile="${apr.src}/include/apr.h"/>
> +
> +        <init-native />
> +        <make-native libname="apr-1" type="static">
> +            <includepath>
> +                <dirset dir="${apr.src}">
> +                    <include name="include" />
> +                    <include name="include/arch" />
> +                    <include name="include/arch/win32" />
> +                </dirset>
> +            </includepath>
> +            <!-- preserve order of includes -->
> +            <includepath>
> +                <dirset dir="${apr.src}">
> +                    <include name="include/arch/unix" />
> +                </dirset>
> +            </includepath>
> +
> +            <fileset dir="${apr.src}">
> +                <include name="user/win32/*.c" />
> +                <include name="time/win32/*.c" />
> +                <include name="threadproc/win32/*.c" />
> +                <include name="tables/*.c" />
> +                <include name="strings/*.c" />
> +                <include name="shmem/win32/*.c" />
> +                <include name="random/unix/*.c" />
> +                <include name="passwd/*.c" />
> +                <include name="network_io/win32/*.c" />
> +                <include name="network_io/unix/multicast.c" />
> +                <include name="network_io/unix/sockaddr.c" />
> +                <include name="network_io/unix/inet_pton.c" />
> +                <include name="network_io/unix/inet_ntop.c" />
> +                <include name="mmap/win32/*.c" />
> +                <include name="mmap/unix/common.c" />
> +                <include name="misc/unix/version.c" />
> +                <include name="misc/unix/otherchild.c" />
> +                <include name="misc/unix/getopt.c" />
> +                <include name="misc/unix/errorcodes.c" />
> +                <include name="misc/win32/*.c" />
> +                <include name="memory/unix/apr_pools.c" />
> +                <include name="locks/win32/*.c" />
> +                <include name="dso/win32/*.c" />
> +                <include name="file_io/win32/*.c" />
> +                <include name="file_io/unix/fileacc.c" />
> +                <include name="file_io/unix/copy.c" />
> +                <include name="file_io/unix/filepath_util.c" />
> +                <include name="file_io/unix/tempdir.c" />
> +                <include name="file_io/unix/mktemp.c" />
> +                <include name="file_io/unix/fullrw.c" />
> +                <include name="atomic/win32/*.c" />
> +                <include name="support/unix/waitio.c" />
> +                <include name="poll/unix/select.c" />
> +            </fileset>
> +
> +            <defineset define="APR_DECLARE_EXPORT,WIN32,_WINDOWS" />
> +        </make-native>
> +    </target>
> +
> +    <target name="clean" >
> +        <clean-native component="apr"/>
> +    </target>
> +
> +</project>
>
> Propchange: harmony/enhanced/drlvm/trunk/make/extra/apr.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,145 @@
> +<?xml version="1.0" encoding="ISO-8859-1"?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +
> +<project name="aprutil-dep" default="build">
> +
> +    <property name="component" value="aprutil"/>
> +    <import file="../build-native.xml"/>
> +
> +    <target name="fetch-depends">
> +        <fetch dep="aprutil.src.tgz"/>
> +        <fetch dep="apriconv.src.tgz"/>
> +    </target>
> +
> +    <target name="check-depends">
> +        <check-one-file dest="${aprutil.src.tgz}" src="${aprutil.src.tgz.url}"/>
> +        <check-one-file dest="${apriconv.src.tgz}" src="${apriconv.src.tgz.url}"/>
> +    </target>
> +
> +    <target name="get-src" depends="-setup" unless="is.aprutil.configured">
> +        <check-one-file dest="${aprutil.src.tgz}" src="${aprutil.src.tgz.url}"/>
> +        <check-one-file dest="${apriconv.src.tgz}" src="${apriconv.src.tgz.url}"/>
> +
> +        <mkdir dir="${aprutil.src}/.." />
> +        <untar src="${aprutil.src.tgz}" dest="${aprutil.src}/.." compression="gzip"/>
> +        <move tofile="${aprutil.src}" file="${aprutil.src}/../${aprutil.src.rootdir}"/>
> +
> +        <untar src="${apriconv.src.tgz}" dest="${aprutil.src}/.." compression="gzip">
> +            <patternset includes="*/include/apr_iconv.h"/>
> +        </untar>
> +        <copy file="${aprutil.src}/../${apriconv.src.rootdir}/include/apr_iconv.h"
> +            todir="${drlvm.include.dir}"/>
> +    </target>
> +
> +    <target name="-setup">
> +        <property name="aprutil.src" location="${drlvm.semi.dir}/aprutil/src" />
> +        <property name="includes" location="${aprutil.src}/include" />
> +        <condition property="is.aprutil.configured" value="true">
> +            <and>
> +                <available file="${includes}/apu.h" />
> +                <available file="${includes}/private/apu_config.h" />
> +                <available file="${aprutil.src}/xml/expat/lib/expat.h" />
> +                <available file="${aprutil.src}/xml/expat/config.h" />
> +                <available file="${drlvm.include.dir}/apr_iconv.h" />
> +            </and>
> +        </condition>
> +    </target>
> +
> +    <target name="-configure-unix" unless="is.aprutil.configured" if="is.unix">
> +        <chmod perm="+x">
> +            <fileset dir="${aprutil.src}/build">
> +                <include name="**/*" />
> +            </fileset>
> +            <fileset dir="${aprutil.src}">
> +                <include name="*" />
> +            </fileset>
> +            <fileset dir="${aprutil.src}/xml/expat">
> +                <include name="**/*" />
> +            </fileset>
> +        </chmod>
> +
> +        <exec executable="sh" dir="${aprutil.src}">
> +            <arg value="./buildconf" />
> +            <arg value="--with-apr=${drlvm.semi.dir}/apr/src" />
> +        </exec>
> +        <exec executable="sh" dir="${aprutil.src}">
> +            <arg value="./configure" />
> +            <arg value="--with-apr=${drlvm.semi.dir}/apr/src" />
> +            <arg value="CC=${hy.cpp.compiler}" />
> +        </exec>
> +        <exec executable="sh" dir="${aprutil.src}/xml/expat">
> +            <arg value="./configure" />
> +            <arg value="CC=${hy.cpp.compiler}" />
> +        </exec>
> +    </target>
> +
> +    <target name="-configure-win" unless="is.aprutil.configured" if="is.windows">
> +        <copy tofile="${includes}/apu.h" file="${includes}/apu.hw" />
> +        <copy tofile="${includes}/private/apu_config.h" file="${includes}/private/apu_config.hw" />
> +        <copy tofile="${aprutil.src}/xml/expat/lib/expat.h" file="${aprutil.src}/xml/expat/lib/expat.h.in" />
> +        <copy tofile="${aprutil.src}/xml/expat/config.h" file="${aprutil.src}/xml/expat/lib/winconfig.h" />
> +    </target>
> +
> +    <target name="configure" depends="get-src,-configure-win,-configure-unix">
> +        <replace file="${aprutil.src}/xml/expat/lib/xmlparse.c">
> +            <replacefilter token="XML_MAJOR_VERSION" value="1" />
> +            <replacefilter token="XML_MINOR_VERSION" value="95" />
> +            <replacefilter token="XML_MICRO_VERSION" value="1" />
> +            <replacefilter token="VERSION" value='"expat_1.95.1"' />
> +        </replace>
> +    </target>
> +
> +    <target name="build" depends="configure, setup-native-build">
> +        <mkdir dir="${drlvm.include.dir}" />
> +        <copy todir="${drlvm.include.dir}">
> +            <fileset dir="${aprutil.src}/include"
> +                includes="apr_xlate.h apr_xml.h apu.h" />
> +        </copy>
> +
> +        <init-native />
> +        <make-native libname="aprutil-1" type="static">
> +            <includepath>
> +                <pathelement location="${drlvm.include.dir}" />
> +                <dirset dir="${aprutil.src}">
> +                    <include name="include" />
> +                    <include name="include/private" />
> +                    <include name="xml/expat/lib" />
> +                    <include name="xml/expat" />
> +                </dirset>
> +            </includepath>
> +            <fileset dir="${aprutil.src}">
> +                <include name="xml/apr_xml.c" />
> +                <include name="xlate/xlate.c" />
> +            </fileset>
> +            <fileset dir="${aprutil.src}/xml/expat/lib" includes="xmlparse.c xmlrole.c xmltok.c" />
> +
> +            <defineset define="APR_DECLARE_EXPORT,APU_DECLARE_EXPORT,API_DECLARE_EXPORT" />
> +            <defineset define="WIN32,_WINDOWS" if="is.windows"/>
> +            <defineset define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE" if="is.unix"/>
> +            <defineset>
> +                <define name="APU_HAVE_APR_ICONV" value="0" if="is.unix"/>
> +            </defineset>
> +            <compilerarg value="-fPIC" if="is.unix" unless="is.x86"/>
> +        </make-native>
> +    </target>
> +
> +    <target name="clean" >
> +        <clean-native component="aprutil"/>
> +    </target>
> +
> +</project>
>
> Propchange: harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,101 @@
> +<?xml version="1.0" encoding="ISO-8859-1"?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +
> +<project name="log4cxx" default="build">
> +
> +    <property name="component" value="log4cxx"/>
> +    <import file="../build-native.xml"/>
> +
> +    <target name="fetch-depends">
> +        <ant antfile="${common.resources}/make/svn.xml" target="fetch-svn">
> +            <property name="dependency" value="log4cxx"/>
> +        </ant>
> +    </target>
> +
> +    <target name="check-depends">
> +        <ant antfile="${common.resources}/make/svn.xml" target="check-svn">
> +            <property name="dependency" value="log4cxx"/>
> +        </ant>
> +    </target>
> +
> +    <target name="setup" depends="check-depends">
> +        <property name="log4cxx.src" location="${log4cxx.svn.dir}"/>
> +        <property name="log4cxx.include" location="${drlvm.include.dir}"/>
> +        <condition property="config.available" value="true">
> +            <and>
> +                <available file="${log4cxx.include}/log4cxx/log4cxx.h" />
> +                <available file="${log4cxx.include}/log4cxx/private/log4cxx_private.h" />
> +            </and>
> +        </condition>
> +    </target>
> +
> +    <target name="configure" depends="setup" unless="config.available">
> +        <condition property="plaf.ext" value=".hw" else=".h.in">
> +            <isset property="is.windows"/>
> +        </condition>
> +        <mkdir dir="${log4cxx.include}" />
> +        <copy todir="${log4cxx.include}" failonerror="true">
> +            <fileset dir="${log4cxx.src}/include">
> +                <include name="**/*.h"/>
> +                <include name="**/*${plaf.ext}"/>
> +            </fileset>
> +        </copy>
> +        <property name="includes" location="${log4cxx.include}" />
> +
> +        <copy tofile="${includes}/log4cxx/log4cxx.h" file="${includes}/log4cxx/log4cxx${plaf.ext}" />
> +        <copy tofile="${includes}/log4cxx/private/log4cxx_private.h" file="${includes}/log4cxx/private/log4cxx_private${plaf.ext}" />
> +
> +        <property name="logchar_is_utf8" value="0" />
> +        <property name="has.wchar_t" value="1" />
> +        <property name="logchar_is_cfstring" value="0" />
> +        <property name="logchar_is_wchar" value="1" />
> +
> +        <replace file="${includes}/log4cxx/log4cxx.h">
> +            <replacefilter token="@LOGCHAR_IS_CFSTRING@" value="${logchar_is_cfstring}" />
> +            <replacefilter token="@LOGCHAR_IS_UTF8@" value="${logchar_is_utf8}" />
> +            <replacefilter token="@LOGCHAR_IS_WCHAR@" value="${logchar_is_wchar}" />
> +        </replace>
> +        <replaceregexp file="${includes}/log4cxx/log4cxx.h" match="#define LOG4CXX_HAS_WCHAR_T.*" replace="#define LOG4CXX_HAS_WCHAR_T ${has.wchar_t}" />
> +    </target>
> +
> +    <target name="build" depends="configure, setup-native-build">
> +        <init-native/>
> +        <make-native libname="log4cxx" type="static">
> +            <includepath>
> +                <pathelement location="${drlvm.include.dir}" />
> +            </includepath>
> +            <includepath path="/usr/include/libxml2" if="is.unix"/>
> +
> +            <fileset dir="${log4cxx.src}/src">
> +                <include name="*.cpp" />
> +            </fileset>
> +
> +            <defineset define="APR_DECLARE_EXPORT,APU_DECLARE_EXPORT,LOG4CXX_STATIC,LOG4CXX"/>
> +            <defineset define="_USRDLL,DLL_EXPORTS,WIN32" if="is.windows"/>
> +            <!--defineset define="STDC_HEADERS" if="is.unix"/-->
> +            <!--defineset define="FREEBSD" if="is.freebsd"/-->
> +            <compilerarg value="-fPIC" if="is.unix" unless="is.x86"/>
> +            <compilerarg value="/EHsc" if="is.windows"/>
> +        </make-native>
> +    </target>
> +
> +    <target name="clean" >
> +        <clean-native/>
> +    </target>
> +
> +</project>
>
> Propchange: harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/properties.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/properties.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/properties.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/properties.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,144 @@
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +<project name="build-settings">
> +
> +    <property file="${user.home}/.harmony-drlvm.properties" />
> +    <dirname property="prop.imported.basedir" file="${ant.file.build-settings}"/>
> +
> +    <property name="drlvm.base.dir" location="${prop.imported.basedir}/.." />
> +    <property name="hy.test.vm.name" value="drl"/>
> +
> +    <!-- pick up cfg from command line or env -->
> +    <condition property="hy.cfg" value="${BUILD_CFG}">
> +        <isset property="BUILD_CFG" />
> +    </condition>
> +    <condition property="hy.cfg" value="${env.BUILD_CFG}">
> +        <isset property="env.BUILD_CFG" />
> +    </condition>
> +
> +    <!-- pick up cpp compiler from command line or env -->
> +    <condition property="hy.cpp.compiler" value="${CXX}">
> +        <isset property="CXX" />
> +    </condition>
> +    <condition property="hy.cpp.compiler" value="${env.CXX}">
> +        <isset property="env.CXX" />
> +    </condition>
> +
> +    <condition property="hy.cpp.compiler" value="msvc">
> +        <os family="windows"/>
> +    </condition>
> +    <property name="hy.cpp.compiler" value="gcc"/>
> +
> +
> +    <!-- set the path root for the external resources  -->
> +    <property name="common.resources.loc" value="${drlvm.base.dir}/../common_resources" />
> +    <property name="common.resources" location="${common.resources.loc}" />
> +    <fail>
> +        <condition>
> +            <not><available file="${common.resources}/make/properties.xml"/></not>
> +        </condition>
> +        Primary dependency is missing: common_resources.
> +        You need to check it out from SVN repository or specify it's location:
> +        ant -Dcommon.resources.loc=path
> +    </fail>
> +
> +    <import file="${common.resources}/make/properties.xml"/>
> +    <import file="${common.resources}/make/depends.xml"/>
> +
> +    <!-- define drlvm-specific resources -->
> +    <loadproperties srcfile="${prop.imported.basedir}/depends.properties">
> +      <filterchain>
> +        <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
> +            <param type="token" name="${hy.arch}" value=""/>
> +        </filterreader>
> +      </filterchain>
> +    </loadproperties>
> +
> +    <!-- Harmony Development Kit (HDK) supports modular development mode
> +         by providing all the header files and binaries required for building -->
> +    <!-- By default, external classlib build partially substitutes the HDK -->
> +    <property name="external.dep.CLASSLIB.loc" value="${drlvm.base.dir}/../working_classlib" />
> +    <property name="external.dep.CLASSLIB" location="${external.dep.CLASSLIB.loc}" />
> +    <condition property="import.hdk">
> +        <isset property="hy.hdk"/>
> +    </condition>
> +    <property name="hy.hdk" value="${external.dep.CLASSLIB}/deploy"/>
> +    <condition property="hy.hdk.shlibs"
> +        value="${hy.hdk}/jdk/jre/bin"
> +        else="${hy.hdk}/lib">
> +        <isset property="shlib.is.linklib"/>
> +    </condition>
> +
> +    <property name="vm.home" location="${drlvm.base.dir}/vm" />
> +    <property name="drlvm.build.dir" location="${drlvm.base.dir}/build/${hy.os}_${hy.arch}_${hy.cpp.compiler}_${hy.cfg}" />
> +    <property name="drlvm.deploy.dir" location="${drlvm.build.dir}/deploy" />
> +    <property name="drlvm.semi.dir" location="${drlvm.build.dir}/semis" />
> +    <property name="drlvm.bin.dir" location="${drlvm.deploy.dir}/jdk/jre/bin/default"/>
> +    <property name="drlvm.lib.dir" location="${drlvm.deploy.dir}/lib"/>
> +    <property name="drlvm.include.dir" location="${drlvm.deploy.dir}/include"/>
> +    <condition property="drlvm.shlib.dir"
> +        value="${drlvm.bin.dir}"
> +        else="${drlvm.lib.dir}">
> +        <isset property="shlib.is.linklib"/>
> +    </condition>
> +    <property name="base.test.dir" location="${drlvm.build.dir}/tests"/>
> +
> +    <target name="drlvm-echo" depends="svn-prop">
> +        <echo message="DRLVM build Configuration:" />
> +        <echo message="     Hosting Java = ${java.version} (${java.vendor})" />
> +        <echo message="         HDK root = ${hy.hdk}" />
> +        <echo message="               os = ${hy.os}" />
> +        <echo message="             arch = ${hy.arch}" />
> +        <echo message="              cxx = ${hy.cpp.compiler}" />
> +        <echo message="              cfg = ${hy.cfg}" />
> +        <echo message="     svn revision = ${svn.revision}" />
> +        <echo message="        hy.no.sig = ${hy.no.sig}" />
> +        <echo message="    hy.local.zlib = ${hy.local.zlib}" />
> +        <echo message="       target dir = ${drlvm.deploy.dir}" />
> +    </target>
> +
> +    <target name="debug-echo">
> +        <echoproperties>
> +          <propertyset>
> +            <propertyref prefix="build."/>
> +            <propertyref prefix="hy."/>
> +          </propertyset>
> +        </echoproperties>
> +    </target>
> +
> +    <target name="-plugin-ant-contrib">
> +        <check-one-file dest="${ant-contrib.jar}" src="${ant-contrib.url}"/>
> +        <!-- plug in the ANTCONTRIB -->
> +        <taskdef resource="net/sf/antcontrib/antlib.xml">
> +            <classpath>
> +                <pathelement location="${ant-contrib.jar}" />
> +            </classpath>
> +        </taskdef>
> +    </target>
> +
> +    <target name="-plugin-cpptasks" unless="is.cpptasks">
> +        <check-one-file dest="${cpptasks.jar}" src="${cpptasks.url}"/>
> +        <!-- plug in the CPPTASKS -->
> +        <path id="cpptasks.path" path="${cpptasks.jar}"/>
> +        <taskdef resource="cpptasks.tasks"
> +            classpathref="cpptasks.path" loaderref="cpptasks.path.loader"/>
> +        <typedef resource="cpptasks.types"
> +            classpathref="cpptasks.path" loaderref="cpptasks.path.loader"/>
> +        <property name="is.cpptasks" value="true"/>
> +    </target>
> +
> +</project>
> \ No newline at end of file
>
> Propchange: harmony/enhanced/drlvm/trunk/make/properties.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties (added)
> +++ harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,20 @@
> +# This file contains additional options passed to vm by launcher
> +
> +# These are to help the Eclipse plug-in find the kernel classes info
> +bootclasspath.kernel.1=%LAUNCHER_HOME%/%VM_DIR%/kernel.jar
> +bootclasspath.kernel.source.1=%LAUNCHER_HOME%/%VM_DIR%/kernel-src.jar
> +bootclasspath.kernel.source.packageroot.1=/
> +
> +bootclasspath.kernel.2=%LAUNCHER_HOME%/%VM_DIR%/hythr.jar
> +bootclasspath.kernel.source.2=%LAUNCHER_HOME%/%VM_DIR%/hythr-src.jar
> +bootclasspath.kernel.source.packageroot.2=/
> +
> +bootclasspath.kernel.3=%LAUNCHER_HOME%/%VM_DIR%/gc_cc.jar
> +bootclasspath.kernel.source.3=%LAUNCHER_HOME%/%VM_DIR%/gc_cc-src.jar
> +bootclasspath.kernel.source.packageroot.3=/
> +
> +bootclasspath.kernel.4=%LAUNCHER_HOME%/%VM_DIR%/gc_gen.jar
> +bootclasspath.kernel.source.4=%LAUNCHER_HOME%/%VM_DIR%/gc_gen-src.jar
> +bootclasspath.kernel.source.packageroot.4=/
> +
> +# end of file
>
> Propchange: harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/resources/readme.txt
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/resources/readme.txt?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/resources/readme.txt (added)
> +++ harmony/enhanced/drlvm/trunk/make/resources/readme.txt Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,31 @@
> +
> +    Apache Harmony JRE with DRLVM
> +    Binary Release for windows*/x86
> +
> +
> +CONTENTS
> +---------
> +
> +The JRE contains the following directories
> +
> +
> +  bin         - Main DRL executable file and set of dynamic libraries
> +                needed for running
> +  doc         - Getting Started guide
> +  include     - Set of header files containing an external specification
> +  lib         - Compiled classes and other resources
> +
> +
> +SYSTEM REQUIREMENTS
> +-------------------
> +
> +This distribution was build for  the x86 architecture and
> +the windows operating system.
> +
> +
> +JIT EXECUTION MODE
> +------------------
> +
> +By default, the VM runs with the just-in-time compiler enabled.
> +To start the VM with the interpreter, supply the -Xint command-line option
> +right after the executable name.
>
> Propchange: harmony/enhanced/drlvm/trunk/make/resources/readme.txt
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/test.properties
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/test.properties?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/test.properties (added)
> +++ harmony/enhanced/drlvm/trunk/make/test.properties Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,104 @@
> +#
> +#  Basic controls of the test system.  Note that the quotes
> +#  used to delineate options are not used when specifying
> +#  values
> +#
> +#---------------------------------------------
> +#
> +#   test.mode
> +#
> +# configures how tests are run wrt
> +# which jit or interpreter
> +#
> +# valid values are comma separated list
> +# of VM execution modes,
> +# like defined below "jet", "opt" and "int"
> +#
> +test.mode=jit,opt,int
> +
> +#--------------------------------------------
> +#
> +#  test.timeout
> +#
> +#  time limit to complete test run
> +#  in units of milliseconds
> +test.timeout=1800000
> +
> +# per single jvmti test
> +jvmti.test.timeout=180000
> +# per single regression test
> +reg.test.timeout=600000
> +
> +# --------------------------------------------
> +#
> +#  kernel.test.failfast
> +#
> +# determines if tests should continue on failure
> +# valid values are "off" and "on"
> +#
> +test.failfast=off
> +
> +# --------------------------------------------
> +#
> +#  kernel.test.forkmode
> +#
> +#  instantiate one VM for kernel testsuite
> +#  or one per test
> +#  valid values are "once" and "perTest"
> +#
> +kernel.test.forkmode=once
> +
> +# --------------------------------------------
> +#
> +#  test.vmargs
> +#
> +#  additional arguments for vm to run tests
> +#
> +test.vmargs=-XX:-vm.assert_dialog
> +
> +#--------------------------------------------
> +#
> +#  VM execution modes definitions
> +#
> +#  <mode>.name         human readable description of the mode
> +#  <mode>.switch       cmd-line options to turn the mode on;
> +#                                      beware to avoid empty switch
> +
> +jit.name=Client mode JIT (default)
> +jit.switch=
> +
> +jet.name=jitrino.JET
> +jet.switch=-Xem:jet
> +
> +opt.name=jitrino.OPT
> +opt.switch=-Xem:opt
> +
> +srv.name=Server mode JIT
> +srv.switch=-server
> +
> +int.name=interpreter
> +int.switch=-Xint
> +
> +gc_cc.name=GC v4.1
> +gc_cc.switch=-XX:gc.dll=${shlib.prefix}gc_cc${shlib.suffix}
> +
> +#--------------------------------------------
> +#
> +#  Eclipse HelloWorld development scenario (aka EHWA)
> +#
> +# Locations to obtain platform specific Eclipse SDK bundle
> +# A bundle will be downloaded and stored for local use, unless
> +# ECLIPSE_HOME environment variable points to existing Eclipse installation
> +
> +eclipse.mirror=http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/eclipse/downloads/drops/R-3.2.1-200609210945
> +eclipse-3.3.mirror=http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/eclipse/downloads/drops/R-3.3-200706251500
> +eclipse.windows.x86.url=${eclipse.mirror}/eclipse-SDK-3.2.1-win32.zip
> +#eclipse.windows.x86.url=${eclipse-3.3.mirror}/eclipse-SDK-3.3-win32.zip
> +eclipse.windows.x86_64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-win32-x86_64.zip
> +#eclipse.windows.x86_64.url=${eclipse-3.3.mirror}/eclipse-SDK-3.3-win32-x86_64.zip
> +eclipse.windows.ia64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-win32-ia64.zip
> +eclipse.linux.x86.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk.tar.gz
> +eclipse.linux.x86_64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk-x86_64.tar.gz
> +eclipse.linux.ia64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk-ia64.tar.gz
> +eclipse.macosx.ppc32.url=${eclipse.mirror}/eclipse-platform-SDK-3.2.1-macosx-carbon.tar.gz
> +eclipse.freebsd.x86.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk.tar.gz
>
> Propchange: harmony/enhanced/drlvm/trunk/make/test.properties
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Added: harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml
> URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml?rev=616241&view=auto
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml (added)
> +++ harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml Tue Jan 29 02:34:12 2008
> @@ -0,0 +1,188 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one or more
> +    contributor license agreements.  See the NOTICE file distributed with
> +    this work for additional information regarding copyright ownership.
> +    The ASF licenses this file to You under the Apache License, Version 2.0
> +    (the "License"); you may not use this file except in compliance with
> +    the License.  You may obtain a copy of the License at
> +
> +       http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing, software
> +    distributed under the License is distributed on an "AS IS" BASIS,
> +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> +    See the License for the specific language governing permissions and
> +    limitations under the License.
> +-->
> +<project name="C UNIT TESTS" default="cunit-test">
> +
> +    <import file="test-common.xml"/>
> +    <import file="../vm/common-vm.xml"/>
> +
> +    <property name="cunit.test.dir" location="${base.test.dir}/cunit.tests"/>
> +    <property name="cunit.test.summary" location="${base.test.dir}/cunit.test.failed"/>
> +    <property name="cunit.obj.dir" location="${cunit.test.dir}/obj" />
> +    <property name="cunit.bin.dir" location="${cunit.test.dir}/bin" />
> +
> +    <property name="test.vmdir" location="${test.jre.home}/bin/default"/>
> +
> +    <!-- Set cunit tests sources -->
> +    <fileset id="unit.test.c.src" dir="${vm.home}/tests/unit/thread">
> +        <include name="*.c" />
> +    </fileset>
> +
> +    <!-- Create a list of cunit tests excecutable -->
> +    <condition property="cunit.test.list" value="${test.case}">
> +        <isset property="test.case"/>
> +    </condition>
> +    <pathconvert pathsep="," property="cunit.test.list" refid="unit.test.c.src">
> +        <globmapper from="*.c" to="*"/>
> +    </pathconvert>
> +
> +    <target name="cunit-test" depends="-plugin-ant-contrib,
> +        cunit-compile,cunit-run,cunit-report"/>
> +
> +    <target name="cunit-compile" depends="-common-vm">
> +        <!-- Set cunit tests include dirs -->
> +        <path id="unit.test.c.include">
> +            <pathelement location="${vm.home}/tests/unit/thread/utils" />
> +            <pathelement location="${vm.home}/tests/unit/framework" />
> +            <pathelement location="${hdk.include.dir}" />
> +            <pathelement location="${vm.home}/include" />
> +            <pathelement location="${vm.home}/vmcore/include" />
> +            <pathelement location="${vm.home}/port/include" />
> +        </path>
> +
> +        <mkdir dir="${cunit.obj.dir}" />
> +        <mkdir dir="${cunit.bin.dir}" />
> +
> +        <!-- Compiling cunit tests and framework -->
> +        <echo message="Compiling tests and framework..." />
> +        <cc objdir="${cunit.obj.dir}" multithreaded="true">
> +            <compiler name="${hy.cpp.compiler}" extends="common.c.compiler">
> +                <defineset define="APR_DECLARE_STATIC, BUILDING_VM"/>
> +                <fileset dir="${vm.home}/tests/unit/thread/utils">
> +                    <include name="*.c" />
> +                </fileset>
> +                <fileset dir="${vm.home}/tests/unit/framework">
> +                    <include name="*.c" />
> +                </fileset>
> +                <fileset refid="unit.test.c.src"/>
> +                <includepath refid="unit.test.c.include" />
> +            </compiler>
> +        </cc>
> +
> +        <!-- Compiling cunit tests -->
> +        <for list="${cunit.test.list}" param="file" delimiter=",">
> +            <sequential>
> +
> +                <var name="filename" unset="true" />
> +                <basename property="filename" file="@{file}" />
> +
> +                <echo message="Link test: ${filename}" />
> +
> +                <cc outfile="${cunit.bin.dir}/${filename}"
> +                    runtime="dynamic" multithreaded="true" subsystem="console">
> +
> +                    <linker name="${hy.cpp.compiler}">
> +                        <fileset dir="${cunit.obj.dir}">
> +                            <include name="thread_unit_test_main.o*" />
> +                            <include name="thread_unit_test_utils.o*" />
> +                            <include name="thread_util_platform_dependent.o*" />
> +                            <include name="testframe.o*" />
> +                            <include name="${filename}.o*" />
> +                        </fileset>
> +
> +                        <linkerarg value="/DEBUG" if="is.windows" unless="is.cfg.release"/>
> +                        <libset type="shared" libs="harmonyvm,hythr"
> +                            dir="${hdk.lib.dir}" if="is.windows"/>
> +                        <linkerarg value="/libpath:${test.vmdir}" if="is.windows" />
> +                        <linkerarg value="/NODEFAULTLIB:libcmtd" if="is.windows" />
> +
> +                        <libset type="shared" libs="harmonyvm"
> +                            dir="${test.vmdir}" if="is.unix"/>
> +                        <linkerarg value="-rpath" if="is.unix"/>
> +                        <linkerarg value="${test.jre.home}/bin" if="is.unix"/>
> +                        <linkerarg value="-rpath" if="is.unix"/>
> +                        <linkerarg value="${test.vmdir}" if="is.unix"/>
> +                    </linker>
> +                </cc>
> +            </sequential>
> +        </for>
> +    </target>
> +
> +    <target name="cunit-run">
> +        <delete dir="${cunit.test.dir}/reports" quiet="true"/>
> +        <mkdir dir="${cunit.test.dir}/reports" />
> +        <delete file="${cunit.test.summary}" failonerror="false" />
> +
> +        <echo message="Running tests..." />
> +        <for list="${cunit.test.list}" param="file" delimiter=",">
> +            <sequential>
> +
> +                <var name="filename" unset="true" />
> +                <basename property="filename" file="@{file}" />
> +
> +                <condition property="cunit.extra.args" value="-Xint" else="">
> +                    <isset property="is.ia64"/>
> +                </condition>
> +                <!-- Executing unit test... -->
> +                <echo message="Running: ${filename}" />
> +                <var name="outputproperty" unset="true" />
> +                <var name="resultproperty" unset="true" />
> +                <exec dir="${cunit.bin.dir}"
> +                    executable="${cunit.bin.dir}/${filename}${exe.suffix}"
> +                    resultproperty="resultproperty"
> +                    outputproperty="outputproperty"
> +                    timeout="${test.timeout}">
> +
> +                    <arg value="-Dorg.apache.harmony.vm.vmdir=${test.vmdir}"/>
> +                    <arg value="-Djava.home=${test.jre.home}"/>
> +                    <arg value="-XX:vm.jvmti.enabled=true"/>
> +                    <arg line="${test.vmargs} ${cunit.extra.args}"/>
> +
> +                    <env key="JAVA_HOME" value="${test.jre.home}" />
> +                    <env key="Path" path="${test.jre.home}/bin/;${test.vmdir};${env.Path}" />
> +                    <env key="LD_LIBRARY_PATH" path="${test.jre.home}/bin/:${test.vmdir}" />
> +                </exec>
> +
> +                <echo file="${cunit.test.dir}/reports/${filename}.out" message="${outputproperty}" />
> +
> +                <!-- Checking test result... -->
> +                <condition property="@{file}.status" value="true" else="false">
> +                    <equals arg1="${resultproperty}" arg2="0" />
> +                </condition>
> +
> +                <escape-cdata file="${cunit.test.dir}/reports/${filename}.out" property="@{file}.msg"/>
> +                <property name="@{file}.msg" value=""/>
> +                <to-junit-xml xml="${cunit.test.dir}/reports/TEST-${filename}.xml"
> +                    suite="${filename}"
> +                    status="${@{file}.status}"
> +                    out="${outputproperty}"
> +                    msg="Exit code: ${resultproperty}"
> +                    detail="Exit code: ${resultproperty} Err: ${@{file}.msg}"/>
> +
> +                <if>
> +                    <istrue value="${@{file}.status}"/>
> +                    <then>
> +                        <echo message=" PASSED : ${filename}" />
> +                    </then>
> +                    <else>
> +                        <echo message="*** FAILED **** : ${filename}" />
> +                        <echo message="*** FAILED **** : ${filename} (${resultproperty} res code)${line.separator}" file="${cunit.test.summary}" append="true"/>
> +                    </else>
> +                </if>
> +
> +            </sequential>
> +        </for>
> +    </target>
> +
> +    <target name="cunit-report">
> +        <gen-test-report dir="${cunit.test.dir}/reports"/>
> +        <echo message="Please find tests and results at ${cunit.test.dir}" />
> +        <available property="test.failed" file="${cunit.test.summary}" />
> +        <fail unless="run.all.tests" if="test.failed" message="Some cunit tests failed"/>
> +    </target>
> +
> +</project>
>
> Propchange: harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
>
>


-- 
Pavel Pervov,
Intel Enterprise Solutions Software Division

Re: svn commit: r616241 [1/3] - in /harmony/enhanced/drlvm/trunk: ./ make/ make/extra/ make/resources/ make/tests/ make/vm/

Posted by Alexey Varlamov <al...@gmail.com>.
Pavel,

The point was to provide a smooth transition between systems, so I
kept the old build untouched. Please see an announce thread on this
topic.
Thanks,
Alexey

2008/2/4, Pavel Pervov <pm...@gmail.com>:
> Alexey,
>
> I stumbled into two "harmonyvm.properties" in our workspace.
>
> I suppose you should have moved build/make/harmonyvm.properites to
> make/resources/harmonyvm.properties instead of creating new file. Am I
> right?
>
> Pavel.
>
> On 1/29/08, varlax@apache.org <va...@apache.org> wrote:
> > Author: varlax
> > Date: Tue Jan 29 02:34:12 2008
> > New Revision: 616241
> >
> > URL: http://svn.apache.org/viewvc?rev=616241&view=rev
> > Log:
> > normalized ant build system for DRLVM (HARMONY-5359)
> >
> > Added:
> >    harmony/enhanced/drlvm/trunk/build.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/
> >    harmony/enhanced/drlvm/trunk/make/build-java.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/build-native.xml
> >    harmony/enhanced/drlvm/trunk/make/depends.properties   (with props)
> >    harmony/enhanced/drlvm/trunk/make/depends.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/extra/
> >    harmony/enhanced/drlvm/trunk/make/extra/apr.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/properties.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/resources/
> >    harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties   (with props)
> >    harmony/enhanced/drlvm/trunk/make/resources/readme.txt   (with props)
> >    harmony/enhanced/drlvm/trunk/make/test.properties   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/
> >    harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/ehwa-test.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/jvmti-test.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/kernel-test.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/reg-test-run.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/reg-test.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/smoke-test.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/tests/test-common.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/
> >    harmony/enhanced/drlvm/trunk/make/vm/common-vm.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/em.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/encoder.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/gc_cc.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/gc_gen.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/hythr.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/interpreter.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/jitrino.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/kernel.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/port.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/vmcore.xml   (with props)
> >    harmony/enhanced/drlvm/trunk/make/vm/vmi.xml   (with props)
> >
> > Added: harmony/enhanced/drlvm/trunk/build.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/build.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/build.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/build.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,337 @@
> > +<?xml version="1.0" encoding="ISO-8859-1"?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +
> > +<project name="drlvm" default="build">
> > +    <description>
> > +       Build contributed source and lay out results in the required format
> > +    </description>
> > +
> > +    <import file="make/properties.xml"/>
> > +
> > +    <target name="help">
> > +        <echo>
> > +Apache Harmony DRLVM Build
> > +
> > +Usage:
> > +
> > +  ant build
> > +    Compiles the java and native code to produce a jre in
> > +    "build/deploy/jdk/jre".
> > +    It is possible to build an individual component via
> > +    corresponding targets.
> > +
> > +  ant clean
> > +    Removes all the files generated by a build.
> > +
> > +  ant rebuild
> > +    Performs a full build - that is 'clean' then 'build'.
> > +
> > +  ant test
> > +    Runs smoke and unit tests.
> > +
> > +  ant test2
> > +    Runs all pre-commit tests (in parallel on multi-way machines).
> > +    A single suite can be run as:
> > +  ant cunit.test      - runs cunit tests
> > +  ant ehwa.test       - runs automated Eclispe HWA scenario
> > +  ant kernel.test     - runs tests for kernel.classes
> > +  ant smoke.test      - runs smoke tests
> > +  ant jvmti.test      - runs JVMTI tests
> > +  ant reg.test        - runs regression tests
> > +    Also, it is possible to run a single testcase from specific suite
> > +    and customize JRE configuration, e.g.:
> > +  ant smoke.test -Dtest.case=exception.NPE -Dtest.mode=jit -Dtest.vmargs=-XX:+vm.crash_handler
> > +
> > +  ant doc
> > +    Generates the javadoc (TBD).
> > +
> > +  ant fetch-depends
> > +    Fetches dependencies. Note: Some of Harmony's dependencies are
> > +    licensed under terms other than the Apache License v2.
> > +
> > +  ant drlvm-echo echo debug-echo
> > +    Display the common properties that are use in the ant build files.
> > +
> > +        </echo>
> > +    </target>
> > +
> > +    <target name="fetch-depends">
> > +        <ant antfile="make/depends.xml" target="fetch"/>
> > +    </target>
> > +
> > +    <target name="check-depends">
> > +        <ant antfile="make/depends.xml" target="check"/>
> > +    </target>
> > +
> > +    <target name="rebuild" depends="clean,build"
> > +        description="Performs a full build - that is 'clean' then 'build'" />
> > +
> > +    <target name="build"
> > +        depends="drlvm-echo, setup,
> > +        interpreter,
> > +        kernel,
> > +        em,
> > +        vmi,
> > +        jitrino,
> > +        gc_cc,
> > +        gc_gen,
> > +        deploy,
> > +        deploy-relocate,
> > +        deploy-canonical"
> > +        description="Compiles the java and native code to produce a jdk">
> > +    </target>
> > +
> > +    <target name="clean" depends=""
> > +            description="Removes all the files generated by a build">
> > +        <delete quiet="true" dir="${drlvm.build.dir}"/>
> > +    </target>
> > +
> > +    <!-- ================================================================
> > +            build individual components
> > +         ================================================================-->
> > +
> > +    <target name="build-extra" depends=""
> > +        description="Compiles external dependencies">
> > +        <ant antfile="make/extra/apr.xml"/>
> > +        <ant antfile="make/extra/aprutil.xml"/>
> > +        <ant antfile="make/extra/log4cxx.xml"/>
> > +    </target>
> > +
> > +    <target name="encoder">
> > +        <ant antfile="make/vm/encoder.xml"/>
> > +    </target>
> > +
> > +    <target name="port" depends="build-extra">
> > +        <ant antfile="make/vm/port.xml"/>
> > +    </target>
> > +
> > +    <target name="hythr" depends="port">
> > +        <ant antfile="make/vm/hythr.xml"/>
> > +    </target>
> > +
> > +    <target name="vmcore" depends="encoder, port, hythr">
> > +        <ant antfile="make/vm/vmcore.xml"/>
> > +    </target>
> > +
> > +    <target name="em" depends="vmcore">
> > +        <ant antfile="make/vm/em.xml"/>
> > +    </target>
> > +
> > +    <target name="interpreter" depends="vmcore">
> > +        <ant antfile="make/vm/interpreter.xml"/>
> > +    </target>
> > +
> > +    <target name="kernel">
> > +        <ant antfile="make/vm/kernel.xml"/>
> > +    </target>
> > +
> > +    <target name="vmi" depends="vmcore">
> > +        <ant antfile="make/vm/vmi.xml"/>
> > +    </target>
> > +
> > +    <target name="jitrino" depends="vmcore">
> > +        <ant antfile="make/vm/jitrino.xml"/>
> > +    </target>
> > +
> > +    <target name="gc_cc" depends="vmcore,kernel">
> > +        <ant antfile="make/vm/gc_cc.xml"/>
> > +    </target>
> > +
> > +    <target name="gc_gen" depends="vmcore,kernel">
> > +        <ant antfile="make/vm/gc_gen.xml"/>
> > +    </target>
> > +
> > +
> > +    <!-- ================================================================
> > +            import the deploy stuff from hdk / classlib
> > +         ================================================================-->
> > +    <target name="setup">
> > +        <mkdir dir="${drlvm.deploy.dir}/lib" />
> > +        <mkdir dir="${drlvm.deploy.dir}/jdk/jre" />
> > +        <mkdir dir="${drlvm.deploy.dir}/include" />
> > +        <copy todir="${drlvm.deploy.dir}">
> > +            <fileset dir="${hy.hdk}">
> > +                <include name="**" if="import.hdk"/>
> > +                <include name="jdk/jre/**" unless="import.hdk"/>
> > +                <exclude name="jdk/jre/bin/default/**" unless="import.hdk"/>
> > +                <exclude name="bin/*hythr*" unless="import.hdk"/>
> > +            </fileset>
> > +        </copy>
> > +    </target>
> > +
> > +    <!-- ================================================================
> > +            deploy the rest of product
> > +         ================================================================-->
> > +    <target name="deploy">
> > +        <copy todir="${drlvm.deploy.dir}/jdk/include">
> > +            <fileset dir="${vm.home}/include">
> > +                <include name="jni_types.h" />
> > +                <include name="jvmti_types.h" />
> > +                <include name="ncai_types.h" />
> > +                <include name="jni.h" />
> > +                <include name="jvmti.h" />
> > +                <include name="ncai.h" />
> > +            </fileset>
> > +        </copy>
> > +
> > +        <!-- launcher should use our hythr -->
> > +        <copy todir="${drlvm.deploy.dir}/jdk/jre/bin">
> > +            <fileset dir="${drlvm.bin.dir}">
> > +                <include name="*hythr*"/>
> > +            </fileset>
> > +        </copy>
> > +
> > +        <copy file="${drlvm.base.dir}/make/resources/harmonyvm.properties"
> > +            todir="${drlvm.bin.dir}"/>
> > +
> > +        <copy file="${drlvm.base.dir}/make/resources/readme.txt"
> > +            todir="${drlvm.deploy.dir}/jdk/jre"/>
> > +        <replace file="${drlvm.base.dir}/make/resources/readme.txt">
> > +            <replacefilter token="@{hy.os}" value="${hy.os}"/>
> > +            <replacefilter token="@{hy.arch}" value="${hy.arch}"/>
> > +        </replace>
> > +        <fixcrlf srcDir="${drlvm.deploy.dir}/jdk/jre/" includes="readme.txt" />
> > +
> > +        <chmod perm="755">
> > +            <fileset dir="${drlvm.deploy.dir}/jdk/jre/bin">
> > +                <include name="java" />
> > +                <include name="javaw" />
> > +                <include name="*.so" />
> > +                <include name="*.so.*" />
> > +            </fileset>
> > +        </chmod>
> > +    </target>
> > +
> > +
> > +    <!-- ==================================================================
> > +      place things into canonical 'deploy' directory
> > +      so irrespective of the platform, compiler or release/debug
> > +      there's a predicable place to find the output
> > +      ================================================================== -->
> > +    <target name="deploy-canonical" if="deploy.canonical.flag">
> > +        <property name="canonical.deploy.dir" location="${drlvm.base.dir}/build/deploy" />
> > +        <delete dir="${canonical.deploy.dir}" failonerror="false" />
> > +        <mkdir dir="${canonical.deploy.dir}" />
> > +        <copy todir="${canonical.deploy.dir}">
> > +            <fileset dir="${drlvm.deploy.dir}"/>
> > +        </copy>
> > +    </target>
> > +
> > +    <!-- ==================================================================
> > +        relocate build for Windows
> > +      ================================================================== -->
> > +    <target name="deploy-relocate" if="is.windows">
> > +        <fileset dir="${drlvm.deploy.dir}/jdk/jre/bin/" id="relocate.files">
> > +            <include name="**/*.dll" />
> > +        </fileset>
> > +
> > +        <pathconvert pathsep=" " property="relocate.files.all" refid="relocate.files" />
> > +
> > +        <exec executable="editbin">
> > +            <arg value="/LARGEADDRESSAWARE" />
> > +            <arg value="/BIND" />
> > +            <arg value="${drlvm.deploy.dir}/jdk/jre/bin/java.exe" />
> > +        </exec>
> > +
> > +        <exec executable="editbin">
> > +            <arg value="/LARGEADDRESSAWARE" />
> > +            <arg value="/BIND" />
> > +            <arg value="/rebase:base=0x500000" />
> > +            <arg line="${relocate.files.all}" />
> > +        </exec>
> > +    </target>
> > +
> > +    <!-- Main target for generating javadoc & deploying guildes -->
> > +    <target name="doc">
> > +        <echo message="Not yet completed"/>
> > +    </target>
> > +
> > +    <!-- Main target for tests run: call unit.test and smoke.test -->
> > +    <target name="test" depends="drlvm-echo,
> > +        jvmti.test, cunit.test, smoke.test, kernel.test">
> > +        <fail if="test.failed" message="Some tests failed"/>
> > +    </target>
> > +
> > +    <target name="hut.test">
> > +        <property name="hut.module" value="*"/>
> > +        <property name="test.vmargs" value=""/>
> > +        <ant antfile="${external.dep.CLASSLIB}/build.xml" inheritAll="no">
> > +            <target name="properties"/>
> > +            <target name="test"/>
> > +            <property name="hy.test.vm.name" value="drl"/>
> > +            <property name="test.jre.home" value="${drlvm.deploy.dir}/jdk/jre"/>
> > +            <property name="short.report" value="true"/>
> > +            <property name="hy.test.vmargs" value="${test.vmargs}"/>
> > +            <property name="build.module" value="${hut.module}"/>
> > +        </ant>
> > +    </target>
> > +
> > +    <target name="test2" depends="drlvm-echo">
> > +        <property file="test.properties"/>
> > +        <!--property name="run.all.tests" value="true"/-->
> > +        <property name="short.report" value="true"/>
> > +        <mkdir dir="${base.test.dir}"/>
> > +        <parallel threadsPerProcessor="1" failonany="no">
> > +            <ant target="hut.test"      output="${base.test.dir}/hut.log"/>
> > +            <ant target="kernel.test"   output="${base.test.dir}/kernel.log"/>
> > +            <ant target="ehwa.test"     output="${base.test.dir}/ehwa.log"/>
> > +            <ant target="jvmti.test"    output="${base.test.dir}/jvmti.log"/>
> > +            <ant target="smoke.test"    output="${base.test.dir}/smoke.log"/>
> > +            <ant target="reg.test"      output="${base.test.dir}/reg.log"/>
> > +            <ant target="cunit.test"    output="${base.test.dir}/cunit.log"/>
> > +        </parallel>
> > +        <fail if="test.failed" message="Some tests failed"/>
> > +    </target>
> > +
> > +    <!-- Run cunit tests only -->
> > +    <target name="cunit.test">
> > +        <ant antfile="make/tests/cunit-test.xml" target="cunit-test"/>
> > +        <available property="test.failed" file="${base.test.dir}/cunit.test.failed" />
> > +    </target>
> > +
> > +    <!-- Main target to run smoke tests -->
> > +    <target name="smoke.test">
> > +        <ant antfile="make/tests/smoke-test.xml" target="smoke-test"/>
> > +        <available property="test.failed" file="${base.test.dir}/smoke.test.failed" />
> > +    </target>
> > +
> > +    <!-- Main target to run kernel tests -->
> > +    <target name="kernel.test">
> > +        <ant antfile="make/tests/kernel-test.xml" target="kernel-test"/>
> > +        <available property="test.failed" file="${base.test.dir}/kernel.test.failed" />
> > +    </target>
> > +
> > +    <!-- Main target to run Eclipse HelloWorld test scenario -->
> > +    <target name="ehwa.test">
> > +        <ant antfile="make/tests/ehwa-test.xml" target="ehwa"/>
> > +        <available property="test.failed" file="${base.test.dir}/ehwa.test.failed" />
> > +    </target>
> > +
> > +    <!-- Main target to run jvmti tests /-->
> > +    <target name="jvmti.test">
> > +        <ant antfile="make/tests/jvmti-test.xml" target="jvmti-test"/>
> > +        <available property="test.failed" file="${base.test.dir}/jvmti.test.failed" />
> > +    </target>
> > +
> > +    <!-- Main target to run regression test /-->
> > +    <target name="reg.test">
> > +        <ant antfile="make/tests/reg-test.xml" target="reg-test"/>
> > +        <available property="test.failed" file="${base.test.dir}/reg.test.failed" />
> > +    </target>
> > +
> > +</project>
> >
> > Propchange: harmony/enhanced/drlvm/trunk/build.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/build-java.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/build-java.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/build-java.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/build-java.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,81 @@
> > +<?xml version="1.0" encoding="UTF-8" ?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +<project name="build-java">
> > +
> > +    <dirname property="bj.imported.basedir" file="${ant.file.build-java}"/>
> > +    <import file="${bj.imported.basedir}/properties.xml"/>
> > +
> > +    <macrodef name="compile-java">
> > +        <attribute name="src"/>
> > +        <attribute name="dest"/>
> > +        <element name="javac-elements" implicit="yes" optional="yes"/>
> > +        <sequential>
> > +            <mkdir dir="@{dest}" />
> > +            <hy.javac srcdir="@{src}" destdir="@{dest}" >
> > +                <include name="**/*.java"/>
> > +                <javac-elements/>
> > +            </hy.javac>
> > +        </sequential>
> > +    </macrodef>
> > +
> > +    <macrodef name="make-java">
> > +        <attribute name="component" default="${component}"/>
> > +        <attribute name="src"/>
> > +        <attribute name="manifest"/>
> > +        <element name="javac-elements" implicit="yes" optional="yes"/>
> > +        <sequential>
> > +            <compile-java dest="${drlvm.semi.dir}/@{component}/classes" src="@{src}">
> > +                <javac-elements/>
> > +            </compile-java>
> > +            <mkdir dir="${drlvm.bin.dir}"/>
> > +            <jar jarfile="${drlvm.bin.dir}/@{component}.jar" manifest="@{manifest}">
> > +                <fileset dir="${drlvm.semi.dir}/@{component}/classes"/>
> > +            </jar>
> > +            <jar jarfile="${drlvm.bin.dir}/@{component}-src.jar" manifest="@{manifest}">
> > +                <fileset dir="@{src}" includes="**/*.java"/>
> > +            </jar>
> > +        </sequential>
> > +    </macrodef>
> > +
> > +    <macrodef name="add-bcp-entry">
> > +        <attribute name="name"/>
> > +        <attribute name="ordinal"/>
> > +        <sequential>
> > +            <loadfile srcFile="${drlvm.deploy.dir}/jdk/jre/lib/boot/bootclasspath.properties" property="boot.jar.@{name}" />
> > +            <condition property="@{name}.is.bcp">
> > +                <contains string="${boot.jar.@{name}}" substring="=@{name}"/>
> > +            </condition>
> > +            <antcall target="-patch-bcp-properties">
> > +                <param name="bcp.patch.ordinal" value="@{ordinal}"/>
> > +                <param name="bcp.patch.name" value="@{name}"/>
> > +                <propertyset>
> > +                  <propertyref name="@{name}.is.bcp"/>
> > +                  <globmapper from="@{name}.is.bcp" to="bcp.is.patched"/>
> > +                </propertyset>
> > +            </antcall>
> > +        </sequential>
> > +    </macrodef>
> > +
> > +    <target name="-patch-bcp-properties" unless="bcp.is.patched">
> > +        <concat append="true" destfile="${drlvm.deploy.dir}/jdk/jre/lib/boot/bootclasspath.properties"
> > +            >bootclasspath.${bcp.patch.ordinal}=${bcp.patch.name}
> > +        </concat>
> > +        <fixcrlf srcdir="${drlvm.deploy.dir}/jdk/jre/lib/boot" includes="bootclasspath.properties"/>
> > +    </target>
> > +
> > +</project>
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/build-java.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/build-native.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/build-native.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/build-native.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/build-native.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,307 @@
> > +<?xml version="1.0" encoding="UTF-8" ?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +<project name="build-native">
> > +
> > +    <dirname property="bn.imported.basedir" file="${ant.file.build-native}"/>
> > +    <import file="${bn.imported.basedir}/properties.xml"/>
> > +
> > +    <macrodef name="clean-native">
> > +        <attribute name="component" default="${component}"/>
> > +        <sequential>
> > +            <delete quiet="true" dir="${drlvm.semi.dir}/@{component}" />
> > +        </sequential>
> > +    </macrodef>
> > +
> > +    <target name="setup-native-build" depends="-plugin-cpptasks">
> > +
> > +        <condition property="is.gcc">
> > +            <equals arg1="${hy.cpp.compiler}" arg2="gcc"/>
> > +        </condition>
> > +
> > +        <condition property="is.icc">
> > +            <equals arg1="${hy.cpp.compiler}" arg2="icc"/>
> > +        </condition>
> > +
> > +        <condition property="is.icl">
> > +            <equals arg1="${hy.cpp.compiler}" arg2="icl"/>
> > +        </condition>
> > +
> > +        <condition property="is.msvc">
> > +            <equals arg1="${hy.cpp.compiler}" arg2="msvc"/>
> > +        </condition>
> > +
> > +        <condition property="is.cfg.debug">
> > +            <equals arg1="${hy.cfg}" arg2="debug"/>
> > +        </condition>
> > +        <condition property="is.cfg.release">
> > +            <not><equals arg1="${hy.cfg}" arg2="debug"/></not>
> > +        </condition>
> > +
> > +        <!-- build debug: true/false -->
> > +        <condition property="cfg.is.debug" value="true" else="false">
> > +            <equals arg1="${hy.cfg}" arg2="debug" />
> > +        </condition>
> > +
> > +        <condition property="is.unix.x86_64">
> > +            <and>
> > +                <isset property="is.unix"/>
> > +                <isset property="is.x86_64"/>
> > +            </and>
> > +        </condition>
> > +        <condition property="is.unix.x86">
> > +            <and>
> > +                <isset property="is.unix"/>
> > +                <isset property="is.x86"/>
> > +            </and>
> > +        </condition>
> > +        <condition property="is.unix.ia64">
> > +            <and>
> > +                <isset property="is.unix"/>
> > +                <isset property="is.ia64"/>
> > +            </and>
> > +        </condition>
> > +        <condition property="is.windows.x86">
> > +            <and>
> > +                <isset property="is.windows"/>
> > +                <isset property="is.x86"/>
> > +            </and>
> > +        </condition>
> > +        <condition property="is.windows.x86_64">
> > +            <and>
> > +                <isset property="is.windows"/>
> > +                <isset property="is.x86_64"/>
> > +            </and>
> > +        </condition>
> > +        <condition property="is.windows.ia64">
> > +            <and>
> > +                <isset property="is.windows"/>
> > +                <isset property="is.ia64"/>
> > +            </and>
> > +        </condition>
> > +
> > +        <condition property="hy.asm.compiler" value="ml64">
> > +            <and>
> > +                <isset property="is.windows"/>
> > +                <isset property="is.64bit"/>
> > +            </and>
> > +        </condition>
> > +        <condition property="asm.flags" value="/c /Cp /W3 /nologo /Zd /Zi -DWIN32">
> > +            <and>
> > +                <isset property="is.windows"/>
> > +                <isset property="is.64bit"/>
> > +            </and>
> > +        </condition>
> > +        <condition property="hy.asm.compiler" value="ml">
> > +            <isset property="is.windows"/>
> > +        </condition>
> > +        <condition property="asm.flags" value="/c /Cp /W3 /nologo /coff /Zm /Zd /Zi /Gd -DWIN32">
> > +            <isset property="is.windows"/>
> > +        </condition>
> > +        <condition property="asm.obj.switch" value="/Fo">
> > +            <isset property="is.windows"/>
> > +        </condition>
> > +
> > +        <property name="hy.asm.compiler" value="${hy.cpp.compiler}"/>
> > +
> > +           <condition property="asm.flags" value="-Wa,--fatal-warnings -c -x assembler-with-cpp -g">
> > +            <or>
> > +                <equals arg1="icc" arg2="${hy.asm.compiler}" />
> > +                <equals arg1="gcc" arg2="${hy.asm.compiler}" />
> > +            </or>
> > +        </condition>
> > +        <condition property="asm.obj.switch" value="-o">
> > +            <or>
> > +                <equals arg1="${hy.cpp.compiler}" arg2="gcc"/>
> > +                <equals arg1="${hy.cpp.compiler}" arg2="icc"/>
> > +            </or>
> > +        </condition>
> > +
> > +        <presetdef name="compile-asm">
> > +            <apply executable="${hy.asm.compiler}"
> > +                dir="${component.obj.dir}"
> > +                dest="${component.obj.dir}"
> > +                parallel="true" skipemptyfilesets="on" verbose="no">
> > +                <arg line="${asm.flags}" />
> > +                <chainedmapper>
> > +                    <flattenmapper/>
> > +                    <globmapper from="*.asm" to="*${object.suffix}"/>
> > +                </chainedmapper>
> > +            </apply>
> > +        </presetdef>
> > +
> > +        <macrodef name="init-native">
> > +            <attribute name="component" default="${component}"/>
> > +            <sequential>
> > +                <echo message="## Building '@{component}'" />
> > +
> > +                <property name="component.build.dir" location="${drlvm.semi.dir}/@{component}" />
> > +                <property name="component.obj.dir" location="${component.build.dir}/obj" />
> > +                <property name="component.bin.dir" location="${component.build.dir}/bin" />
> > +
> > +                <mkdir dir="${component.bin.dir}" />
> > +                <mkdir dir="${component.obj.dir}" />
> > +            </sequential>
> > +        </macrodef>
> > +
> > +        <presetdef name="compile-cc">
> > +            <cc objdir="${component.obj.dir}"
> > +                debug="${cfg.is.debug}"
> > +                name="${hy.cpp.compiler}"
> > +                runtime="dynamic" multithreaded="true" subsystem="console">
> > +                <compilerarg value="/FR${component.obj.dir}\" if="is.windows"/>
> > +                <compilerarg value="/Fd${component.obj.dir}\" if="is.windows"/>
> > +                <compilerarg value="/Zi" if="is.windows"/>
> > +                <compilerarg value="-fpic" if="is.unix"/>
> > +            </cc>
> > +        </presetdef>
> > +
> > +        <macrodef name="make-native">
> > +            <attribute name="libname" default="${component}"/>
> > +            <attribute name="type" />
> > +            <element name="cc-elements" implicit="yes" optional="yes"/>
> > +            <sequential>
> > +                <condition property="component.need.pdb">
> > +                    <and>
> > +                        <isset property="is.windows"/>
> > +                        <equals arg1="@{type}" arg2="dynamic"/>
> > +                    </and>
> > +                </condition>
> > +
> > +                <cc objdir="${component.obj.dir}"
> > +                    outfile="${component.bin.dir}/@{libname}"
> > +                    outtype="@{type}"
> > +                    debug="${cfg.is.debug}"
> > +                    name="${hy.cpp.compiler}"
> > +                    subsystem="console">
> > +                    <linkerarg value="/pdb:${component.bin.dir}/@{libname}.pdb" if="component.need.pdb" />
> > +                    <linkerarg value="/debug" if="component.need.pdb" />
> > +                    <cc-elements/>
> > +                </cc>
> > +
> > +                <embed-manifest lib="${component.bin.dir}/@{libname}${shlib.suffix}"/>
> > +                <deploy-lib/>
> > +            </sequential>
> > +        </macrodef>
> > +
> > +        <macrodef name="link-lib">
> > +            <attribute name="name" default="${component}"/>
> > +            <attribute name="type" />
> > +            <element name="link-elements" implicit="yes" optional="yes"/>
> > +            <sequential>
> > +                <make-native libname="@{name}" type="@{type}">
> > +                    <fileset id="component.link.fileset" dir="${component.obj.dir}">
> > +                        <include name="*${object.suffix}" />
> > +                    </fileset>
> > +                    <link-elements/>
> > +                </make-native>
> > +            </sequential>
> > +        </macrodef>
> > +
> > +        <macrodef name="deploy-lib">
> > +            <attribute name="from" default="component.bin.dir"/>
> > +            <sequential>
> > +                <mkdir dir="${drlvm.lib.dir}" />
> > +                <copy todir="${drlvm.lib.dir}">
> > +                    <fileset dir="${@{from}}">
> > +                        <include name="*${linklib.suffix}" unless="shlib.is.linklib"/>
> > +                        <include name="*.exp" if="is.windows"/>
> > +                        <include name="*.a" if="is.unix"/>
> > +                    </fileset>
> > +                </copy>
> > +                <mkdir dir="${drlvm.bin.dir}" />
> > +                <copy todir="${drlvm.bin.dir}">
> > +                    <fileset dir="${@{from}}">
> > +                        <include name="*${shlib.suffix}"/>
> > +                        <include name="*.pdb" if="is.windows"/>
> > +                    </fileset>
> > +                </copy>
> > +            </sequential>
> > +        </macrodef>
> > +
> > +        <macrodef name="depend-includes">
> > +            <attribute name="paths"/>
> > +            <sequential>
> > +                <pathconvert property="@{paths}.files" refid="@{paths}" pathsep="/*.h ">
> > +                    <map from="${vm.home}${file.separator}" to=""/>
> > +                </pathconvert>
> > +                <uptodate property="@{paths}.uptodate" targetfile="${component.bin.dir}/history.xml">
> > +                    <srcfiles dir="${vm.home}" includes="${@{paths}.files}"></srcfiles>
> > +                </uptodate>
> > +                <condition property="@{paths}.outofdate">
> > +                    <not><isset property="@{paths}.uptodate"/></not>
> > +                </condition>
> > +            </sequential>
> > +        </macrodef>
> > +
> > +        <macrodef name="depend-src">
> > +            <attribute name="paths"/>
> > +            <sequential>
> > +                <uptodate property="@{paths}.uptodate" targetfile="${component.bin.dir}/history.xml">
> > +                    <srcfiles refid="@{paths}"></srcfiles>
> > +                    <!--chainedmapper>
> > +                        <flattenmapper/>
> > +                        <globmapper from="*.c" to="${portlib.obj.dir}${file.separator}*${object.suffix}"/>
> > +                    </chainedmapper-->
> > +                </uptodate>
> > +                <condition property="@{paths}.outofdate">
> > +                    <not><isset property="@{paths}.uptodate"/></not>
> > +                </condition>
> > +            </sequential>
> > +        </macrodef>
> > +
> > +        <macrodef name="depend-selector">
> > +            <attribute name="rebuild-flag"
> > +                description="name of a property which allows incremental rebuild"/>
> > +            <attribute name="id"/>
> > +            <attribute name="type" default="cpp"/>
> > +            <sequential>
> > +                <selector id="@{id}">
> > +                    <or><selector if="@{rebuild-flag}">
> > +                            <depend targetdir="${component.obj.dir}">
> > +                                <mapper>
> > +                                <chainedmapper>
> > +                                    <flattenmapper/>
> > +                                    <globmapper from="*.@{type}" to="*${object.suffix}"/>
> > +                                </chainedmapper>
> > +                                </mapper>
> > +                            </depend>
> > +                        </selector>
> > +                        <selector unless="@{rebuild-flag}">
> > +                            <filename name="**/*"/>
> > +                        </selector>
> > +                    </or>
> > +                </selector>
> > +            </sequential>
> > +        </macrodef>
> > +
> > +    </target>
> > +
> > +    <macrodef name="embed-manifest">
> > +        <attribute name="lib"/>
> > +        <sequential>
> > +            <apply executable="mt.exe" skipemptyfilesets="on">
> > +                <fileset file="@{lib}${manifest.suffix}"/>
> > +                <arg value="-nologo" />
> > +                <arg value="-manifest" />
> > +                <srcfile/>
> > +                <arg value="-outputresource:@{lib};#2" />
> > +            </apply>
> > +        </sequential>
> > +    </macrodef>
> > +
> > +</project>
> >
> > Added: harmony/enhanced/drlvm/trunk/make/depends.properties
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/depends.properties?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/depends.properties (added)
> > +++ harmony/enhanced/drlvm/trunk/make/depends.properties Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,80 @@
> > +# Licensed to the Apache Software Foundation (ASF) under one or more
> > +# contributor license agreements.  See the NOTICE file distributed with
> > +# this work for additional information regarding copyright ownership.
> > +# The ASF licenses this file to You under the Apache License, Version 2.0
> > +# (the "License"); you may not use this file except in compliance with
> > +# the License.  You may obtain a copy of the License at
> > +#
> > +#     http://www.apache.org/licenses/LICENSE-2.0
> > +#
> > +# Unless required by applicable law or agreed to in writing, software
> > +# distributed under the License is distributed on an "AS IS" BASIS,
> > +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +# See the License for the specific language governing permissions and
> > +# limitations under the License.
> > +
> > +# Cpptasks, version 1.0 beta 3 or above
> > +# http://sourceforge.net/project/showfiles.php?group_id=36177
> > +cpptasks=${depends.jars}/cpptasks-1.0b4/cpptasks.zip
> > +cpptasks.jar=${depends.jars}/cpptasks-1.0b4/cpptasks.jar
> > +cpptasks.unzip.path=cpptasks-1.0b4/cpptasks.jar
> > +cpptasks.url=http://heanet.dl.sourceforge.net/sourceforge/ant-contrib/cpptasks-1.0b4.zip
> > +cpptasks.md5=118e601b58a48519208efa9893c7c5c0
> > +
> > +# ANother Tool for Language Recognition v2.7.5. generics parser dependency
> > +antlr=${depends.jars}/antlr-2.7.5/antlr-2.7.5.jar
> > +antlr.url=http://issues.apache.org/jira/secure/attachment/12358381/antlr-2.7.5.jar
> > +antlr.md5=6d57df718efd2a03981c309ce3330a1f
> > +
> > +# org.vmmagic unboxed package. Used to enable address arithmetic in Java
> > +vmmagic=${depends.jars}/vmmagic/vmmagic-20070207.jar
> > +vmmagic.url=http://cs.anu.edu.au/people/Robin.Garner/vmmagic-20070207.jar
> > +vmmagic.md5=c20a2e1b4b54a4fa4cc03a1fbb21c83a
> > +
> > +# Apache Portable Runtime, version 1.1 or above
> > +# http://apr.apache.org/download.cgi
> > +apr.src.tgz=${depends.oss}/apr/apr-1.2.6.tar.gz
> > +apr.src.rootdir=apr-1.2.6
> > +apr.src.tgz.url=http://archive.apache.org/dist/apr/apr-1.2.6.tar.gz
> > +apr.src.tgz.md5=d36790357acd43224000a2e493d7c701
> > +
> > +aprutil.src.tgz=${depends.oss}/apr/apr-util-1.2.6.tar.gz
> > +aprutil.src.rootdir=apr-util-1.2.6
> > +aprutil.src.tgz.url=http://archive.apache.org/dist/apr/apr-util-1.2.6.tar.gz
> > +aprutil.src.tgz.md5=f8f17dd6bd17926ab2b03767f1f3a1fc
> > +
> > +apriconv.src.tgz=${depends.oss}/apr/apr-iconv-1.1.1.tar.gz
> > +apriconv.src.rootdir=apr-iconv-1.1.1
> > +apriconv.src.tgz.url=http://archive.apache.org/dist/apr/apr-iconv-1.1.1.tar.gz
> > +apriconv.src.tgz.md5=7ca146cc80275ff7e4d3ce45b8fd652a
> > +
> > +# LOG4CXX
> > +# http://logging.apache.org/site/cvs-repositories.html
> > +log4cxx.svn.url=http://svn.apache.org/repos/asf/logging/log4cxx/trunk
> > +log4cxx.svn.revision=467164
> > +log4cxx.svn.dir=${depends.oss}/log4cxx
> > +
> > +# ZLIB, version 1.2.1 or above
> > +# http://www.zlib.net/
> > +zlib.dir=${base.dep.dir}/libs/${hy.platform.variant}/zlib-123
> > +zlib=${zlib.dir}/zlib.zip
> > +zlib.url@x86@=http://www.zlib.net/zlib123-dll.zip
> > +zlib.md5@x86@=cc7fa97f9c19386bb701acc79d0abbca
> > +zlib.url@x86_64@=http://issues.apache.org/jira/secure/attachment/12351498/zlib-x86_64-dll.zip
> > +zlib.md5@x86_64@=7397278304667d4e68e9af073da45d98
> > +
> > +
> > +# Ant-contrib, version 0.6 or above
> > +# http://sourceforge.net/project/showfiles.php?group_id=36177
> > +ant-contrib=${depends.jars}/ant-contrib-1.0b2/ant-contrib.zip
> > +ant-contrib.jar=${depends.jars}/ant-contrib-1.0b2/ant-contrib.jar
> > +ant-contrib.unzip.path=ant-contrib/lib/ant-contrib.jar
> > +ant-contrib.url=http://superb-west.dl.sourceforge.net/sourceforge/ant-contrib/ant-contrib-1.0b2-bin.zip
> > +ant-contrib.md5=576eafb2aca3e87c26d6d274047de482
> > +
> > +# JASMIN for regression test framework
> > +jasmin=${depends.jars}/jasmin-1.1/jasmin-1.1.zip
> > +jasmin.jar=${depends.jars}/jasmin-1.1/jasmin.jar
> > +jasmin.unzip.path=jasmin-1.1/jasmin.jar
> > +jasmin.url=http://mesh.dl.sourceforge.net/sourceforge/jasmin/jasmin-1.1.zip
> > +jasmin.md5=bb96616023ab4efdffa173601004fa17
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/depends.properties
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/depends.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/depends.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/depends.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/depends.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,33 @@
> > +<?xml version="1.0" encoding="UTF-8" ?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +<project name="drlvm-depends" default="check">
> > +
> > +    <dirname property="dd.basedir" file="${ant.file.drlvm-depends}"/>
> > +    <import file="${dd.basedir}/properties.xml"/>
> > +
> > +    <target name="check">
> > +        <check-one-file dest="${cpptasks.jar}" src="${cpptasks.url}"/>
> > +        <poll-modules target="check-depends" dir="${dd.basedir}"/>
> > +    </target>
> > +
> > +    <target name="fetch">
> > +        <fetch dep="cpptasks"/>
> > +        <poll-modules target="fetch-depends" dir="${dd.basedir}"/>
> > +    </target>
> > +
> > +</project>
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/depends.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/extra/apr.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/extra/apr.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/extra/apr.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/extra/apr.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,144 @@
> > +<?xml version="1.0" encoding="ISO-8859-1"?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +
> > +<project name="apr-dep" default="build">
> > +
> > +    <property name="component" value="apr"/>
> > +    <import file="../build-native.xml"/>
> > +
> > +    <target name="fetch-depends">
> > +        <fetch dep="apr.src.tgz"/>
> > +    </target>
> > +
> > +    <target name="check-depends">
> > +        <check-one-file dest="${apr.src.tgz}" src="${apr.src.tgz.url}"/>
> > +    </target>
> > +
> > +    <target name="get-src" depends="-setup" unless="is.apr.configured">
> > +        <check-one-file dest="${apr.src.tgz}" src="${apr.src.tgz.url}"/>
> > +        <mkdir dir="${apr.src}/.." />
> > +        <untar src="${apr.src.tgz}" dest="${apr.src}/.." compression="gzip"/>
> > +        <move tofile="${apr.src}" file="${apr.src}/../${apr.src.rootdir}"/>
> > +    </target>
> > +
> > +    <target name="-setup">
> > +        <property name="apr.src" location="${drlvm.semi.dir}/apr/src" />
> > +        <condition property="is.apr.configured" value="true">
> > +            <available file="${apr.src}/include/apr.h" />
> > +        </condition>
> > +    </target>
> > +
> > +    <target name="apr-configure" depends="get-src"
> > +        unless="is.apr.configured" if="is.unix">
> > +        <chmod perm="+x">
> > +            <fileset dir="${apr.src}/build">
> > +                <include name="**/*" />
> > +            </fileset>
> > +        </chmod>
> > +
> > +        <exec executable="sh" dir="${apr.src}">
> > +            <arg value="./configure" />
> > +        </exec>
> > +        <replace file="${apr.src}/include/apr.h">
> > +            <replacefilter token="#define APR_HAS_OS_UUID           1" value="#define APR_HAS_OS_UUID           0" />
> > +            <replacefilter token="APR_HAS_POSIXSEM_SERIALIZE        0" value="APR_HAS_POSIXSEM_SERIALIZE        1" />
> > +            <replacefilter token="#define APR_HAS_PROC_PTHREAD_SERIALIZE    0" value="#define APR_HAS_PROC_PTHREAD_SERIALIZE    1" />
> > +        </replace>
> > +        <condition property="extra.flags" value="-fpic" else="">
> > +            <isset property="is.x86_64"/>
> > +        </condition>
> > +        <replace file="${apr.src}/build/apr_rules.mk" token="CFLAGS=" value="CFLAGS=${extra.flags} "/>
> > +    </target>
> > +
> > +    <target name="build" depends="-make-apr-unix,-build-win">
> > +        <mkdir dir="${drlvm.include.dir}" />
> > +        <copy todir="${drlvm.include.dir}">
> > +            <fileset dir="${apr.src}/include" includes="*.h" />
> > +        </copy>
> > +    </target>
> > +
> > +    <target name="-make-apr-unix" if="is.unix" depends="apr-configure">
> > +        <!-- simply invoke make to let it build as the APR people suggest  -->
> > +        <exec executable="make" dir="${apr.src}"/>
> > +       <copy file="${apr.src}/.libs/libapr-1.a" todir="${drlvm.lib.dir}" />
> > +    </target>
> > +
> > +    <target name="-build-win" if="is.windows" depends="get-src, setup-native-build" >
> > +        <copy file="${apr.src}/include/apr.hw" tofile="${apr.src}/include/apr.h"/>
> > +
> > +        <init-native />
> > +        <make-native libname="apr-1" type="static">
> > +            <includepath>
> > +                <dirset dir="${apr.src}">
> > +                    <include name="include" />
> > +                    <include name="include/arch" />
> > +                    <include name="include/arch/win32" />
> > +                </dirset>
> > +            </includepath>
> > +            <!-- preserve order of includes -->
> > +            <includepath>
> > +                <dirset dir="${apr.src}">
> > +                    <include name="include/arch/unix" />
> > +                </dirset>
> > +            </includepath>
> > +
> > +            <fileset dir="${apr.src}">
> > +                <include name="user/win32/*.c" />
> > +                <include name="time/win32/*.c" />
> > +                <include name="threadproc/win32/*.c" />
> > +                <include name="tables/*.c" />
> > +                <include name="strings/*.c" />
> > +                <include name="shmem/win32/*.c" />
> > +                <include name="random/unix/*.c" />
> > +                <include name="passwd/*.c" />
> > +                <include name="network_io/win32/*.c" />
> > +                <include name="network_io/unix/multicast.c" />
> > +                <include name="network_io/unix/sockaddr.c" />
> > +                <include name="network_io/unix/inet_pton.c" />
> > +                <include name="network_io/unix/inet_ntop.c" />
> > +                <include name="mmap/win32/*.c" />
> > +                <include name="mmap/unix/common.c" />
> > +                <include name="misc/unix/version.c" />
> > +                <include name="misc/unix/otherchild.c" />
> > +                <include name="misc/unix/getopt.c" />
> > +                <include name="misc/unix/errorcodes.c" />
> > +                <include name="misc/win32/*.c" />
> > +                <include name="memory/unix/apr_pools.c" />
> > +                <include name="locks/win32/*.c" />
> > +                <include name="dso/win32/*.c" />
> > +                <include name="file_io/win32/*.c" />
> > +                <include name="file_io/unix/fileacc.c" />
> > +                <include name="file_io/unix/copy.c" />
> > +                <include name="file_io/unix/filepath_util.c" />
> > +                <include name="file_io/unix/tempdir.c" />
> > +                <include name="file_io/unix/mktemp.c" />
> > +                <include name="file_io/unix/fullrw.c" />
> > +                <include name="atomic/win32/*.c" />
> > +                <include name="support/unix/waitio.c" />
> > +                <include name="poll/unix/select.c" />
> > +            </fileset>
> > +
> > +            <defineset define="APR_DECLARE_EXPORT,WIN32,_WINDOWS" />
> > +        </make-native>
> > +    </target>
> > +
> > +    <target name="clean" >
> > +        <clean-native component="apr"/>
> > +    </target>
> > +
> > +</project>
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/extra/apr.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,145 @@
> > +<?xml version="1.0" encoding="ISO-8859-1"?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +
> > +<project name="aprutil-dep" default="build">
> > +
> > +    <property name="component" value="aprutil"/>
> > +    <import file="../build-native.xml"/>
> > +
> > +    <target name="fetch-depends">
> > +        <fetch dep="aprutil.src.tgz"/>
> > +        <fetch dep="apriconv.src.tgz"/>
> > +    </target>
> > +
> > +    <target name="check-depends">
> > +        <check-one-file dest="${aprutil.src.tgz}" src="${aprutil.src.tgz.url}"/>
> > +        <check-one-file dest="${apriconv.src.tgz}" src="${apriconv.src.tgz.url}"/>
> > +    </target>
> > +
> > +    <target name="get-src" depends="-setup" unless="is.aprutil.configured">
> > +        <check-one-file dest="${aprutil.src.tgz}" src="${aprutil.src.tgz.url}"/>
> > +        <check-one-file dest="${apriconv.src.tgz}" src="${apriconv.src.tgz.url}"/>
> > +
> > +        <mkdir dir="${aprutil.src}/.." />
> > +        <untar src="${aprutil.src.tgz}" dest="${aprutil.src}/.." compression="gzip"/>
> > +        <move tofile="${aprutil.src}" file="${aprutil.src}/../${aprutil.src.rootdir}"/>
> > +
> > +        <untar src="${apriconv.src.tgz}" dest="${aprutil.src}/.." compression="gzip">
> > +            <patternset includes="*/include/apr_iconv.h"/>
> > +        </untar>
> > +        <copy file="${aprutil.src}/../${apriconv.src.rootdir}/include/apr_iconv.h"
> > +            todir="${drlvm.include.dir}"/>
> > +    </target>
> > +
> > +    <target name="-setup">
> > +        <property name="aprutil.src" location="${drlvm.semi.dir}/aprutil/src" />
> > +        <property name="includes" location="${aprutil.src}/include" />
> > +        <condition property="is.aprutil.configured" value="true">
> > +            <and>
> > +                <available file="${includes}/apu.h" />
> > +                <available file="${includes}/private/apu_config.h" />
> > +                <available file="${aprutil.src}/xml/expat/lib/expat.h" />
> > +                <available file="${aprutil.src}/xml/expat/config.h" />
> > +                <available file="${drlvm.include.dir}/apr_iconv.h" />
> > +            </and>
> > +        </condition>
> > +    </target>
> > +
> > +    <target name="-configure-unix" unless="is.aprutil.configured" if="is.unix">
> > +        <chmod perm="+x">
> > +            <fileset dir="${aprutil.src}/build">
> > +                <include name="**/*" />
> > +            </fileset>
> > +            <fileset dir="${aprutil.src}">
> > +                <include name="*" />
> > +            </fileset>
> > +            <fileset dir="${aprutil.src}/xml/expat">
> > +                <include name="**/*" />
> > +            </fileset>
> > +        </chmod>
> > +
> > +        <exec executable="sh" dir="${aprutil.src}">
> > +            <arg value="./buildconf" />
> > +            <arg value="--with-apr=${drlvm.semi.dir}/apr/src" />
> > +        </exec>
> > +        <exec executable="sh" dir="${aprutil.src}">
> > +            <arg value="./configure" />
> > +            <arg value="--with-apr=${drlvm.semi.dir}/apr/src" />
> > +            <arg value="CC=${hy.cpp.compiler}" />
> > +        </exec>
> > +        <exec executable="sh" dir="${aprutil.src}/xml/expat">
> > +            <arg value="./configure" />
> > +            <arg value="CC=${hy.cpp.compiler}" />
> > +        </exec>
> > +    </target>
> > +
> > +    <target name="-configure-win" unless="is.aprutil.configured" if="is.windows">
> > +        <copy tofile="${includes}/apu.h" file="${includes}/apu.hw" />
> > +        <copy tofile="${includes}/private/apu_config.h" file="${includes}/private/apu_config.hw" />
> > +        <copy tofile="${aprutil.src}/xml/expat/lib/expat.h" file="${aprutil.src}/xml/expat/lib/expat.h.in" />
> > +        <copy tofile="${aprutil.src}/xml/expat/config.h" file="${aprutil.src}/xml/expat/lib/winconfig.h" />
> > +    </target>
> > +
> > +    <target name="configure" depends="get-src,-configure-win,-configure-unix">
> > +        <replace file="${aprutil.src}/xml/expat/lib/xmlparse.c">
> > +            <replacefilter token="XML_MAJOR_VERSION" value="1" />
> > +            <replacefilter token="XML_MINOR_VERSION" value="95" />
> > +            <replacefilter token="XML_MICRO_VERSION" value="1" />
> > +            <replacefilter token="VERSION" value='"expat_1.95.1"' />
> > +        </replace>
> > +    </target>
> > +
> > +    <target name="build" depends="configure, setup-native-build">
> > +        <mkdir dir="${drlvm.include.dir}" />
> > +        <copy todir="${drlvm.include.dir}">
> > +            <fileset dir="${aprutil.src}/include"
> > +                includes="apr_xlate.h apr_xml.h apu.h" />
> > +        </copy>
> > +
> > +        <init-native />
> > +        <make-native libname="aprutil-1" type="static">
> > +            <includepath>
> > +                <pathelement location="${drlvm.include.dir}" />
> > +                <dirset dir="${aprutil.src}">
> > +                    <include name="include" />
> > +                    <include name="include/private" />
> > +                    <include name="xml/expat/lib" />
> > +                    <include name="xml/expat" />
> > +                </dirset>
> > +            </includepath>
> > +            <fileset dir="${aprutil.src}">
> > +                <include name="xml/apr_xml.c" />
> > +                <include name="xlate/xlate.c" />
> > +            </fileset>
> > +            <fileset dir="${aprutil.src}/xml/expat/lib" includes="xmlparse.c xmlrole.c xmltok.c" />
> > +
> > +            <defineset define="APR_DECLARE_EXPORT,APU_DECLARE_EXPORT,API_DECLARE_EXPORT" />
> > +            <defineset define="WIN32,_WINDOWS" if="is.windows"/>
> > +            <defineset define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE" if="is.unix"/>
> > +            <defineset>
> > +                <define name="APU_HAVE_APR_ICONV" value="0" if="is.unix"/>
> > +            </defineset>
> > +            <compilerarg value="-fPIC" if="is.unix" unless="is.x86"/>
> > +        </make-native>
> > +    </target>
> > +
> > +    <target name="clean" >
> > +        <clean-native component="aprutil"/>
> > +    </target>
> > +
> > +</project>
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/extra/aprutil.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,101 @@
> > +<?xml version="1.0" encoding="ISO-8859-1"?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +
> > +<project name="log4cxx" default="build">
> > +
> > +    <property name="component" value="log4cxx"/>
> > +    <import file="../build-native.xml"/>
> > +
> > +    <target name="fetch-depends">
> > +        <ant antfile="${common.resources}/make/svn.xml" target="fetch-svn">
> > +            <property name="dependency" value="log4cxx"/>
> > +        </ant>
> > +    </target>
> > +
> > +    <target name="check-depends">
> > +        <ant antfile="${common.resources}/make/svn.xml" target="check-svn">
> > +            <property name="dependency" value="log4cxx"/>
> > +        </ant>
> > +    </target>
> > +
> > +    <target name="setup" depends="check-depends">
> > +        <property name="log4cxx.src" location="${log4cxx.svn.dir}"/>
> > +        <property name="log4cxx.include" location="${drlvm.include.dir}"/>
> > +        <condition property="config.available" value="true">
> > +            <and>
> > +                <available file="${log4cxx.include}/log4cxx/log4cxx.h" />
> > +                <available file="${log4cxx.include}/log4cxx/private/log4cxx_private.h" />
> > +            </and>
> > +        </condition>
> > +    </target>
> > +
> > +    <target name="configure" depends="setup" unless="config.available">
> > +        <condition property="plaf.ext" value=".hw" else=".h.in">
> > +            <isset property="is.windows"/>
> > +        </condition>
> > +        <mkdir dir="${log4cxx.include}" />
> > +        <copy todir="${log4cxx.include}" failonerror="true">
> > +            <fileset dir="${log4cxx.src}/include">
> > +                <include name="**/*.h"/>
> > +                <include name="**/*${plaf.ext}"/>
> > +            </fileset>
> > +        </copy>
> > +        <property name="includes" location="${log4cxx.include}" />
> > +
> > +        <copy tofile="${includes}/log4cxx/log4cxx.h" file="${includes}/log4cxx/log4cxx${plaf.ext}" />
> > +        <copy tofile="${includes}/log4cxx/private/log4cxx_private.h" file="${includes}/log4cxx/private/log4cxx_private${plaf.ext}" />
> > +
> > +        <property name="logchar_is_utf8" value="0" />
> > +        <property name="has.wchar_t" value="1" />
> > +        <property name="logchar_is_cfstring" value="0" />
> > +        <property name="logchar_is_wchar" value="1" />
> > +
> > +        <replace file="${includes}/log4cxx/log4cxx.h">
> > +            <replacefilter token="@LOGCHAR_IS_CFSTRING@" value="${logchar_is_cfstring}" />
> > +            <replacefilter token="@LOGCHAR_IS_UTF8@" value="${logchar_is_utf8}" />
> > +            <replacefilter token="@LOGCHAR_IS_WCHAR@" value="${logchar_is_wchar}" />
> > +        </replace>
> > +        <replaceregexp file="${includes}/log4cxx/log4cxx.h" match="#define LOG4CXX_HAS_WCHAR_T.*" replace="#define LOG4CXX_HAS_WCHAR_T ${has.wchar_t}" />
> > +    </target>
> > +
> > +    <target name="build" depends="configure, setup-native-build">
> > +        <init-native/>
> > +        <make-native libname="log4cxx" type="static">
> > +            <includepath>
> > +                <pathelement location="${drlvm.include.dir}" />
> > +            </includepath>
> > +            <includepath path="/usr/include/libxml2" if="is.unix"/>
> > +
> > +            <fileset dir="${log4cxx.src}/src">
> > +                <include name="*.cpp" />
> > +            </fileset>
> > +
> > +            <defineset define="APR_DECLARE_EXPORT,APU_DECLARE_EXPORT,LOG4CXX_STATIC,LOG4CXX"/>
> > +            <defineset define="_USRDLL,DLL_EXPORTS,WIN32" if="is.windows"/>
> > +            <!--defineset define="STDC_HEADERS" if="is.unix"/-->
> > +            <!--defineset define="FREEBSD" if="is.freebsd"/-->
> > +            <compilerarg value="-fPIC" if="is.unix" unless="is.x86"/>
> > +            <compilerarg value="/EHsc" if="is.windows"/>
> > +        </make-native>
> > +    </target>
> > +
> > +    <target name="clean" >
> > +        <clean-native/>
> > +    </target>
> > +
> > +</project>
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/extra/log4cxx.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/properties.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/properties.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/properties.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/properties.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,144 @@
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +<project name="build-settings">
> > +
> > +    <property file="${user.home}/.harmony-drlvm.properties" />
> > +    <dirname property="prop.imported.basedir" file="${ant.file.build-settings}"/>
> > +
> > +    <property name="drlvm.base.dir" location="${prop.imported.basedir}/.." />
> > +    <property name="hy.test.vm.name" value="drl"/>
> > +
> > +    <!-- pick up cfg from command line or env -->
> > +    <condition property="hy.cfg" value="${BUILD_CFG}">
> > +        <isset property="BUILD_CFG" />
> > +    </condition>
> > +    <condition property="hy.cfg" value="${env.BUILD_CFG}">
> > +        <isset property="env.BUILD_CFG" />
> > +    </condition>
> > +
> > +    <!-- pick up cpp compiler from command line or env -->
> > +    <condition property="hy.cpp.compiler" value="${CXX}">
> > +        <isset property="CXX" />
> > +    </condition>
> > +    <condition property="hy.cpp.compiler" value="${env.CXX}">
> > +        <isset property="env.CXX" />
> > +    </condition>
> > +
> > +    <condition property="hy.cpp.compiler" value="msvc">
> > +        <os family="windows"/>
> > +    </condition>
> > +    <property name="hy.cpp.compiler" value="gcc"/>
> > +
> > +
> > +    <!-- set the path root for the external resources  -->
> > +    <property name="common.resources.loc" value="${drlvm.base.dir}/../common_resources" />
> > +    <property name="common.resources" location="${common.resources.loc}" />
> > +    <fail>
> > +        <condition>
> > +            <not><available file="${common.resources}/make/properties.xml"/></not>
> > +        </condition>
> > +        Primary dependency is missing: common_resources.
> > +        You need to check it out from SVN repository or specify it's location:
> > +        ant -Dcommon.resources.loc=path
> > +    </fail>
> > +
> > +    <import file="${common.resources}/make/properties.xml"/>
> > +    <import file="${common.resources}/make/depends.xml"/>
> > +
> > +    <!-- define drlvm-specific resources -->
> > +    <loadproperties srcfile="${prop.imported.basedir}/depends.properties">
> > +      <filterchain>
> > +        <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
> > +            <param type="token" name="${hy.arch}" value=""/>
> > +        </filterreader>
> > +      </filterchain>
> > +    </loadproperties>
> > +
> > +    <!-- Harmony Development Kit (HDK) supports modular development mode
> > +         by providing all the header files and binaries required for building -->
> > +    <!-- By default, external classlib build partially substitutes the HDK -->
> > +    <property name="external.dep.CLASSLIB.loc" value="${drlvm.base.dir}/../working_classlib" />
> > +    <property name="external.dep.CLASSLIB" location="${external.dep.CLASSLIB.loc}" />
> > +    <condition property="import.hdk">
> > +        <isset property="hy.hdk"/>
> > +    </condition>
> > +    <property name="hy.hdk" value="${external.dep.CLASSLIB}/deploy"/>
> > +    <condition property="hy.hdk.shlibs"
> > +        value="${hy.hdk}/jdk/jre/bin"
> > +        else="${hy.hdk}/lib">
> > +        <isset property="shlib.is.linklib"/>
> > +    </condition>
> > +
> > +    <property name="vm.home" location="${drlvm.base.dir}/vm" />
> > +    <property name="drlvm.build.dir" location="${drlvm.base.dir}/build/${hy.os}_${hy.arch}_${hy.cpp.compiler}_${hy.cfg}" />
> > +    <property name="drlvm.deploy.dir" location="${drlvm.build.dir}/deploy" />
> > +    <property name="drlvm.semi.dir" location="${drlvm.build.dir}/semis" />
> > +    <property name="drlvm.bin.dir" location="${drlvm.deploy.dir}/jdk/jre/bin/default"/>
> > +    <property name="drlvm.lib.dir" location="${drlvm.deploy.dir}/lib"/>
> > +    <property name="drlvm.include.dir" location="${drlvm.deploy.dir}/include"/>
> > +    <condition property="drlvm.shlib.dir"
> > +        value="${drlvm.bin.dir}"
> > +        else="${drlvm.lib.dir}">
> > +        <isset property="shlib.is.linklib"/>
> > +    </condition>
> > +    <property name="base.test.dir" location="${drlvm.build.dir}/tests"/>
> > +
> > +    <target name="drlvm-echo" depends="svn-prop">
> > +        <echo message="DRLVM build Configuration:" />
> > +        <echo message="     Hosting Java = ${java.version} (${java.vendor})" />
> > +        <echo message="         HDK root = ${hy.hdk}" />
> > +        <echo message="               os = ${hy.os}" />
> > +        <echo message="             arch = ${hy.arch}" />
> > +        <echo message="              cxx = ${hy.cpp.compiler}" />
> > +        <echo message="              cfg = ${hy.cfg}" />
> > +        <echo message="     svn revision = ${svn.revision}" />
> > +        <echo message="        hy.no.sig = ${hy.no.sig}" />
> > +        <echo message="    hy.local.zlib = ${hy.local.zlib}" />
> > +        <echo message="       target dir = ${drlvm.deploy.dir}" />
> > +    </target>
> > +
> > +    <target name="debug-echo">
> > +        <echoproperties>
> > +          <propertyset>
> > +            <propertyref prefix="build."/>
> > +            <propertyref prefix="hy."/>
> > +          </propertyset>
> > +        </echoproperties>
> > +    </target>
> > +
> > +    <target name="-plugin-ant-contrib">
> > +        <check-one-file dest="${ant-contrib.jar}" src="${ant-contrib.url}"/>
> > +        <!-- plug in the ANTCONTRIB -->
> > +        <taskdef resource="net/sf/antcontrib/antlib.xml">
> > +            <classpath>
> > +                <pathelement location="${ant-contrib.jar}" />
> > +            </classpath>
> > +        </taskdef>
> > +    </target>
> > +
> > +    <target name="-plugin-cpptasks" unless="is.cpptasks">
> > +        <check-one-file dest="${cpptasks.jar}" src="${cpptasks.url}"/>
> > +        <!-- plug in the CPPTASKS -->
> > +        <path id="cpptasks.path" path="${cpptasks.jar}"/>
> > +        <taskdef resource="cpptasks.tasks"
> > +            classpathref="cpptasks.path" loaderref="cpptasks.path.loader"/>
> > +        <typedef resource="cpptasks.types"
> > +            classpathref="cpptasks.path" loaderref="cpptasks.path.loader"/>
> > +        <property name="is.cpptasks" value="true"/>
> > +    </target>
> > +
> > +</project>
> > \ No newline at end of file
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/properties.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties (added)
> > +++ harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,20 @@
> > +# This file contains additional options passed to vm by launcher
> > +
> > +# These are to help the Eclipse plug-in find the kernel classes info
> > +bootclasspath.kernel.1=%LAUNCHER_HOME%/%VM_DIR%/kernel.jar
> > +bootclasspath.kernel.source.1=%LAUNCHER_HOME%/%VM_DIR%/kernel-src.jar
> > +bootclasspath.kernel.source.packageroot.1=/
> > +
> > +bootclasspath.kernel.2=%LAUNCHER_HOME%/%VM_DIR%/hythr.jar
> > +bootclasspath.kernel.source.2=%LAUNCHER_HOME%/%VM_DIR%/hythr-src.jar
> > +bootclasspath.kernel.source.packageroot.2=/
> > +
> > +bootclasspath.kernel.3=%LAUNCHER_HOME%/%VM_DIR%/gc_cc.jar
> > +bootclasspath.kernel.source.3=%LAUNCHER_HOME%/%VM_DIR%/gc_cc-src.jar
> > +bootclasspath.kernel.source.packageroot.3=/
> > +
> > +bootclasspath.kernel.4=%LAUNCHER_HOME%/%VM_DIR%/gc_gen.jar
> > +bootclasspath.kernel.source.4=%LAUNCHER_HOME%/%VM_DIR%/gc_gen-src.jar
> > +bootclasspath.kernel.source.packageroot.4=/
> > +
> > +# end of file
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/resources/harmonyvm.properties
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/resources/readme.txt
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/resources/readme.txt?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/resources/readme.txt (added)
> > +++ harmony/enhanced/drlvm/trunk/make/resources/readme.txt Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,31 @@
> > +
> > +    Apache Harmony JRE with DRLVM
> > +    Binary Release for windows*/x86
> > +
> > +
> > +CONTENTS
> > +---------
> > +
> > +The JRE contains the following directories
> > +
> > +
> > +  bin         - Main DRL executable file and set of dynamic libraries
> > +                needed for running
> > +  doc         - Getting Started guide
> > +  include     - Set of header files containing an external specification
> > +  lib         - Compiled classes and other resources
> > +
> > +
> > +SYSTEM REQUIREMENTS
> > +-------------------
> > +
> > +This distribution was build for  the x86 architecture and
> > +the windows operating system.
> > +
> > +
> > +JIT EXECUTION MODE
> > +------------------
> > +
> > +By default, the VM runs with the just-in-time compiler enabled.
> > +To start the VM with the interpreter, supply the -Xint command-line option
> > +right after the executable name.
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/resources/readme.txt
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/test.properties
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/test.properties?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/test.properties (added)
> > +++ harmony/enhanced/drlvm/trunk/make/test.properties Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,104 @@
> > +#
> > +#  Basic controls of the test system.  Note that the quotes
> > +#  used to delineate options are not used when specifying
> > +#  values
> > +#
> > +#---------------------------------------------
> > +#
> > +#   test.mode
> > +#
> > +# configures how tests are run wrt
> > +# which jit or interpreter
> > +#
> > +# valid values are comma separated list
> > +# of VM execution modes,
> > +# like defined below "jet", "opt" and "int"
> > +#
> > +test.mode=jit,opt,int
> > +
> > +#--------------------------------------------
> > +#
> > +#  test.timeout
> > +#
> > +#  time limit to complete test run
> > +#  in units of milliseconds
> > +test.timeout=1800000
> > +
> > +# per single jvmti test
> > +jvmti.test.timeout=180000
> > +# per single regression test
> > +reg.test.timeout=600000
> > +
> > +# --------------------------------------------
> > +#
> > +#  kernel.test.failfast
> > +#
> > +# determines if tests should continue on failure
> > +# valid values are "off" and "on"
> > +#
> > +test.failfast=off
> > +
> > +# --------------------------------------------
> > +#
> > +#  kernel.test.forkmode
> > +#
> > +#  instantiate one VM for kernel testsuite
> > +#  or one per test
> > +#  valid values are "once" and "perTest"
> > +#
> > +kernel.test.forkmode=once
> > +
> > +# --------------------------------------------
> > +#
> > +#  test.vmargs
> > +#
> > +#  additional arguments for vm to run tests
> > +#
> > +test.vmargs=-XX:-vm.assert_dialog
> > +
> > +#--------------------------------------------
> > +#
> > +#  VM execution modes definitions
> > +#
> > +#  <mode>.name         human readable description of the mode
> > +#  <mode>.switch       cmd-line options to turn the mode on;
> > +#                                      beware to avoid empty switch
> > +
> > +jit.name=Client mode JIT (default)
> > +jit.switch=
> > +
> > +jet.name=jitrino.JET
> > +jet.switch=-Xem:jet
> > +
> > +opt.name=jitrino.OPT
> > +opt.switch=-Xem:opt
> > +
> > +srv.name=Server mode JIT
> > +srv.switch=-server
> > +
> > +int.name=interpreter
> > +int.switch=-Xint
> > +
> > +gc_cc.name=GC v4.1
> > +gc_cc.switch=-XX:gc.dll=${shlib.prefix}gc_cc${shlib.suffix}
> > +
> > +#--------------------------------------------
> > +#
> > +#  Eclipse HelloWorld development scenario (aka EHWA)
> > +#
> > +# Locations to obtain platform specific Eclipse SDK bundle
> > +# A bundle will be downloaded and stored for local use, unless
> > +# ECLIPSE_HOME environment variable points to existing Eclipse installation
> > +
> > +eclipse.mirror=http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/eclipse/downloads/drops/R-3.2.1-200609210945
> > +eclipse-3.3.mirror=http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/eclipse/downloads/drops/R-3.3-200706251500
> > +eclipse.windows.x86.url=${eclipse.mirror}/eclipse-SDK-3.2.1-win32.zip
> > +#eclipse.windows.x86.url=${eclipse-3.3.mirror}/eclipse-SDK-3.3-win32.zip
> > +eclipse.windows.x86_64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-win32-x86_64.zip
> > +#eclipse.windows.x86_64.url=${eclipse-3.3.mirror}/eclipse-SDK-3.3-win32-x86_64.zip
> > +eclipse.windows.ia64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-win32-ia64.zip
> > +eclipse.linux.x86.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk.tar.gz
> > +eclipse.linux.x86_64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk-x86_64.tar.gz
> > +eclipse.linux.ia64.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk-ia64.tar.gz
> > +eclipse.macosx.ppc32.url=${eclipse.mirror}/eclipse-platform-SDK-3.2.1-macosx-carbon.tar.gz
> > +eclipse.freebsd.x86.url=${eclipse.mirror}/eclipse-SDK-3.2.1-linux-gtk.tar.gz
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/test.properties
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> > Added: harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml
> > URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml?rev=616241&view=auto
> > ==============================================================================
> > --- harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml (added)
> > +++ harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml Tue Jan 29 02:34:12 2008
> > @@ -0,0 +1,188 @@
> > +<?xml version="1.0" encoding="UTF-8" ?>
> > +<!--
> > +    Licensed to the Apache Software Foundation (ASF) under one or more
> > +    contributor license agreements.  See the NOTICE file distributed with
> > +    this work for additional information regarding copyright ownership.
> > +    The ASF licenses this file to You under the Apache License, Version 2.0
> > +    (the "License"); you may not use this file except in compliance with
> > +    the License.  You may obtain a copy of the License at
> > +
> > +       http://www.apache.org/licenses/LICENSE-2.0
> > +
> > +    Unless required by applicable law or agreed to in writing, software
> > +    distributed under the License is distributed on an "AS IS" BASIS,
> > +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > +    See the License for the specific language governing permissions and
> > +    limitations under the License.
> > +-->
> > +<project name="C UNIT TESTS" default="cunit-test">
> > +
> > +    <import file="test-common.xml"/>
> > +    <import file="../vm/common-vm.xml"/>
> > +
> > +    <property name="cunit.test.dir" location="${base.test.dir}/cunit.tests"/>
> > +    <property name="cunit.test.summary" location="${base.test.dir}/cunit.test.failed"/>
> > +    <property name="cunit.obj.dir" location="${cunit.test.dir}/obj" />
> > +    <property name="cunit.bin.dir" location="${cunit.test.dir}/bin" />
> > +
> > +    <property name="test.vmdir" location="${test.jre.home}/bin/default"/>
> > +
> > +    <!-- Set cunit tests sources -->
> > +    <fileset id="unit.test.c.src" dir="${vm.home}/tests/unit/thread">
> > +        <include name="*.c" />
> > +    </fileset>
> > +
> > +    <!-- Create a list of cunit tests excecutable -->
> > +    <condition property="cunit.test.list" value="${test.case}">
> > +        <isset property="test.case"/>
> > +    </condition>
> > +    <pathconvert pathsep="," property="cunit.test.list" refid="unit.test.c.src">
> > +        <globmapper from="*.c" to="*"/>
> > +    </pathconvert>
> > +
> > +    <target name="cunit-test" depends="-plugin-ant-contrib,
> > +        cunit-compile,cunit-run,cunit-report"/>
> > +
> > +    <target name="cunit-compile" depends="-common-vm">
> > +        <!-- Set cunit tests include dirs -->
> > +        <path id="unit.test.c.include">
> > +            <pathelement location="${vm.home}/tests/unit/thread/utils" />
> > +            <pathelement location="${vm.home}/tests/unit/framework" />
> > +            <pathelement location="${hdk.include.dir}" />
> > +            <pathelement location="${vm.home}/include" />
> > +            <pathelement location="${vm.home}/vmcore/include" />
> > +            <pathelement location="${vm.home}/port/include" />
> > +        </path>
> > +
> > +        <mkdir dir="${cunit.obj.dir}" />
> > +        <mkdir dir="${cunit.bin.dir}" />
> > +
> > +        <!-- Compiling cunit tests and framework -->
> > +        <echo message="Compiling tests and framework..." />
> > +        <cc objdir="${cunit.obj.dir}" multithreaded="true">
> > +            <compiler name="${hy.cpp.compiler}" extends="common.c.compiler">
> > +                <defineset define="APR_DECLARE_STATIC, BUILDING_VM"/>
> > +                <fileset dir="${vm.home}/tests/unit/thread/utils">
> > +                    <include name="*.c" />
> > +                </fileset>
> > +                <fileset dir="${vm.home}/tests/unit/framework">
> > +                    <include name="*.c" />
> > +                </fileset>
> > +                <fileset refid="unit.test.c.src"/>
> > +                <includepath refid="unit.test.c.include" />
> > +            </compiler>
> > +        </cc>
> > +
> > +        <!-- Compiling cunit tests -->
> > +        <for list="${cunit.test.list}" param="file" delimiter=",">
> > +            <sequential>
> > +
> > +                <var name="filename" unset="true" />
> > +                <basename property="filename" file="@{file}" />
> > +
> > +                <echo message="Link test: ${filename}" />
> > +
> > +                <cc outfile="${cunit.bin.dir}/${filename}"
> > +                    runtime="dynamic" multithreaded="true" subsystem="console">
> > +
> > +                    <linker name="${hy.cpp.compiler}">
> > +                        <fileset dir="${cunit.obj.dir}">
> > +                            <include name="thread_unit_test_main.o*" />
> > +                            <include name="thread_unit_test_utils.o*" />
> > +                            <include name="thread_util_platform_dependent.o*" />
> > +                            <include name="testframe.o*" />
> > +                            <include name="${filename}.o*" />
> > +                        </fileset>
> > +
> > +                        <linkerarg value="/DEBUG" if="is.windows" unless="is.cfg.release"/>
> > +                        <libset type="shared" libs="harmonyvm,hythr"
> > +                            dir="${hdk.lib.dir}" if="is.windows"/>
> > +                        <linkerarg value="/libpath:${test.vmdir}" if="is.windows" />
> > +                        <linkerarg value="/NODEFAULTLIB:libcmtd" if="is.windows" />
> > +
> > +                        <libset type="shared" libs="harmonyvm"
> > +                            dir="${test.vmdir}" if="is.unix"/>
> > +                        <linkerarg value="-rpath" if="is.unix"/>
> > +                        <linkerarg value="${test.jre.home}/bin" if="is.unix"/>
> > +                        <linkerarg value="-rpath" if="is.unix"/>
> > +                        <linkerarg value="${test.vmdir}" if="is.unix"/>
> > +                    </linker>
> > +                </cc>
> > +            </sequential>
> > +        </for>
> > +    </target>
> > +
> > +    <target name="cunit-run">
> > +        <delete dir="${cunit.test.dir}/reports" quiet="true"/>
> > +        <mkdir dir="${cunit.test.dir}/reports" />
> > +        <delete file="${cunit.test.summary}" failonerror="false" />
> > +
> > +        <echo message="Running tests..." />
> > +        <for list="${cunit.test.list}" param="file" delimiter=",">
> > +            <sequential>
> > +
> > +                <var name="filename" unset="true" />
> > +                <basename property="filename" file="@{file}" />
> > +
> > +                <condition property="cunit.extra.args" value="-Xint" else="">
> > +                    <isset property="is.ia64"/>
> > +                </condition>
> > +                <!-- Executing unit test... -->
> > +                <echo message="Running: ${filename}" />
> > +                <var name="outputproperty" unset="true" />
> > +                <var name="resultproperty" unset="true" />
> > +                <exec dir="${cunit.bin.dir}"
> > +                    executable="${cunit.bin.dir}/${filename}${exe.suffix}"
> > +                    resultproperty="resultproperty"
> > +                    outputproperty="outputproperty"
> > +                    timeout="${test.timeout}">
> > +
> > +                    <arg value="-Dorg.apache.harmony.vm.vmdir=${test.vmdir}"/>
> > +                    <arg value="-Djava.home=${test.jre.home}"/>
> > +                    <arg value="-XX:vm.jvmti.enabled=true"/>
> > +                    <arg line="${test.vmargs} ${cunit.extra.args}"/>
> > +
> > +                    <env key="JAVA_HOME" value="${test.jre.home}" />
> > +                    <env key="Path" path="${test.jre.home}/bin/;${test.vmdir};${env.Path}" />
> > +                    <env key="LD_LIBRARY_PATH" path="${test.jre.home}/bin/:${test.vmdir}" />
> > +                </exec>
> > +
> > +                <echo file="${cunit.test.dir}/reports/${filename}.out" message="${outputproperty}" />
> > +
> > +                <!-- Checking test result... -->
> > +                <condition property="@{file}.status" value="true" else="false">
> > +                    <equals arg1="${resultproperty}" arg2="0" />
> > +                </condition>
> > +
> > +                <escape-cdata file="${cunit.test.dir}/reports/${filename}.out" property="@{file}.msg"/>
> > +                <property name="@{file}.msg" value=""/>
> > +                <to-junit-xml xml="${cunit.test.dir}/reports/TEST-${filename}.xml"
> > +                    suite="${filename}"
> > +                    status="${@{file}.status}"
> > +                    out="${outputproperty}"
> > +                    msg="Exit code: ${resultproperty}"
> > +                    detail="Exit code: ${resultproperty} Err: ${@{file}.msg}"/>
> > +
> > +                <if>
> > +                    <istrue value="${@{file}.status}"/>
> > +                    <then>
> > +                        <echo message=" PASSED : ${filename}" />
> > +                    </then>
> > +                    <else>
> > +                        <echo message="*** FAILED **** : ${filename}" />
> > +                        <echo message="*** FAILED **** : ${filename} (${resultproperty} res code)${line.separator}" file="${cunit.test.summary}" append="true"/>
> > +                    </else>
> > +                </if>
> > +
> > +            </sequential>
> > +        </for>
> > +    </target>
> > +
> > +    <target name="cunit-report">
> > +        <gen-test-report dir="${cunit.test.dir}/reports"/>
> > +        <echo message="Please find tests and results at ${cunit.test.dir}" />
> > +        <available property="test.failed" file="${cunit.test.summary}" />
> > +        <fail unless="run.all.tests" if="test.failed" message="Some cunit tests failed"/>
> > +    </target>
> > +
> > +</project>
> >
> > Propchange: harmony/enhanced/drlvm/trunk/make/tests/cunit-test.xml
> > ------------------------------------------------------------------------------
> >    svn:eol-style = native
> >
> >
> >
>
>
> --
> Pavel Pervov,
> Intel Enterprise Solutions Software Division
>