harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From var...@apache.org
Subject svn commit: r616225 - in /harmony/enhanced/common_resources/make: ./ depends.properties depends.xml properties.xml svn.xml
Date Tue, 29 Jan 2008 09:38:59 GMT
Author: varlax
Date: Tue Jan 29 01:38:58 2008
New Revision: 616225

URL: http://svn.apache.org/viewvc?rev=616225&view=rev
Log:
Common depemdency pool (HARMONY-5419): basic implementation

Added:
    harmony/enhanced/common_resources/make/
    harmony/enhanced/common_resources/make/depends.properties   (with props)
    harmony/enhanced/common_resources/make/depends.xml   (with props)
    harmony/enhanced/common_resources/make/properties.xml   (with props)
    harmony/enhanced/common_resources/make/svn.xml   (with props)

Added: harmony/enhanced/common_resources/make/depends.properties
URL: http://svn.apache.org/viewvc/harmony/enhanced/common_resources/make/depends.properties?rev=616225&view=auto
==============================================================================
--- harmony/enhanced/common_resources/make/depends.properties (added)
+++ harmony/enhanced/common_resources/make/depends.properties Tue Jan 29 01:38:58 2008
@@ -0,0 +1,167 @@
+# 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.
+
+depends.jars=${base.dep.dir}/jars
+depends.oss=${base.dep.dir}/oss
+
+maven2.base=http://repo1.maven.org/maven2
+depends.url=http://svn.apache.org/repos/asf/harmony/standard/depends
+
+junit.jar=${depends.jars}/junit_3.8.2/junit.jar
+junit.jar.url=${maven2.base}/junit/junit/3.8.2/junit-3.8.2.jar
+junit.jar.md5=28e7eb9eeefe31a657c68755bfccc541
+
+icuhdr=${depends.oss}/icu4c/icu4c-3.4-harmony-includes.zip
+icuhdr.url=http://svn.apache.org/repos/asf/harmony/enhanced/classlib/trunk/depends/oss/icu4c-3.4-harmony-includes.zip
+icuhdr.md5=46dbe39e5f6c4ea206a9daad9e29f8b0
+
+icudll=${base.dep.dir}/libs/${hy.platform.variant}/icu-3.4/icu-3.4.zip
+icudll.url=${depends.url}/libs/${hy.platform.variant}/icu-3.4.zip
+icuuc.linkname@windows@=icuuc.lib
+icuuc.linkname@unix@=libicuuc.so.34
+icudll.md5@windows.x86@=4ab256e309d1ceb9779b10cf32c79dab
+icudll.md5@windows.x86_64@=39b2bb43ec0ec6f31567fd020e2c5338
+icudll.md5@linux.x86@=545626f5c5336168005dad74d7f6f30c
+icudll.md5@linux.x86.libstdc++6@=efca3002eaa3e4727633eb096ad4561c
+icudll.md5@linux.x86_64@=dd65a5c4d519799607ce9463f7e5cd26
+icudll.md5@linux.x86_64.libstdc++6@=6467cbcb3c6ff979c7bf9495b62081af
+icudll.md5@linux.ia64@=1136e736ce8976da898f2a3d34cb8469
+icudll.md5@linux.ppc32@=1a7e73cf283dc362b69350f163a3f256
+icudll.md5@linux.ppc64@=d6d67c23093425b7a1adda1550944745
+icudll.md5@macosx.ppc32@=96607064b85027427f29d39fc9ec5f90
+
+############################## TO SORT OUT ##############################
+
+
+sf.base=http://internap.dl.sourceforge.net/sourceforge
+
+xalan.dir=${depends.jars}/xalan-j_2.7.0
+xalan.jar=${xalan.dir}/xalan.jar
+xalan.url=${maven2.base}/xalan/xalan/2.7.0/xalan-2.7.0.jar
+xalan.md5=a018d032c21a873225e702b36b171a10
+
+xerces.dir=${depends.jars}/xerces_2.9.1
+xerces.zip=${xerces.dir}/xerces.zip
+xerces.url=http://www.apache.org/dist/xml/xerces-j/Xerces-J-bin.2.9.1.zip
+xerces.md5=a0e07ede1c3bd5231fe15eae24032b2e
+
+bcprov.dir=${depends.jars}/bcprov-jdk15-138
+bcprov.orig.jar=${bcprov.dir}/bcprov.jar
+bcprov.jar=${bcprov.dir}/bcprov.noidea.jar
+bcprov.url=http://www.bouncycastle.org/download/bcprov-jdk15-138.jar
+bcprov.md5=9c32fec75f2de26cfc18213b20461933
+
+msvcr.dir.x86=${depends.dir}/libs/windows.x86
+msvcr.dll.x86=${msvcr.dir.x86}/msvcr71.dll
+msvcr.url.x86=file:///${hyenv.SystemRoot}/system32/msvcr71.dll
+# This is the md5 hash for the VS2003 version, 7.10.3052.4
+msvcr_VS2003.md5.x86=86f1895ae8c5e8b17d99ece768a70732
+# This is the md5 hash for the VS2003 SP1 version, 7.10.6030.0
+msvcr_VS2003SP1.md5.x86=ca2f560921b7b8be1cf555a5a18d54c3
+
+msvcp.dir.x86=${depends.dir}/libs/windows.x86
+msvcp.dll.x86=${msvcr.dir.x86}/msvcp71.dll
+msvcp.url.x86=file:///${hyenv.SystemRoot}/system32/msvcp71.dll
+# This is the md5 hash for the VS2003 version, 7.10.3077.0
+msvcp_VS2003.md5.x86=561fa2abb31dfa8fab762145f81667c2
+# This is the md5 hash for the VS2003 SP1 version, 7.10.6030.0
+msvcp_VS2003SP1.md5.x86=a94dc60a90efd7a35c36d971e3ee7470
+
+msvcr.dir.x86_64=${depends.dir}/libs/windows.x86_64
+msvcr.dll.x86_64=${msvcr.dir.x86_64}/msvcr80.dll
+msvcr.url.x86_64=file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio%208/VC/redist/amd64/Microsoft.VC80.CRT/msvcr80.dll
+# VS2005 version 8.00.50727.42
+msvcr.md5.x86_64=465cebd7da2ceaba5e552fc9118a1415
+
+msvcp.dir.x86_64=${depends.dir}/libs/windows.x86_64
+msvcp.dll.x86_64=${msvcp.dir.x86_64}/msvcp80.dll
+msvcp.url.x86_64=file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio%208/VC/redist/amd64/Microsoft.VC80.CRT/msvcp80.dll
+# VS2005 version 8.00.50727.42
+msvcp.md5.x86_64=5ae0f01f02a03558da0cbd249e4df263
+
+mx4j.dir=${depends.jars}/mx4j_3.0.2
+mx4j.zip=${mx4j.dir}/mx4j.zip
+mx4j.url=${sf.base}/mx4j/mx4j-3.0.2.zip
+mx4j.md5=443bd83ee36414de4b8fc5722b038b02
+mx4j.jar=${mx4j.dir}/mx4j.jar
+mx4j.remote.jar=${mx4j.dir}/mx4j-remote.jar
+
+yoko.dir=${depends.jars}/yoko_M2-20070130
+yoko.jar=${yoko.dir}/yoko.jar
+yoko.url=http://people.apache.org/maven-snapshot-repository/org/apache/yoko/yoko-spec-corba/1.0-incubating-M2-SNAPSHOT/yoko-spec-corba-1.0-incubating-M2-20070130.104323-7.jar
+yoko.md5=d59e36ee960a53f4f75e14db3dc483ca
+
+yoko-core.dir=${depends.jars}/yoko_M2-20070130
+yoko-core.jar=${yoko.dir}/yoko-core.jar
+yoko-core.url=http://people.apache.org/maven-snapshot-repository/org/apache/yoko/yoko-core/1.0-incubating-M2-SNAPSHOT/yoko-core-1.0-incubating-M2-20070130.104323-5.jar
+yoko-core.md5=f68c368999daab6857900a74d8a1ac04
+
+yoko-rmi-impl.dir=${depends.jars}/yoko_M2-20070130
+yoko-rmi-impl.jar=${yoko-rmi-impl.dir}/yoko-rmi-impl.jar
+yoko-rmi-impl.url=http://people.apache.org/maven-snapshot-repository/org/apache/yoko/yoko-rmi-impl/1.0-incubating-M2-SNAPSHOT/yoko-rmi-impl-1.0-incubating-M2-20070130.104323-5.jar
+yoko-rmi-impl.md5=2a0cecb7d2b0567ad1758e43df67efce
+
+yoko-rmi-spec.dir=${depends.jars}/yoko_M2-20070130
+yoko-rmi-spec.jar=${yoko-rmi-spec.dir}/yoko-rmi-spec.jar
+yoko-rmi-spec.url=http://people.apache.org/maven-snapshot-repository/org/apache/yoko/yoko-rmi-spec/1.0-incubating-M2-SNAPSHOT/yoko-rmi-spec-1.0-incubating-M2-20070130.104323-6.jar
+yoko-rmi-spec.md5=532438a96cbb6948c37f0f7650aa1d5e
+
+# bcel is needed by yoko-rmi
+bcel.dir=${depends.jars}/bcel-5.2
+bcel.jar=${bcel.dir}/bcel-5.2.jar
+bcel.url=${maven2.base}/org/apache/bcel/bcel/5.2/bcel-5.2.jar
+bcel.md5=43d54687362fc2991d61201c453a8286
+
+jetty.dir=${depends.jars}/jetty
+jetty.jar=${jetty.dir}/jetty-6.0.0.jar
+jetty.md5=930507973c9ad19a874af06f10be7223
+jetty.url=${maven2.base}/jetty/jetty/6.0.0/jetty-6.0.0.jar
+
+jetty-util.jar=${jetty.dir}/jetty-util-6.0.0.jar
+jetty-util.md5=7cf65d83814718afdd1d3bd74f8799fc
+jetty-util.url=${maven2.base}/jetty/jetty-util/6.0.0/jetty-util-6.0.0.jar
+
+servlet-api.jar=${jetty.dir}/servlet-api-2.5-6.0.0.jar
+servlet-api.md5=c27c02fb0a00cc3a7d05ea993a9bf56e
+servlet-api.url=${maven2.base}/jetty/servlet-api/2.5-6.0.0/servlet-api-2.5-6.0.0.jar
+
+awtdeps.base.x86=http://people.apache.org/~geirm/harmony/
+awtdeps.dir.x86=${depends.dir}/libs/windows.x86
+awtdeps.tar.x86=${awtdeps.dir.x86}/swing_awt_deps_winxp_2006-09-28.tgz
+awtdeps.url.x86=${awtdeps.base.x86}swing_awt_deps_winxp_2006-09-28.tgz
+awtdeps.md5.x86=d61a27e4b305d9fcabaaacf34f8f534a
+awtdeps.extract.dir.x86=${depends.dir}/libs/build
+awtdeps.testfile.x86=${awtdeps.extract.dir.x86}/winxp_2006-09-28.txt
+
+awtdeps.base.x86_64=http://people.apache.org/~ayza/harmony/64bit/
+awtdeps.dir.x86_64=${depends.dir}/libs/windows.x86_64
+awtdeps.tar.x86_64=${awtdeps.dir.x86_64}/swing_awt_deps_win64_2007-02-08.tgz
+awtdeps.url.x86_64=${awtdeps.base.x86_64}swing_awt_deps_win64_2007-02-08.tgz
+awtdeps.md5.x86_64=f2bbb1f4f23100393783fd02a77fcc68
+awtdeps.extract.dir.x86_64=${depends.dir}/libs/build
+awtdeps.testfile.x86_64=${awtdeps.extract.dir.x86_64}/win64_2007-02-08.txt
+
+dejavu-fonts.dir=${depends.dir}/dejavu-fonts
+dejavu-fonts.fonts.dir=${depends.dir}/dejavu-fonts/dejavu-ttf-2.18
+dejavu-fonts.zip=${dejavu-fonts.dir}/dejavu-ttf-2.18-1.zip
+dejavu-fonts.url=http://dfn.dl.sourceforge.net/sourceforge/dejavu/dejavu-ttf-2.18-1.zip
+dejavu-fonts.md5=72e0a87ec1f9c5c26c66eabcf1e2018e
+
+derby.dir=${depends.jars}/derby-10.3.1.4
+derby.jar=${derby.dir}/derby.jar
+derby.url=http://www.ibiblio.org/maven/org.apache.derby/jars/derby-10.3.1.4.jar
+derby.md5=f28d6047ab26445de53c4c96126494df
+
+

Propchange: harmony/enhanced/common_resources/make/depends.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/common_resources/make/depends.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/common_resources/make/depends.xml?rev=616225&view=auto
==============================================================================
--- harmony/enhanced/common_resources/make/depends.xml (added)
+++ harmony/enhanced/common_resources/make/depends.xml Tue Jan 29 01:38:58 2008
@@ -0,0 +1,237 @@
+<?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="external-deps">
+    
+    <dirname property="ed.basedir" file="${ant.file.external-deps}"/>
+    <import file="${ed.basedir}/properties.xml"/>
+    
+    <loadproperties srcfile="${ed.basedir}/depends.properties">
+      <filterchain>
+        <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
+            <param type="token" name="${hy.arch}" value=""/>
+            <param type="token" name="${hy.os.family}" value=""/>
+            <param type="token" name="${hy.platform}" value=""/>
+            <param type="token" name="${hy.platform.variant}" value=""/>
+        </filterreader>
+      </filterchain>
+    </loadproperties>
+
+    <macrodef name="poll-modules">
+        <attribute name="target" />
+        <attribute name="dir" />
+        <attribute name="includes" default="**/*.xml"/>
+        <sequential>
+            <subant target="@{target}">
+                <fileset dir="@{dir}" includes="@{includes}">
+                    <containsregexp expression="&lt;target[^&gt;]*name=&quot;@{target}&quot;"/>
+                </fileset>
+            </subant>
+        </sequential>
+    </macrodef>
+
+    <target name="fetch">
+        <fetch dep="${dependency}"/>
+    </target>
+    
+    <macrodef name="fetch">
+        <attribute name="dep" />
+        <sequential>
+            <dirname file="${@{dep}}" property="@{dep}.dir"/>
+            <mkdir dir="${@{dep}.dir}"/>
+            <download-one-file dest="${@{dep}}" 
+                src="${@{dep}.url}" md5="${@{dep}.md5}"/>
+            <unzip-one-file dep="@{dep}"/>
+        </sequential>
+    </macrodef>
+    
+    <target name="-really-unzip" unless="unzipped" if="unzip.path">
+        <tempfile destdir="${dest}" property="tmp"/>
+        <unzip src="${src}" dest="${tmp}" >
+            <patternset includes="${unzip.path}"/>
+        </unzip>
+        <!-- touch does not work with filesets for me though -->
+        <touch>
+            <fileset dir="${tmp}">
+                <patternset includes="${unzip.path}"/>
+            </fileset>
+        </touch>
+        <touch file="${tmp}/${unzip.path}"/>
+        <move todir="${dest}" flatten="yes" failonerror="no">
+            <fileset dir="${tmp}">
+                <patternset includes="${unzip.path}"/>
+            </fileset>
+        </move>
+        <delete dir="${tmp}" />
+    </target>
+    
+    <macrodef name="unzip-one-file">
+        <attribute name="dep" />
+        <sequential>
+            <dirname file="${@{dep}}" property="@{dep}.dir"/>
+            <basename file="${@{dep}.unzip.path}" property="@{dep}.unzip.basename"/>
+            <condition property="@{dep}.unzipped">
+                <uptodate srcfile="${@{dep}}"
+                        targetfile="${@{dep}.dir}/${@{dep}.unzip.basename}"/>
+            </condition>
+            <antcall target="-really-unzip">
+                <param name="src" value="${@{dep}}" />
+                <param name="dest" value="${@{dep}.dir}" />
+                <propertyset>
+                  <propertyref prefix="@{dep}.unzip"/>
+                  <globmapper from="@{dep}.*" to="*"/>
+                </propertyset>
+            </antcall>
+        </sequential>
+    </macrodef>
+    
+    <macrodef name="download-one-file">
+        <attribute name="src" />
+        <attribute name="dest" />
+        <attribute name="md5" />
+        <attribute name="md5-deprecated" default="" />
+        <sequential>
+            <echo>Checking @{dest}</echo>
+            <available file="@{dest}" type="file"
+                       property="@{dest}.exists" />
+            <antcall target="-really-download">
+                <param name="src" value="@{src}" />
+                <param name="dest" value="@{dest}" />
+            </antcall>
+            <checksum file="@{dest}" property="@{dest}.md5" />
+            <condition property="@{dest}.md5.verified" value="true">
+                <or>
+                    <equals arg1="${@{dest}.md5}" arg2="@{md5}" />
+                    <equals arg1="${@{dest}.md5}" arg2="@{md5-deprecated}" />
+                </or>
+            </condition>
+            <antcall target="-remove-file-if-bad">
+                <param name="jar" value="@{dest}" />
+            </antcall>
+        <fail unless="@{dest}.md5.verified">
+...
+
+File @{dest} has incorrect md5 checksum.
+    Expected: @{md5} (or @{md5-deprecated})
+    Found:    ${@{dest}.md5}
+
+            </fail>
+            <echo>Checksum verified (${@{dest}.md5.verified})</echo>
+        </sequential>
+    </macrodef>
+
+    <target name="-really-download" unless="${dest}.exists">
+        <echo>Fetching ${dest}</echo>
+    <get src="${src}" dest="${dest}" usetimestamp="true" verbose="true" />
+    </target>
+
+    <target name="-remove-file-if-bad" unless="${dest}.md5.verified">
+        <delete file="${dest}" />
+    </target>
+
+    <macrodef name="check-one-file">
+        <attribute name="src" />
+        <attribute name="dest" />
+        <sequential>
+            <echo level="info">Checking for @{dest}</echo>
+        <available file="@{dest}" type="file"
+                       property="@{dest}.exists" />
+        <fail>
+        <condition>
+            <not>
+            <isset property="@{dest}.exists" />
+            </not>
+        </condition>
+...
+
+Missing dependency.  The jar from:
+
+  @{src}
+
+should be downloaded to:
+
+  @{dest}
+
+Run "ant fetch-depends" to automatically fetch dependencies.
+Note: Some of Harmony's dependencies are licensed under terms other
+than the Apache License v2.
+            </fail>
+        </sequential>
+    </macrodef>
+
+    <macrodef name="check-one-link">
+        <attribute name="src" />
+        <attribute name="dest" />
+        <attribute name="message" />
+        <sequential>
+            <echo>Checking for @{dest}</echo>
+        <available file="@{dest}" type="file"
+                       property="@{dest}.exists" />
+        <available file="@{src}" type="file"
+                       property="@{src}.exists" />
+        <fail>
+        <condition>
+                    <and>
+                <not>
+                <isset property="@{dest}.exists" />
+                        </not>
+                        <not>
+                <isset property="@{src}.exists" />
+                </not>
+                    </and>
+        </condition>
+...
+
+Missing dependency.  The file from:
+
+  @{src}
+
+should be linked to:
+
+  @{dest}
+
+But @{src} doesn't exist.
+@{message}
+            </fail>
+            <antcall target="-really-link">
+                <param name="src" value="@{src}" />
+                <param name="dest" value="@{dest}" />
+            </antcall>
+        </sequential>
+    </macrodef>
+
+    <target name="-really-link" unless="${dest}.exists">
+        <echo>Linking ${dest}</echo>
+        <symlink resource="${src}" link="${dest}" />
+    </target>
+
+    
+    <!--macrodef name="chksum">
+        <attribute name="file" />
+        <attribute name="type" default="md5" />
+        <sequential>
+            <checksum property="@{file}.@{type}" file="@{file}"
+                      algorithm="@{type}" />
+            <echo file="@{file}.@{type}"
+                  message="${@{file}.@{type}}  @{file}${line.separator}" />
+        </sequential>
+    </macrodef-->
+</project>

Propchange: harmony/enhanced/common_resources/make/depends.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/common_resources/make/properties.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/common_resources/make/properties.xml?rev=616225&view=auto
==============================================================================
--- harmony/enhanced/common_resources/make/properties.xml (added)
+++ harmony/enhanced/common_resources/make/properties.xml Tue Jan 29 01:38:58 2008
@@ -0,0 +1,579 @@
+<?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="Top-Level property definitions" default="echo">
+    <description>
+        Ant file of common properties to be imported by other ant files
+    </description>
+
+    <property file="${user.home}/.harmony.properties" />
+    <dirname property="common.basedir" file="${ant.file.Top-Level property definitions}/.."/>
+
+    <!-- Root directory of the common dependemcy pool -->
+    <property name="base.dep.dir" location="${common.basedir}/depends"/>
+
+    <!-- Debug or release version -->
+    <property name="hy.cfg" value="debug" />
+
+    <!-- Javac properties -->
+    <!-- Explicitly set to ECJ as the default compiler. -->
+    <property name="hy.javac.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"
/>
+    <property name="hy.javac.source" value="1.5" />
+    <property name="hy.javac.target" value="1.5" />
+    <property name="hy.javac.maxmem" value="384M" />
+
+    <!-- Temporarily always include class file debug info -->
+    <condition property="hy.javac.debug" value="on" else="on">
+        <equals arg1="${hy.cfg}" arg2="debug" />
+    </condition>
+
+    <!-- Local variable tables should be available in debug, and omitted in release modes.
-->
+    <condition property="build.compilerarg" value="-nowarn -g" else="-nowarn -g:lines,source">
+        <equals arg1="${hy.cfg}" arg2="debug" />
+    </condition>
+
+    <!-- During packaging, these files must be copied into the meta-inf dir -->
+    <fileset id="hy.required.metainf-files" dir="${hy.hdk}">
+        <include name="NOTICE" />
+        <include name="LICENSE" />
+    </fileset>
+
+    <!-- Test run property -->
+    <property name="hy.test.forkmode" value="once" />
+    <property name="hy.test.timeout" value="900000" />
+    <property name="hy.test.vmargs" value="" />
+
+    <!-- Conditions for operating systems -->
+    <condition property="is.windows">
+        <os family="Windows" />
+    </condition>
+    <condition property="is.linux">
+        <os name="linux" />
+    </condition>
+    <condition property="is.macosx">
+        <os name="mac os x" />
+    </condition>
+    <condition property="is.freebsd">
+        <os name="freebsd" />
+    </condition>
+    <condition property="is.aix">
+        <os name="aix" />
+    </condition>
+    <condition property="is.unix">
+        <os family="unix" />
+    </condition>
+    <condition property="is.zos">
+        <os name="z/OS" />
+    </condition>
+
+    <!-- Normalized operating system family -->
+    <condition property="hy.os.family" value="windows">
+        <isset property="is.windows" />
+    </condition>
+    <property name="hy.os.family" value="unix" />
+
+    <!-- Normalized operating system name -->
+
+    <!-- this special case makes sense -->
+    <condition property="hy.os" value="windows">
+        <isset property="is.windows"/>
+    </condition>
+    <condition property="hy.os" value="linux">
+        <os name="linux" />
+    </condition>
+    <condition property="hy.os" value="freebsd">
+        <os name="freebsd" />
+    </condition>
+    <condition property="hy.os" value="macosx">
+        <isset property="is.macosx"/>
+    </condition>
+    <condition property="hy.os" value="aix">
+        <os name="aix" />
+    </condition>
+    <condition property="hy.os" value="zos">
+        <isset property="is.zos"/>
+    </condition>
+
+    <property name="hy.os" value="${os.name}" />
+
+    <!-- Conditions for different architectures -->
+    <condition property="is.x86_64">
+        <or>
+            <equals arg1="x86_64" arg2="${os.arch}"/>
+            <equals arg1="amd64" arg2="${os.arch}"/>
+        </or>
+    </condition>
+    <condition property="is.x86">
+	<and>
+	    <not>
+                <isset property="is.x86_64" />
+            </not>
+            <or>
+                <equals arg1="x86" arg2="${os.arch}"/>
+                <equals arg1="i386" arg2="${os.arch}"/>
+                <equals arg1="i686" arg2="${os.arch}"/>
+            </or>
+        </and>
+    </condition>
+    <condition property="is.ia64">
+        <equals arg1="ia64" arg2="${os.arch}"/>
+    </condition>
+    <condition property="is.ppc32">
+        <or>
+            <equals arg1="${os.arch}" arg2="ppc32" />
+            <equals arg1="${os.arch}" arg2="ppc" />
+        </or>
+    </condition>
+    <condition property="is.ppc64">
+        <equals arg1="${os.arch}" arg2="ppc64" />
+    </condition>
+    <condition property="is.s390x">
+        <equals arg1="${os.arch}" arg2="s390x" />
+    </condition>
+    <condition property="is.s390">
+        <equals arg1="${os.arch}" arg2="s390" />
+    </condition>
+
+    <condition property="is.64bit">
+        <or>
+            <isset property="is.ia64" />
+            <isset property="is.x86_64" />
+            <isset property="is.ppc64" />
+            <isset property="is.s390x" />
+        </or>
+    </condition>
+    <condition property="is.32bit">
+        <or>
+            <isset property="is.x86" />
+            <isset property="is.ppc32" />
+            <isset property="is.s390" /> <!-- 31bit of course -->
+        </or>
+    </condition>
+    <condition property="hy.bits" value="32">
+        <isset property="is.32bit" />
+    </condition>
+    <property name="hy.bits" value="64" />
+
+    <!-- Normalized architecture name -->
+    <condition property="hy.arch" value="x86_64">
+        <isset property="is.x86_64" />
+    </condition>
+    <condition property="hy.arch" value="x86">
+        <and>
+            <isset property="is.x86" />
+            <isset property="is.32bit" />
+        </and>
+    </condition>
+    <condition property="hy.arch" value="ppc32">
+        <isset property="is.ppc32" />
+    </condition>
+    <property name="hy.arch" value="${os.arch}" />
+    
+    <!-- Normalized platform name -->
+    <property name="hy.platform" value="${hy.os}.${hy.arch}"/>
+    <property name="hy.platform.path" value="${hy.os}/${hy.arch}"/>
+    
+    <condition property="hy.libstdc++.suffix" value=".libstdc++6">
+        <isset property="use.libstdc++6"/>
+    </condition>
+    <property name="hy.libstdc++.suffix" value="" />
+    <property name="hy.platform.variant"
+              value="${hy.platform}${hy.libstdc++.suffix}" />
+
+
+    <condition property="exe.suffix" value=".exe">
+        <isset property="is.windows"/>
+    </condition>
+    <property name="exe.suffix" value="" />
+
+    <condition property="shlib.prefix" value="">
+        <isset property="is.windows"/>
+    </condition>
+    <property name="shlib.prefix" value="lib" />
+
+    <condition property="shlib.suffix" value=".dll">
+        <isset property="is.windows"/>
+    </condition>
+    <condition property="shlib.suffix" value=".dylib">
+        <isset property="is.macosx"/>
+    </condition>
+    <property name="shlib.suffix" value=".so" />
+
+    <condition property="progdb.suffix" value=".pdb">
+        <isset property="is.windows" />
+    </condition>
+
+    <condition property="object.suffix" value=".obj">
+        <isset property="is.windows" />
+    </condition>
+    <property name="object.suffix" value=".o" />
+
+    <condition property="linklib.suffix" value=".lib">
+        <isset property="is.windows"/>
+    </condition>
+    <condition property="linklib.suffix" value=".x">
+        <isset property="is.zos" />
+    </condition>
+    <condition property="linklib.suffix" value=".dylib">
+        <isset property="is.macosx"/>
+    </condition>
+    <property name="linklib.suffix" value=".so" />
+    
+    <condition property="shlib.is.linklib">
+        <equals arg1="${shlib.suffix}" arg2="${linklib.suffix}"/>
+    </condition>
+
+    <property name="manifest.suffix" value=".manifest" />
+
+    <condition property="make.command" value="nmake.exe">
+        <isset property="is.windows"/>
+    </condition>
+    <condition property="make.command" value="gmake">
+        <or>
+            <isset property="is.aix"/>
+            <isset property="is.freebsd"/>
+        </or>
+    </condition>
+    <property name="make.command" value="make" />
+
+    <condition property="make.arg" value="/nologo">
+        <isset property="is.windows"/>
+    </condition>
+    <property name="make.arg" value="" />
+
+    <condition property="png.home" value="/usr/local">
+        <isset property="is.freebsd"/>
+    </condition>
+    <condition property="png.home" value="/sw">
+        <isset property="is.macosx"/>
+    </condition>
+    <property name="png.home" value="/usr" />
+
+    <condition property="lcms.home" value="/usr/local">
+        <isset property="is.freebsd"/>
+    </condition>
+    <condition property="lcms.home" value="/sw">
+        <isset property="is.macosx"/>
+    </condition>
+    <property name="lcms.home" value="/usr" />
+
+    <condition property="jpeg.home" value="/usr/local">
+        <isset property="is.freebsd"/>
+    </condition>
+    <condition property="jpeg.home" value="/sw">
+        <isset property="is.macosx"/>
+    </condition>
+    <property name="jpeg.home" value="/usr" />
+    
+    <!-- default property for call-modules macro - i.e. all modules -->
+    <property name="build.module" value="*" />
+    <property name="exclude.module" value="nothing" />
+
+    <!-- names of exclude lists, used by prepare-exclude-list macro -->
+    <property name="common.exclude.file" value="exclude.common" />
+    <property name="common.exclude.interm" value="exclude.interm" />
+    <property name="platform.exclude.file"
+              value="exclude.${hy.platform}.${hy.test.vm.name}" />
+    <property name="platform.exclude.interm"
+              value="exclude.${hy.platform}.${hy.test.vm.name}.interm" />
+
+    <!-- flags -->
+    <property name="hy.no.thr" value="false" />
+    <condition property="hy.skip.thr" value="true">
+        <not>
+            <equals arg1="${hy.no.thr}" arg2="false" />
+        </not>
+    </condition>
+
+    <property name="hy.no.sig" value="${hy.no.thr}" />
+    <condition property="hy.skip.sig" value="true">
+        <not>
+            <equals arg1="${hy.no.sig}" arg2="false" />
+        </not>
+    </condition>
+
+    <property name="hy.local.zlib" value="false" />
+    <condition property="hy.skip.zlib" value="true">
+        <not>
+            <equals arg1="${hy.local.zlib}" arg2="false" />
+        </not>
+    </condition>
+
+    <property name="hy.zip.api" value="false" />
+    <condition property="hy.skip.zip.api" value="true">
+        <not>
+            <equals arg1="${hy.zip.api}" arg2="true" />
+        </not>
+     </condition>
+
+    <target name="echo" depends="svn-prop, svn-info, test-jre-vm-info"
+            description="Display the properties defined by this ant file" >
+        <echo>
+Harmony release configuration property:
+
+  hy.cfg = ${hy.cfg}
+
+Harmony javac properties:
+
+  hy.javac.compiler = ${hy.javac.compiler}
+  hy.javac.target = ${hy.javac.target}
+  hy.javac.source = ${hy.javac.source}
+  hy.javac.debug  = ${hy.javac.debug}
+  hy.javac.maxmem = ${hy.javac.maxmem}
+  build.compilerarg = ${build.compilerarg}
+
+Harmony test properties:
+
+    hy.test.forkmode = ${hy.test.forkmode}
+    hy.test.timeout = ${hy.test.timeout}
+    hy.test.vm.name = ${hy.test.vm.name}
+    hy.test.vmargs = ${hy.test.vmargs}
+
+Harmony platform properties:
+
+  hy.os = ${hy.os}
+  hy.os.family = ${hy.os.family}
+  hy.arch = ${hy.arch}
+  hy.bits = ${hy.bits}
+  hy.platform = ${hy.platform}
+  hy.platform.path = ${hy.platform.path}
+
+  is.windows = ${is.windows}
+  is.unix = ${is.unix}
+  is.linux = ${is.linux}
+  is.freebsd = ${is.freebsd}
+  is.macosx = ${is.macosx}
+  is.aix = ${is.aix}
+  is.zos = ${is.zos}
+  is.32bit = ${is.32bit}
+  is.64bit = ${is.64bit}
+  is.x86 = ${is.x86}
+  is.x86_64 = ${is.x86_64}
+  is.ia64 = ${is.ia64}
+  is.ppc32 = ${is.ppc32}
+  is.ppc64 = ${is.ppc64}
+  is.s390 = ${is.s390}
+  is.s390x = ${is.s390x}
+
+  exe.suffix = ${exe.suffix}
+  shlib.prefix = ${shlib.prefix}
+  shlib.suffix = ${shlib.suffix}
+  make.command = ${make.command}
+
+  hy.hdk = ${hy.hdk}
+
+
+The following property is only set if the "svn-prop" target has been
+called:
+
+  svn.revision = ${svn.revision}
+
+
+The following property is only set if the "svn-info" target has been
+called:
+
+  svn.info = ${svn.info}
+
+Ant native properties, for information, but please use Harmony
+properties in preference to these:
+
+  os.name = ${os.name}
+  os.arch = ${os.arch}
+
+        </echo>
+    </target>
+
+    <target name="svn-prop">
+        <exec executable="svn">
+            <arg value="--non-interactive" />
+            <arg value="info" />
+            <redirector outputproperty="svn.revision">
+                <outputfilterchain>
+                    <linecontains>
+                        <contains value="Revision: " />
+                    </linecontains>
+                    <tokenfilter>
+                        <replacestring from="Revision: " to=""/>
+                    </tokenfilter>
+                </outputfilterchain>
+            </redirector>
+        </exec>
+    </target>
+
+    <target name="svn-info">
+        <exec executable="svn"
+              failifexecutionfails="false"
+              resultproperty="svn.rc">
+            <arg value="info" />
+            <redirector outputproperty="svn.info.tmp">
+                <outputfilterchain>
+                    <linecontainsregexp>
+                        <regexp pattern="Repository Root:|Revision:" />
+                    </linecontainsregexp>
+                    <tokenfilter>
+                        <replacestring from="Repository Root: " to=""/>
+                        <replacestring from="Revision: " to=" "/>
+                    </tokenfilter>
+                    <striplinebreaks/>
+                </outputfilterchain>
+            </redirector>
+        </exec>
+        <condition property="svn.info" value="${svn.info.tmp}" >
+            <equals arg1="${svn.rc}" arg2="0" />
+        </condition>
+        <tstamp>
+            <format property="svn.info" pattern="'Unknown revision at' dd-MMM-yyyy hh:mm
aa"/>
+        </tstamp>
+    </target>
+
+    <target name="test-jre-vm-info" depends="-get-test-vm-output">
+        <!-- Add other runtime names here -->
+        <condition property="hy.test.vm.name" value="ri" >
+            <contains string="${test.vm.info.tmp}" substring="HotSpot"/>
+        </condition>
+        <condition property="hy.test.vm.name" value="jr" >
+            <contains string="${test.vm.info.tmp}" substring="JRockit"/>
+        </condition>
+        <!-- FIXME current behavior relies on the fact that J9 VM doesn't
+             support -version parameter -->
+        <condition property="hy.test.vm.name" value="drl" else="ibm" >
+            <contains string="${test.vm.info.tmp}" substring="harmony" />
+        </condition>
+        <echo level="verbose" message="hy.test.vm.name = ${hy.test.vm.name}" />
+    </target>
+
+    <target name="-get-test-vm-output" if="test.jre.home">
+        <exec executable="${test.jre.home}/bin/java" failifexecutionfails="false">
+            <arg value="-version" />
+            <redirector outputproperty="test.vm.info.tmp"/>
+        </exec>
+    </target>
+
+    <macrodef name="call-modules">
+        <attribute name="target" />
+        <sequential>
+            <subant target="@{target}">
+                <property name="hy.test.vm.name" value="${hy.test.vm.name}"/>
+                <dirset dir="modules"
+                        includes="${build.module}"
+                        excludes="${exclude.module}">
+                    <exclude name=".*" />
+                </dirset>
+            </subant>
+        </sequential>
+    </macrodef>
+
+    <!-- macros for modules -->
+    <!-- TOFIX move to a shared file in the HDK/build/make directory. -->
+
+    <macrodef name="make">
+        <attribute name="dir" />
+        <attribute name="target" default="" />
+        <sequential>
+            <echo>Making "@{target}" in @{dir}</echo>
+            <exec failonerror="true"
+                  executable="${make.command}"
+                  dir="@{dir}">
+                <env key="HY_ZIP_API" value="${hy.zip.api}" />
+                <env key="HY_HDK" value="${hy.hdk}" />
+                <env key="HY_CFG" value="${hy.cfg}" />
+                <env key="HY_ARCH" value="${hy.arch}" />
+                <env key="HY_OS" value="${hy.os}" />
+                <env key="HY_PLATFORM" value="${hy.platform}" />
+                <env key="HY_NO_SIG" value="${hy.no.sig}" />
+                <env key="HY_NO_THR" value="${hy.no.thr}" />
+                <env key="HY_LOCAL_ZLIB" value="${hy.local.zlib}" />
+                <env key="HY_SHLIB_SUFFIX" value="${shlib.suffix}" />
+                <env key="HY_LINKLIB_SUFFIX" value="${linklib.suffix}" />
+                <arg line="${make.arg}" />
+                <arg line="@{target}" />
+            </exec>
+        </sequential>
+    </macrodef>
+
+
+    <!-- To use with -Dtest.case=... option                   -->
+    <!-- if ${test.case} is provided in package+class form    -->
+    <!-- it is converted to dir+filename form                 -->
+    <macrodef name="convert-test">
+        <attribute name="from"/>
+        <attribute name="to"/>
+        <sequential>
+            <pathconvert property="@{to}" setonempty="no">
+                <path path="${@{from}}"/>
+                <chainedmapper>
+                    <filtermapper>
+                        <replaceregex pattern="\.java$$"/>
+                    </filtermapper>
+                    <unpackagemapper from="${basedir}${file.separator}*" to="*.java"/>
+                </chainedmapper>
+            </pathconvert>
+        </sequential>
+    </macrodef>
+    <convert-test from="test.case" to="converted.tc" />
+    
+    <!-- Concatenate several exclude lists into single list -->
+    <macrodef name="prepare-exclude-list">
+       <attribute name="moduleName"/>
+       <!-- directory with exclude lists for the module -->
+       <attribute name="dir"/>
+       <!-- name of concatenated list, should be an absolute pathname -->
+       <attribute name="result"/>
+       <sequential>
+           <echo message="" file="@{result}"/>
+           <concat destfile="@{result}" force="yes" fixlastline="yes" append="true">
+               <fileset dir="@{dir}">
+                   <include name="${common.exclude.file}"/> 
+                   <include name="${platform.exclude.file}"/>
+                   <include name="${common.exclude.interm}" if="exclude.interm" />
+                   <include name="${platform.exclude.interm}" if="exclude.interm" />
+                   <size value="0" when="more"/>
+               </fileset>
+           </concat>
+       </sequential>
+   </macrodef>
+    
+    <macrodef name="ensure-javac">
+        <sequential>
+            <fail>
+                <condition>
+                    <and>
+                        <equals arg1="${hy.javac.compiler}" arg2="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                        <not>
+                            <available classname="${hy.javac.compiler}"/>
+                        </not>
+                    </and>
+                </condition>
+The Eclipse compiler class for Ant could not be found. Please place the ECJ JAR in ANT_HOME/lib.
+The JAR can be downloaded directly from eclipse.org or copied from COMMON_RESOURCES/depends/jars/ecj_3.x
folder after the fetch-depends target for JDKTOOLS has been run.
+Alternatively, you can switch to another compiler, e.g. specify '-Dhy.javac.compiler=modern'
for classic javac.                
+            </fail>
+        </sequential>
+    </macrodef>
+   
+   <presetdef name="hy.javac">
+       <javac target="${hy.javac.target}" source="${hy.javac.source}" 
+                compiler="${hy.javac.compiler}" debug="${hy.javac.debug}">
+           <compilerarg line="${build.compilerarg}" />
+       </javac>
+   </presetdef>
+
+</project>

Propchange: harmony/enhanced/common_resources/make/properties.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/common_resources/make/svn.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/common_resources/make/svn.xml?rev=616225&view=auto
==============================================================================
--- harmony/enhanced/common_resources/make/svn.xml (added)
+++ harmony/enhanced/common_resources/make/svn.xml Tue Jan 29 01:38:58 2008
@@ -0,0 +1,101 @@
+<?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="svn-deps">
+    
+    <!--dirname property="svn.basedir" file="${ant.file.svn-deps}"/>
+    <import file="${svn.basedir}/properties.xml"/>    
+    <property file="${svn.basedir}/depends.properties"/-->
+    
+    <target name="fetch-svn">
+        <setup-svn dep="${dependency}"/>
+        <antcall target="svn-co">
+            <propertyset>
+                <propertyref prefix="${dependency}."/>
+                <mapper type="glob" from="${dependency}.*" to="*"/>
+            </propertyset>
+        </antcall>
+    </target>
+
+    <target name="svn-co" unless="svn.dir.uptodate">
+        <exec executable="svn" failonerror="true">
+            <arg line="co -r ${svn.revision} ${svn.url} ${svn.dir}" />
+        </exec>
+    </target>
+
+    <target name="check-svn">
+        <check-svn dep="${dependency}"/>
+    </target>
+    
+    <macrodef name="check-svn">
+        <attribute name="dep" />
+        <sequential>
+            <setup-svn dep="@{dep}"/>
+            <echo message="Checking @{dep} SVN workspace at ${@{dep}.svn.dir}"/>
+            <fail unless="@{dep}.svn.dir.uptodate">
+                ...
+Dependency is not available or out of date: ${dependency}.
+It should be checked out
+    from SVN repository: ${@{dep}.svn.url} 
+    revision: ${@{dep}.svn.revision}
+    to: ${@{dep}.svn.dir}
+    
+Run "ant fetch-depends" to automatically fetch dependencies.
+Note: Some of Harmony's dependencies are licensed under terms other
+than the Apache License v2.                
+            </fail>
+        </sequential>
+    </macrodef>
+
+    <macrodef name="setup-svn">
+        <attribute name="dep" />
+        <sequential>
+            <property name="@{dep}.svn.dir" value="${depends.oss}/@{dep}"/>
+            <property name="@{dep}.svn.revision" value="HEAD"/>
+            <svn-info dir="${@{dep}.svn.dir}" prefix="@{dep}"/>
+
+            <condition property="@{dep}.svn.dir.uptodate">
+                <and>
+                    <equals arg1="${@{dep}.svn.revision}" arg2="${@{dep}.entry.revision}"/>
+                    <equals arg1="${@{dep}.svn.url}" arg2="${@{dep}.entry.url}"/>
+                </and>
+            </condition>
+        </sequential>
+    </macrodef>
+    
+    <macrodef name="svn-info">
+        <attribute name="dir" />
+        <attribute name="prefix" default=""/>
+        <sequential>
+            <tempfile suffix=".xml" property="@{dir}.tmp"/>
+            <exec executable="svn" output="${@{dir}.tmp}" resultproperty="@{dir}.svn.status">
+                <arg line="info @{dir} --non-interactive --xml" />
+            </exec>
+            <condition property="@{dir}.info.file" value="${@{dir}.tmp}">
+                <equals arg1="0" arg2="${@{dir}.svn.status}"/>
+            </condition>
+            <xmlproperty file="${@{dir}.info.file}" prefix="@{prefix}" 
+                keeproot="no" collapseAttributes="yes"/>
+            <delete file="${@{dir}.tmp}" quiet="true"/>
+        </sequential>
+    </macrodef>
+
+</project>

Propchange: harmony/enhanced/common_resources/make/svn.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message