harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From var...@apache.org
Subject svn commit: r616241 [1/3] - in /harmony/enhanced/drlvm/trunk: ./ make/ make/extra/ make/resources/ make/tests/ make/vm/
Date Tue, 29 Jan 2008 10:34:18 GMT
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



Mime
View raw message