From: <pet...@us...> - 2007-01-31 06:15:18
|
Revision: 11401 http://svn.sourceforge.net/jikesrvm/?rev=11401&view=rev Author: peter_donald Date: 2007-01-30 22:15:12 -0800 (Tue, 30 Jan 2007) Log Message: ----------- Give each external component a separate build file so it is easier to manage over long term. The build/components.xml is removed and replaced with three separate build files under build/components Modified Paths: -------------- rvmroot/trunk/build/hosts/ia32-linux.properties rvmroot/trunk/build/hosts/ia32-osx.properties rvmroot/trunk/build/hosts/ppc32-aix.properties rvmroot/trunk/build/hosts/ppc32-linux.properties rvmroot/trunk/build/hosts/ppc32-osx.properties rvmroot/trunk/build/hosts/ppc64-aix.properties rvmroot/trunk/build/hosts/ppc64-linux.properties rvmroot/trunk/build/hosts/x86_64-linux.properties rvmroot/trunk/build.xml Added Paths: ----------- rvmroot/trunk/build/components/ rvmroot/trunk/build/components/classpath.xml rvmroot/trunk/build/components/gcspy.xml rvmroot/trunk/build/components/jai.xml Removed Paths: ------------- rvmroot/trunk/build/components.xml Added: rvmroot/trunk/build/components/classpath.xml =================================================================== --- rvmroot/trunk/build/components/classpath.xml (rev 0) +++ rvmroot/trunk/build/components/classpath.xml 2007-01-31 06:15:12 UTC (rev 11401) @@ -0,0 +1,155 @@ +<project name="classpath" default="build" basedir="."> + + <property name="jikesrvm.dir" location="${basedir}/../../"/> + <import file="${jikesrvm.dir}/build/base.xml"/> + + <property name="classpath.version" value="93"/> + + <!-- **************************************************************************** --> + <!-- * * --> + <!-- * Downloading and installing Classpath component * --> + <!-- * * --> + <!-- **************************************************************************** --> + + <!-- init properties for downloading classpath from cvs or from web --> + <target name="init-classpath-properties"> + <check-host-and-target-match message="can not download and build Classpath."/> + <property name="classpath.component.dir" location="${components.dir}/classpath"/> + <property name="classpath.package.dir" value="${classpath.component.dir}/${classpath.version}"/> + <property name="classpath.dir" value="${classpath.package.dir}/classpath"/> + + <condition property="classpath.from-web" value="true"> + <and> + <not> + <isset property="classpath.from-cvs"/> + </not> + <not> + <isset property="classpath.from-web"/> + </not> + <or> + <not> + <available file="${classpath.package.dir}/classpath/README"/> + </not> + <isset property="classpath.force-download"/> + </or> + </and> + </condition> + </target> + + <!-- download classpath from cvs --> + <target name="get-classpath-from-cvs" depends="init-classpath-properties" if="classpath.from-cvs"> + <property name="classpath.tag" value="generics-0_${classpath.version}-release"/> + <test-file name="cvs.exe" location="${host.file}"/> + <mkdir dir="${classpath.package.dir}"/> + <delete dir="${classpath.package.dir}/classpath"/> + <exec executable="${cvs.exe}" failonerror="true" dir="${classpath.package.dir}"> + <arg value="-q"/> + <arg value="-z3"/> + <arg value="-d:pserver:ano...@cv...:/sources/classpath"/> + <arg value="co"/> + <arg value="-r"/> + <arg value="${classpath.tag}"/> + <arg value="classpath"/> + </exec> + <exec executable="${classpath.dir}/autogen.sh" failonerror="true" dir="${classpath.dir}"/> + </target> + + <!-- download classpath from web --> + <target name="get-classpath-from-web" depends="init-classpath-properties" if="classpath.from-web"> + <test-file name="tar.exe" location="${host.file}"/> + <property name="classpath.web-archive" value="classpath-0.${classpath.version}-generics.tar.gz"/> + <mkdir dir="${classpath.package.dir}"/> + <get src="ftp://ftp.gnu.org/gnu/classpath/${classpath.web-archive}" + dest="${classpath.package.dir}/${classpath.web-archive}"/> + <!-- use tar.exe so can maintain executable bits on appropriate files. Could use untar+chmod task for same but it was annoying --> + <exec executable="${tar.exe}" failonerror="true" dir="${classpath.package.dir}"> + <arg value="xzf"/> + <arg value="${classpath.web-archive}"/> + </exec> + <move file="${classpath.package.dir}/classpath-0.${classpath.version}-generics" + tofile="${classpath.package.dir}/classpath"/> + </target> + + <target name="fetch" depends="get-classpath-from-web,get-classpath-from-cvs"/> + + <!-- build classpath in classpath.dir --> + <target name="build" depends="fetch" description="Download Classpath and build."> + <test-file name="ecj.exe" location="${host.file}"/> + <test-file name="make.exe" location="${host.file}"/> + + <condition property="cp.enable.gtk-peer" value=" --enable-gtk-peer" else=" --disable-gtk-peer"> + <and> + <not> + <or> + <equals arg1="${target.os}" arg2="AIX"/> + <equals arg1="${target.name}" arg2="x86_64-linux"/> + <equals arg1="${target.name}" arg2="ppc64-linux"/> + </or> + </not> + <or> + <available file="/usr/include/gtk-2.0/gtk/gtk.h"/> + <available file="/opt/gnome/include/gtk-2.0/gtk/gtk.h"/> + </or> + </and> + </condition> + + <condition property="cp.disable.alsa" value=" --disable-alsa" else=""> + <equals arg1="${target.name}" arg2="x86_64-linux"/> + </condition> + + <exec executable="${classpath.dir}/configure" failonerror="true" dir="${classpath.dir}"> + <!-- need to pass thru compiler settings so if we are building on + 64 bit system the libraries are created appropriately --> + <env key="CXX" value="${c++.exe} ${c++.args}"/> + <env key="CC" value="${c.exe} ${c.args}"/> + <!--<env key="FIND" value=""/>--> + <!--<env key="ZIP" value=""/>--> + <!--<env key="AR" value=""/>--> + <!--<env key="AR_FLAGS" value=""/> --> + <arg value="--enable-jni"/> + <arg value="--with-ecj=${ecj.exe}"/> + <arg value="--disable-plugin"/> + <arg value="--disable-gconf-peer"/> + <arg line="${cp.enable.gtk-peer}${cp.disable.alsa}"/> + </exec> + <!-- skiping AIX munging of build files as that should be pushed upstream! --> + <exec executable="${make.exe}" failonerror="true" dir="${classpath.dir}"/> + + <mkdir dir="${classpath.package.dir}/${target.name}/lib"/> + <jar file="${classpath.package.dir}/${target.name}/lib/src.jar" basedir="${classpath.dir}"> + <include name="java/**/*.java"/> + <include name="javax/**/*.java"/> + <include name="gnu/**/*.java"/> + </jar> + <copy file="${classpath.dir}/lib/glibj.zip" tofile="${classpath.package.dir}/${target.name}/lib/classpath.jar"/> + + <condition property="library.suffix" value=".so"> + <equals arg1="${target.os}" arg2="Linux"/> + </condition> + <condition property="library.suffix" value=".so.0"> + <equals arg1="${target.os}" arg2="AIX"/> + </condition> + <condition property="library.suffix" value=".dylib"> + <equals arg1="${target.os}" arg2="OSX"/> + </condition> + + <copy todir="${classpath.package.dir}/${target.name}/lib" flatten="true"> + <regexpmapper from="^(.*${file.separator})lib([^${file.separator}]+)${library.suffix}$$" + to="${target.dll-prefix}\2${target.dll-ext}"/> + <fileset dir="${classpath.dir}"> + <include name="native/jni/**/.libs/*${library.suffix}"/> + <include name="native/jawt/.libs/*${library.suffix}"/> + </fileset> + </copy> + <echo file="${classpath.package.dir}/${target.name}/lib/constants.properties"><![CDATA[ +classpath.version=${classpath.version} +classpath.description=GNU Classpath (Generics Branch) +]]></echo> + + <echo> + Edit the components configuration file ${components.file} and set the following property: + ${target.name}.classpath.lib.dir=${classpath.package.dir}/${target.name}/lib + </echo> + </target> + +</project> Property changes on: rvmroot/trunk/build/components/classpath.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: rvmroot/trunk/build/components/gcspy.xml =================================================================== --- rvmroot/trunk/build/components/gcspy.xml (rev 0) +++ rvmroot/trunk/build/components/gcspy.xml 2007-01-31 06:15:12 UTC (rev 11401) @@ -0,0 +1,118 @@ +<project name="gcspy" default="build" basedir="."> + + <property name="jikesrvm.dir" location="${basedir}/../../"/> + <import file="${jikesrvm.dir}/build/base.xml"/> + + <property name="gcspy.version" value="1_01"/> + + <!-- **************************************************************************** --> + <!-- * * --> + <!-- * Downloading and installing GCSpy component * --> + <!-- * * --> + <!-- **************************************************************************** --> + + <target name="init-gcspy-properties"> + <check-host-and-target-match message="can not download and build GCSpy."/> + + <property name="gcspy.component.dir" location="${components.dir}/gcspy"/> + <property name="gcspy.package.dir" value="${gcspy.component.dir}/${gcspy.version}"/> + <property name="gcspy.dir" value="${gcspy.package.dir}/gcspy"/> + <condition property="gcspy.from-web" value="true"> + <or> + <not> + <available file="${gcspy.package.dir}/gcspy/src/HISTORY"/> + </not> + <isset property="gcspy.force-download"/> + </or> + </condition> + <condition property="include.gcspy-client" value="1"> + <not> + <isset property="gcspy.skip-client"/> + </not> + </condition> + <test-file name="make.exe" location="${host.file}"/> + </target> + + <!-- download gcspy from from web --> + <target name="fetch" depends="init-gcspy-properties" if="gcspy.from-web"> + <property name="gcspy.web-archive" value="gcspy${gcspy.version}.tar.gz"/> + <mkdir dir="${gcspy.package.dir}"/> + <get src="http://www.cs.kent.ac.uk/projects/gc/gcspy/${gcspy.web-archive}" + dest="${gcspy.package.dir}/${gcspy.web-archive}"/> + <untar src="${gcspy.package.dir}/${gcspy.web-archive}" compression="gzip" dest="${gcspy.package.dir}"/> + </target> + + <target name="build-gcspy-client" depends="fetch" if="include.gcspy-client"> + <propertycopy name="gcspy.jai.lib.dir" from="${target.name}.jai.lib.dir"/> + <property name="jai.error" + value="The user can invoke build-jai target to download jai from the web. Alternatively the user can specify -Dgcspy.skip-client=1 when invoking the build-gcspy target to avoid building the gcspy client."/> + <test-file name="gcspy.jai.lib.dir" msg="${jai.error}" location="${components.file}"/> + + <replace file="${gcspy.dir}/src/src/java/GNUmakefile" + token="$$(JAI_ROOT)/lib/jai_core.jar" + value="${gcspy.jai.lib.dir}/jai_core.jar"/> + + <exec executable="${make.exe}" failonerror="true" dir="${gcspy.dir}/src/src/java"> + <arg value="clean"/> + <arg value="all"/> + <arg value="install"/> + </exec> + + <mkdir dir="${gcspy.package.dir}/${target.name}/client"/> + <jar destfile="${gcspy.package.dir}/${target.name}/client/gcspy-${gcspy.version}.jar" + basedir="${gcspy.dir}/src/classes"> + <include name="gcspy/**/*.class"/> + <include name="icons/**"/> + </jar> + <copy todir="${gcspy.package.dir}/${target.name}/client"> + <fileset dir="${gcspy.dir}/src/classes"> + <include name="plugins/**"/> + </fileset> + </copy> + <copy todir="${gcspy.package.dir}/${target.name}/client"> + <fileset dir="${gcspy.jai.lib.dir}"> + <include name="*"/> + </fileset> + </copy> + + <echo file="${gcspy.package.dir}/${target.name}/client/gcspy">#!/bin/bash + export GCSPY_DIR="`dirname "$$0"`" + export LD_LIBRARY_PATH=$$GCSPY_DIR:$$LD_LIBRARY_PATH + java -classpath $$GCSPY_DIR/gcspy-${gcspy.version}.jar:$$GCSPY_DIR/jai_core.jar gcspy.Main $* + </echo> + <chmod file="${gcspy.package.dir}/${target.name}/client/gcspy" perm="ugo+rx"/> + </target> + + <target name="build" depends="build-gcspy-client" description="Download GCSpy and build."> + <exec executable="${make.exe}" failonerror="true" dir="${gcspy.dir}/src/src/c"> + <arg value="clean"/> + <arg value="all"/> + <arg value="install"/> + </exec> + + <mkdir dir="${gcspy.package.dir}/${target.name}/server"/> + <copy todir="${gcspy.package.dir}/${target.name}/server"> + <fileset dir="${gcspy.dir}/src/src/c/lib"> + <include name="*${target.dll-ext}"/> + </fileset> + <fileset dir="${gcspy.dir}/src/src/c"> + <include name="include/*"/> + </fileset> + </copy> + <echo file="${gcspy.package.dir}/${target.name}/server/constants.properties"><![CDATA[ +gcspy.version=${gcspy.version} +gcspy.description=GCSpy Heap Visualisation Framework +]]></echo> + <condition property="gcspy.client.help" + value=" ${target.name}.gcspy.client.dir=${gcspy.package.dir}/${target.name}/client${line.separator}" + else=""> + <isset property="include.gcspy-client"/> + </condition> + + <echo> + Edit the components configuration file ${components.file} and set the following properties: + ${gcspy.client.help} ${target.name}.gcspy.server.dir=${gcspy.package.dir}/${target.name}/server + </echo> + </target> + +</project> Property changes on: rvmroot/trunk/build/components/gcspy.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Added: rvmroot/trunk/build/components/jai.xml =================================================================== --- rvmroot/trunk/build/components/jai.xml (rev 0) +++ rvmroot/trunk/build/components/jai.xml 2007-01-31 06:15:12 UTC (rev 11401) @@ -0,0 +1,77 @@ +<project name="jai" default="build" basedir="."> + + <property name="jikesrvm.dir" location="${basedir}/../../"/> + <import file="${jikesrvm.dir}/build/base.xml"/> + + <property name="jai.version" value="1_1_2_01"/> + + <!-- **************************************************************************** --> + <!-- * * --> + <!-- * Downloading and installing Java Advanced Imaging component (for GCSpy) * --> + <!-- * * --> + <!-- **************************************************************************** --> + + <target name="init-jai-properties"> + <check-host-and-target-match message="can not download Java Advanced Imaging component."/> + <property name="jai.component.dir" location="${components.dir}/jai"/> + <property name="jai.package.dir" value="${jai.component.dir}/${jai.version}"/> + <property name="jai.dir" value="${jai.component.dir}/${jai.version}/jai-${jai.version}"/> + <condition property="jai.from-web" value="true"> + <or> + <not> + <available file="${jai.dir}/lib/jai_core.jar"/> + </not> + <isset property="jai.force-download"/> + </or> + </condition> + <condition property="jai.from-web-for-linux-ia32" value="true"> + <and> + <equals arg1="${jai.from-web}" arg2="true"/> + <equals arg1="${target.os}" arg2="Linux"/> + <equals arg1="${target.arch}" arg2="ia32"/> + </and> + </condition> + <condition property="invalid_jai_download" value="true"> + <and> + <equals arg1="${jai.from-web}" arg2="true"/> + <not> + <equals arg1="${jai.from-web-for-linux-ia32}" arg2="true"/> + </not> + </and> + </condition> + <fail if="invalid_jai_download"> + Unable to determine a location to automatically download JAI ${jai.version} from for the target + os and architecture. Please download JAI ${jai.version} manually, copy the jar and shared libraries + into a single directory and set the ${target.name}.jai.lib.dir property to the directory location. i.e. + ${target.name}.jai.lib.dir=${jai.package.dir}/lib + </fail> + </target> + + <target name="get-jai-linux-ia32" depends="init-jai-properties" if="jai.from-web-for-linux-ia32"> + <property name="jai.web-archive" value="jai-${jai.version}-lib-linux-i586.tar.gz"/> + <mkdir dir="${jai.package.dir}"/> + <get src="http://download.java.net/media/jai/builds/release/${jai.version}/${jai.web-archive}" + dest="${jai.package.dir}/${jai.web-archive}"/> + <untar src="${jai.package.dir}/${jai.web-archive}" dest="${jai.package.dir}" compression="gzip"/> + + <mkdir dir="${jai.package.dir}/${target.name}/lib"/> + <copy todir="${jai.package.dir}/${target.name}/lib"> + <fileset dir="${jai.dir}/lib"> + <include name="*"/> + </fileset> + </copy> + <echo file="${jai.package.dir}/${target.name}/lib/constants.properties"><![CDATA[ +jai.version=${jai.version} +jai.description=Java Advanced Imaging Toolkit +]]></echo> + <echo> + Edit the components configuration file ${components.file} and set the following property: + ${target.name}.jai.lib.dir=${jai.package.dir}/${target.name}/lib + </echo> + </target> + + <target name="fetch" depends="get-jai-linux-ia32"/> + + <target name="build" depends="fetch"/> + +</project> Property changes on: rvmroot/trunk/build/components/jai.xml ___________________________________________________________________ Name: svn:mime-type + text/xml Name: svn:eol-style + native Deleted: rvmroot/trunk/build/components.xml =================================================================== --- rvmroot/trunk/build/components.xml 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/components.xml 2007-01-31 06:15:12 UTC (rev 11401) @@ -1,335 +0,0 @@ -<!-- -common build component for downloading and building required components. - jikesrvm.dir MUST be set to base directory before importing project. ---> -<project name="components"> - - <property name="classpath.version" value="93"/> - <property name="gcspy.version" value="1_01"/> - <property name="jai.version" value="1_1_2_01"/> - - <!-- **************************************************************************** --> - <!-- * * --> - <!-- * Downloading and installing Classpath component * --> - <!-- * * --> - <!-- **************************************************************************** --> - - <!-- init properties for downloading classpath from cvs or from web --> - <target name="init-classpath-properties"> - <check-host-and-target-match message="can not download and build Classpath."/> - <property name="classpath.component.dir" location="${components.dir}/classpath"/> - <property name="classpath.package.dir" value="${classpath.component.dir}/${classpath.version}"/> - <property name="classpath.dir" value="${classpath.package.dir}/classpath"/> - - <condition property="classpath.from-web" value="true"> - <and> - <not> - <isset property="classpath.from-cvs"/> - </not> - <not> - <isset property="classpath.from-web"/> - </not> - <or> - <not> - <available file="${classpath.package.dir}/classpath/README"/> - </not> - <isset property="classpath.force-download"/> - </or> - </and> - </condition> - </target> - - <!-- download classpath from cvs --> - <target name="get-classpath-from-cvs" depends="init-classpath-properties" if="classpath.from-cvs"> - <property name="classpath.tag" value="generics-0_${classpath.version}-release"/> - <test-file name="cvs.exe" location="${host.file}"/> - <mkdir dir="${classpath.package.dir}"/> - <delete dir="${classpath.package.dir}/classpath"/> - <exec executable="${cvs.exe}" failonerror="true" dir="${classpath.package.dir}"> - <arg value="-q"/> - <arg value="-z3"/> - <arg value="-d:pserver:ano...@cv...:/sources/classpath"/> - <arg value="co"/> - <arg value="-r"/> - <arg value="${classpath.tag}"/> - <arg value="classpath"/> - </exec> - <exec executable="${classpath.dir}/autogen.sh" failonerror="true" dir="${classpath.dir}"/> - </target> - - <!-- download classpath from web --> - <target name="get-classpath-from-web" depends="init-classpath-properties" if="classpath.from-web"> - <test-file name="tar.exe" location="${host.file}"/> - <property name="classpath.web-archive" value="classpath-0.${classpath.version}-generics.tar.gz"/> - <mkdir dir="${classpath.package.dir}"/> - <get src="ftp://ftp.gnu.org/gnu/classpath/${classpath.web-archive}" - dest="${classpath.package.dir}/${classpath.web-archive}"/> - <!-- use tar.exe so can maintain executable bits on appropriate files. Could use untar+chmod task for same but it was annoying --> - <exec executable="${tar.exe}" failonerror="true" dir="${classpath.package.dir}"> - <arg value="xzf"/> - <arg value="${classpath.web-archive}"/> - </exec> - <move file="${classpath.package.dir}/classpath-0.${classpath.version}-generics" - tofile="${classpath.package.dir}/classpath"/> - </target> - - <target name="get-classpath" depends="get-classpath-from-web,get-classpath-from-cvs"/> - - <!-- build classpath in classpath.dir --> - <target name="build-classpath" depends="get-classpath" description="Download Classpath and build."> - <test-file name="ecj.exe" location="${host.file}"/> - <test-file name="make.exe" location="${host.file}"/> - - <condition property="cp.enable.gtk-peer" value=" --enable-gtk-peer" else=" --disable-gtk-peer"> - <and> - <not> - <or> - <equals arg1="${target.os}" arg2="AIX"/> - <equals arg1="${target.name}" arg2="x86_64-linux"/> - <equals arg1="${target.name}" arg2="ppc64-linux"/> - </or> - </not> - <or> - <available file="/usr/include/gtk-2.0/gtk/gtk.h"/> - <available file="/opt/gnome/include/gtk-2.0/gtk/gtk.h"/> - </or> - </and> - </condition> - - <condition property="cp.disable.alsa" value=" --disable-alsa" else=""> - <equals arg1="${target.name}" arg2="x86_64-linux"/> - </condition> - - <exec executable="${classpath.dir}/configure" failonerror="true" dir="${classpath.dir}"> - <!-- need to pass thru compiler settings so if we are building on - 64 bit system the libraries are created appropriately --> - <env key="CXX" value="${c++.exe} ${c++.args}"/> - <env key="CC" value="${c.exe} ${c.args}"/> - <!--<env key="FIND" value=""/>--> - <!--<env key="ZIP" value=""/>--> - <!--<env key="AR" value=""/>--> - <!--<env key="AR_FLAGS" value=""/> --> - <arg value="--enable-jni"/> - <arg value="--with-ecj=${ecj.exe}"/> - <arg value="--disable-plugin"/> - <arg value="--disable-gconf-peer"/> - <arg line="${cp.enable.gtk-peer}${cp.disable.alsa}"/> - </exec> - <!-- skiping AIX munging of build files as that should be pushed upstream! --> - <exec executable="${make.exe}" failonerror="true" dir="${classpath.dir}"/> - - <mkdir dir="${classpath.package.dir}/${target.name}/lib"/> - <jar file="${classpath.package.dir}/${target.name}/lib/src.jar" basedir="${classpath.dir}"> - <include name="java/**/*.java"/> - <include name="javax/**/*.java"/> - <include name="gnu/**/*.java"/> - </jar> - <copy file="${classpath.dir}/lib/glibj.zip" tofile="${classpath.package.dir}/${target.name}/lib/classpath.jar"/> - - <condition property="library.suffix" value=".so"> - <equals arg1="${target.os}" arg2="Linux"/> - </condition> - <condition property="library.suffix" value=".so.0"> - <equals arg1="${target.os}" arg2="AIX"/> - </condition> - <condition property="library.suffix" value=".dylib"> - <equals arg1="${target.os}" arg2="OSX"/> - </condition> - - <copy todir="${classpath.package.dir}/${target.name}/lib" flatten="true"> - <regexpmapper from="^(.*${file.separator})lib([^${file.separator}]+)${library.suffix}$$" - to="${target.dll-prefix}\2${target.dll-ext}"/> - <fileset dir="${classpath.dir}"> - <include name="native/jni/**/.libs/*${library.suffix}"/> - <include name="native/jawt/.libs/*${library.suffix}"/> - </fileset> - </copy> - <echo file="${classpath.package.dir}/${target.name}/lib/constants.properties"><![CDATA[ -classpath.version=${classpath.version} -classpath.description=GNU Classpath (Generics Branch) -]]></echo> - - <echo> - Edit the components configuration file ${components.file} and set the following property: - ${target.name}.classpath.lib.dir=${classpath.package.dir}/${target.name}/lib - </echo> - </target> - - <!-- **************************************************************************** --> - <!-- * * --> - <!-- * Downloading and installing Java Advanced Imaging component (for GCSpy) * --> - <!-- * * --> - <!-- **************************************************************************** --> - - <target name="init-jai-properties"> - <check-host-and-target-match message="can not download Java Advanced Imaging component."/> - <property name="jai.component.dir" location="${components.dir}/jai"/> - <property name="jai.package.dir" value="${jai.component.dir}/${jai.version}"/> - <property name="jai.dir" value="${jai.component.dir}/${jai.version}/jai-${jai.version}"/> - <condition property="jai.from-web" value="true"> - <or> - <not> - <available file="${jai.dir}/lib/jai_core.jar"/> - </not> - <isset property="jai.force-download"/> - </or> - </condition> - <condition property="jai.from-web-for-linux-ia32" value="true"> - <and> - <equals arg1="${jai.from-web}" arg2="true"/> - <equals arg1="${target.os}" arg2="Linux"/> - <equals arg1="${target.arch}" arg2="ia32"/> - </and> - </condition> - <condition property="invalid_jai_download" value="true"> - <and> - <equals arg1="${jai.from-web}" arg2="true"/> - <not> - <equals arg1="${jai.from-web-for-linux-ia32}" arg2="true"/> - </not> - </and> - </condition> - <fail if="invalid_jai_download"> - Unable to determine a location to automatically download JAI ${jai.version} from for the target - os and architecture. Please download JAI ${jai.version} manually, copy the jar and shared libraries - into a single directory and set the ${target.name}.jai.lib.dir property to the directory location. i.e. - ${target.name}.jai.lib.dir=${jai.package.dir}/lib - </fail> - </target> - - <target name="get-jai-linux-ia32" depends="init-jai-properties" if="jai.from-web-for-linux-ia32"> - <property name="jai.web-archive" value="jai-${jai.version}-lib-linux-i586.tar.gz"/> - <mkdir dir="${jai.package.dir}"/> - <get src="http://download.java.net/media/jai/builds/release/${jai.version}/${jai.web-archive}" - dest="${jai.package.dir}/${jai.web-archive}"/> - <untar src="${jai.package.dir}/${jai.web-archive}" dest="${jai.package.dir}" compression="gzip"/> - - <mkdir dir="${jai.package.dir}/${target.name}/lib"/> - <copy todir="${jai.package.dir}/${target.name}/lib"> - <fileset dir="${jai.dir}/lib"> - <include name="*"/> - </fileset> - </copy> - <echo file="${jai.package.dir}/${target.name}/lib/constants.properties"><![CDATA[ -jai.version=${jai.version} -jai.description=Java Advanced Imaging Toolkit -]]></echo> - <echo> - Edit the components configuration file ${components.file} and set the following property: - ${target.name}.jai.lib.dir=${jai.package.dir}/${target.name}/lib - </echo> - </target> - - <target name="get-jai" depends="get-jai-linux-ia32"/> - - <!-- **************************************************************************** --> - <!-- * * --> - <!-- * Downloading and installing GCSpy component * --> - <!-- * * --> - <!-- **************************************************************************** --> - - <target name="init-gcspy-properties"> - <check-host-and-target-match message="can not download and build GCSpy."/> - - <property name="gcspy.component.dir" location="${components.dir}/gcspy"/> - <property name="gcspy.package.dir" value="${gcspy.component.dir}/${gcspy.version}"/> - <property name="gcspy.dir" value="${gcspy.package.dir}/gcspy"/> - <condition property="gcspy.from-web" value="true"> - <or> - <not> - <available file="${gcspy.package.dir}/gcspy/src/HISTORY"/> - </not> - <isset property="gcspy.force-download"/> - </or> - </condition> - <condition property="include.gcspy-client" value="1"> - <not> - <isset property="gcspy.skip-client"/> - </not> - </condition> - <test-file name="make.exe" location="${host.file}"/> - </target> - - <!-- download gcspy from from web --> - <target name="get-gcspy" depends="init-gcspy-properties" if="gcspy.from-web"> - <property name="gcspy.web-archive" value="gcspy${gcspy.version}.tar.gz"/> - <mkdir dir="${gcspy.package.dir}"/> - <get src="http://www.cs.kent.ac.uk/projects/gc/gcspy/${gcspy.web-archive}" - dest="${gcspy.package.dir}/${gcspy.web-archive}"/> - <untar src="${gcspy.package.dir}/${gcspy.web-archive}" compression="gzip" dest="${gcspy.package.dir}"/> - </target> - - <target name="build-gcspy-client" depends="get-gcspy" if="include.gcspy-client"> - <propertycopy name="gcspy.jai.lib.dir" from="${target.name}.jai.lib.dir"/> - <property name="jai.error" - value="The user can invoke get-jai target to download jai version ${jai.version} from the web. Alternatively the user can specify -Dgcspy.skip-client=1 when invoking the build-gcspy target to avoid building the gcspy client."/> - <test-file name="gcspy.jai.lib.dir" msg="${jai.error}" location="${components.file}"/> - - <replace file="${gcspy.dir}/src/src/java/GNUmakefile" - token="$$(JAI_ROOT)/lib/jai_core.jar" - value="${gcspy.jai.lib.dir}/jai_core.jar"/> - - <exec executable="${make.exe}" failonerror="true" dir="${gcspy.dir}/src/src/java"> - <arg value="clean"/> - <arg value="all"/> - <arg value="install"/> - </exec> - - <mkdir dir="${gcspy.package.dir}/${target.name}/client"/> - <jar destfile="${gcspy.package.dir}/${target.name}/client/gcspy-${gcspy.version}.jar" - basedir="${gcspy.dir}/src/classes"> - <include name="gcspy/**/*.class"/> - <include name="icons/**"/> - </jar> - <copy todir="${gcspy.package.dir}/${target.name}/client"> - <fileset dir="${gcspy.dir}/src/classes"> - <include name="plugins/**"/> - </fileset> - </copy> - <copy todir="${gcspy.package.dir}/${target.name}/client"> - <fileset dir="${gcspy.jai.lib.dir}"> - <include name="*"/> - </fileset> - </copy> - - <echo file="${gcspy.package.dir}/${target.name}/client/gcspy">#!/bin/bash - export GCSPY_DIR="`dirname "$$0"`" - export LD_LIBRARY_PATH=$$GCSPY_DIR:$$LD_LIBRARY_PATH - java -classpath $$GCSPY_DIR/gcspy-${gcspy.version}.jar:$$GCSPY_DIR/jai_core.jar gcspy.Main $* - </echo> - <chmod file="${gcspy.package.dir}/${target.name}/client/gcspy" perm="ugo+rx"/> - </target> - - <target name="build-gcspy" depends="build-gcspy-client" description="Download GCSpy and build."> - <exec executable="${make.exe}" failonerror="true" dir="${gcspy.dir}/src/src/c"> - <arg value="clean"/> - <arg value="all"/> - <arg value="install"/> - </exec> - - <mkdir dir="${gcspy.package.dir}/${target.name}/server"/> - <copy todir="${gcspy.package.dir}/${target.name}/server"> - <fileset dir="${gcspy.dir}/src/src/c/lib"> - <include name="*${target.dll-ext}"/> - </fileset> - <fileset dir="${gcspy.dir}/src/src/c"> - <include name="include/*"/> - </fileset> - </copy> - <echo file="${gcspy.package.dir}/${target.name}/server/constants.properties"><![CDATA[ -gcspy.version=${gcspy.version} -gcspy.description=GCSpy Heap Visualisation Framework -]]></echo> - <condition property="gcspy.client.help" - value=" ${target.name}.gcspy.client.dir=${gcspy.package.dir}/${target.name}/client${line.separator}" - else=""> - <isset property="include.gcspy-client"/> - </condition> - - <echo> - Edit the components configuration file ${components.file} and set the following properties: - ${gcspy.client.help} ${target.name}.gcspy.server.dir=${gcspy.package.dir}/${target.name}/server - </echo> - </target> - -</project> Modified: rvmroot/trunk/build/hosts/ia32-linux.properties =================================================================== --- rvmroot/trunk/build/hosts/ia32-linux.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/ia32-linux.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -13,7 +13,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build/hosts/ia32-osx.properties =================================================================== --- rvmroot/trunk/build/hosts/ia32-osx.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/ia32-osx.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -13,7 +13,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build/hosts/ppc32-aix.properties =================================================================== --- rvmroot/trunk/build/hosts/ppc32-aix.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/ppc32-aix.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -13,7 +13,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build/hosts/ppc32-linux.properties =================================================================== --- rvmroot/trunk/build/hosts/ppc32-linux.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/ppc32-linux.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -16,7 +16,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build/hosts/ppc32-osx.properties =================================================================== --- rvmroot/trunk/build/hosts/ppc32-osx.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/ppc32-osx.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -13,7 +13,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build/hosts/ppc64-aix.properties =================================================================== --- rvmroot/trunk/build/hosts/ppc64-aix.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/ppc64-aix.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -13,7 +13,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build/hosts/ppc64-linux.properties =================================================================== --- rvmroot/trunk/build/hosts/ppc64-linux.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/ppc64-linux.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -16,7 +16,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build/hosts/x86_64-linux.properties =================================================================== --- rvmroot/trunk/build/hosts/x86_64-linux.properties 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build/hosts/x86_64-linux.properties 2007-01-31 06:15:12 UTC (rev 11401) @@ -13,7 +13,7 @@ # optional unless downloading and installing classpath cvs.exe=/usr/bin/cvs -ecj.exe=${basedir}/tools-external/ecj/ecj-3.2 +ecj.exe=${jikesrvm.dir}/tools-external/ecj/ecj-3.2 autoconf.exe=/usr/bin/autoconf # required for running tests Modified: rvmroot/trunk/build.xml =================================================================== --- rvmroot/trunk/build.xml 2007-01-31 05:50:13 UTC (rev 11400) +++ rvmroot/trunk/build.xml 2007-01-31 06:15:12 UTC (rev 11401) @@ -5,7 +5,6 @@ <property name="jikesrvm.dir" location="${basedir}"/> <import file="build/base.xml"/> <import file="build/properties.xml"/> - <import file="build/components.xml"/> <!-- location of resources --> <property name="primordials.dir" location="build/primordials"/> @@ -47,6 +46,24 @@ <!-- **************************************************************************** --> <!-- * * --> + <!-- * Targets for retrieving external components * --> + <!-- * * --> + <!-- **************************************************************************** --> + + <target name="build-classpath" description="Download and build Classpath."> + <ant antfile="${jikesrvm.dir}/build/components/classpath.xml" inheritall="false" inheritrefs="false"/> + </target> + + <target name="build-gcspy" description="Download and build GCSpy."> + <ant antfile="${jikesrvm.dir}/build/components/gcspy.xml" inheritall="false" inheritrefs="false"/> + </target> + + <target name="build-jai" description="Download and build JAI."> + <ant antfile="${jikesrvm.dir}/build/components/jai.xml" inheritall="false" inheritrefs="false"/> + </target> + + <!-- **************************************************************************** --> + <!-- * * --> <!-- * Setup filter properties * --> <!-- * * --> <!-- **************************************************************************** --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |