blob: 6220f1a3f62ea5115b56552c0a461db764ee92b7 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2009, 2010 IBM Corporation and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
IBM Corporation - initial API and implementation
-->
<!--
TAG: a tag param can be passed in to work on branch. If no tag is set HEAD is used.
For example: ant -f build.xml build_all -DTAG=-rR3_5_maintenance
natives_changed: when starting a integration build the increment of the version
can be forced by setting this project. If property is not defined the increment
is determine automatically based on changes in the native code since the last
revision in the swp.map.
for Example: ant -f build.xml increment_version -Dnatives_changed=true
This script can be used from within Eclipse to build the natives for the current
platform. Call the task named build_[platform]. For example:
ant -f build.xml build_gtk_linux_ppc
Notes:
To void clean after build define a property named "clean" to empty ("").
To run only clean define a property named "targets" to empty ("").
-->
<project name="swtbuild" basedir="../..">
<property name="tasks" value="org.eclipse.swt/tasks"/>
<import file="${basedir}/${tasks}/properties.xml"/>
<!-- CVS values -->
<property name="cvsRoot" value=":ext:fheidric@dev.eclipse.org:/cvsroot/eclipse"/>
<property name="TAG" value=""/>
<property name="builddir" value="org.eclipse.swt/bin/library"/>
<property name="logdir" value="S:/swt-builddir/logs"/>
<property name="tmphome" value="S:/swt-builddir/tmp"/>
<property name="ant_home" value="~/build/apache-ant-1.7.1"/>
<property name="cp_common" value="'org.eclipse.swt/Eclipse SWT/common/library' 'org.eclipse.swt/Eclipse SWT Mozilla/common/library' 'org.eclipse.swt/Eclipse SWT PI/common/library'"/>
<property name="cp_win32" value="${cp_common} 'org.eclipse.swt/Eclipse SWT PI/win32/library' 'org.eclipse.swt/Eclipse SWT AWT/win32/library' 'org.eclipse.swt/Eclipse SWT OpenGL/win32/library'"/>
<property name="cp_wpf" value="${cp_common} 'org.eclipse.swt/Eclipse SWT PI/wpf/library' 'org.eclipse.swt/Eclipse SWT PI/wpf_win32/library'"/>
<property name="cp_gtk" value="${cp_common} 'org.eclipse.swt/Eclipse SWT PI/gtk/library' 'org.eclipse.swt/Eclipse SWT AWT/gtk/library' 'org.eclipse.swt/Eclipse SWT OpenGL/glx/library' 'org.eclipse.swt/Eclipse SWT PI/cairo/library' 'org.eclipse.swt/Eclipse SWT Program/gnome/library' 'org.eclipse.swt/Eclipse SWT Program/cde/library'"/>
<property name="cp_motif" value="${cp_common} 'org.eclipse.swt/Eclipse SWT PI/motif/library' 'org.eclipse.swt/Eclipse SWT PI/motif_gtk/library' 'org.eclipse.swt/Eclipse SWT AWT/motif/library' 'org.eclipse.swt/Eclipse SWT OpenGL/glx/library' 'org.eclipse.swt/Eclipse SWT PI/cairo/library' 'org.eclipse.swt/Eclipse SWT Program/gnome/library' 'org.eclipse.swt/Eclipse SWT Program/cde/library'"/>
<property name="cp_carbon" value="${cp_common} 'org.eclipse.swt/Eclipse SWT PI/carbon/library' 'org.eclipse.swt/Eclipse SWT OpenGL/carbon/library'"/>
<property name="cp_cocoa" value="${cp_common} 'org.eclipse.swt/Eclipse SWT PI/cocoa/library' 'org.eclipse.swt/Eclipse SWT AWT/cocoa/library'"/>
<property name="cp_photon" value="${cp_common} 'org.eclipse.swt/Eclipse SWT PI/photon/library'"/>
<!-- Low level build tasks -->
<target name="init_build" if="eclipse.running">
<eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite"/>
<eclipse.incrementalBuild project="org.eclipse.swt" kind="incr"/>
</target>
<target name="refresh_fragment" if="eclipse.running">
<echo>refreshing ${fragment}</echo>
<eclipse.refreshLocal resource="${fragment}" depth="infinite"/>
</target>
<target name="build_win32_x86" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="x86 all install"/>
<exec dir="${basedir}/${builddir}" executable="${basedir}/${builddir}/build.bat" failonerror="true">
<env key="JAVA_HOME" value=""/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<exec dir="${basedir}/${builddir}" executable="${basedir}/${builddir}/build.bat" failonerror="true">
<env key="JAVA_HOME" value=""/>
<env key="BUILD_XULRUNNER" value="true"/>
<arg line="x86 make_xulrunner install"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.win32.win32.x86"/>
</antcall>
</target>
<target name="build_win32_x86_64" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="x86_64 all install"/>
<exec dir="${basedir}/${builddir}" executable="${basedir}/${builddir}/build.bat" failonerror="true">
<env key="JAVA_HOME" value=""/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.win32.win32.x86_64"/>
</antcall>
</target>
<target name="build_win32_ia64" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="ia64 all install"/>
<exec dir="${basedir}/${builddir}" executable="${basedir}/${builddir}/build.bat" failonerror="true">
<env key="JAVA_HOME" value=""/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.win32.win32.ia64"/>
</antcall>
</target>
<target name="build_wince" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="install"/>
<exec dir="${basedir}/${builddir}" executable="${basedir}/${builddir}/build-ce.bat" failonerror="true">
<env key="JAVA_HOME" value=""/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.win32.wce_ppc.arm"/>
</antcall>
</target>
<target name="build_wpf_x86" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="install"/>
<exec dir="${basedir}/${builddir}" executable="${basedir}/${builddir}/build.bat" failonerror="true">
<env key="JAVA_HOME" value=""/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.wpf.win32.x86"/>
</antcall>
</target>
<target name="build_gtk_linux_x86" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla make_xulrunner make_xpcominit install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/JDKs/x86/ibm-java2-i386-50"/>
<env key="MOZILLA_SDK" value="/bluebird/teamswt/swt-builddir/mozilla/1.4/linux_gtk2/mozilla/dist/sdk"/>
<env key="XULRUNNER_SDK" value="/bluebird/teamswt/swt-builddir/geckoSDK/1.8.0.4/gecko-sdk"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/mozilla-config.h -I${MOZILLA_SDK}/../include/xpcom -I${MOZILLA_SDK}/../include/nspr -I${MOZILLA_SDK}/../include/embed_base -I${MOZILLA_SDK}/../include/embedstring -I${MOZILLA_SDK}/../include/string"/>
<env key="MOZILLA_LIBS" value="${MOZILLA_SDK}/../lib/libembedstring.a -L${MOZILLA_SDK}/../bin -L${MOZILLA_SDK}/../lib/ -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<env key="PKG_CONFIG_PATH" value="/bluebird/teamswt/swt-builddir/cairo_1.0.2/linux_x86/lib/pkgconfig"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.linux.x86"/>
</antcall>
</target>
<target name="build_gtk_linux_x86_64" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla make_xulrunner make_xpcominit install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/JDKs/x86_64/jdk1.5.0"/>
<env key="PKG_CONFIG_PATH" value="/usr/lib64/pkgconfig"/>
<env key="MOZILLA_SDK" value="/bluebird/teamswt/swt-builddir/mozilla/1.7/amd64/mozilla/dist/sdk"/>
<env key="XULRUNNER_SDK" value="/bluebird/teamswt/swt-builddir/xulrunner/1.8.0.1/amd64/mozilla/dist/sdk/"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/include/mozilla-config.h -I${MOZILLA_SDK}/include"/>
<env key="MOZILLA_LIBS" value="-L${MOZILLA_SDK}/lib -L${MOZILLA_SDK}/bin -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<env key="PKG_CONFIG_PATH" value="/bluebird/teamswt/swt-builddir/cairo_1.0.2/linux_x86_64/lib/pkgconfig"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.linux.x86_64"/>
</antcall>
</target>
<target name="build_gtk_linux_ppc" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla make_xulrunner make_xpcominit install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/JDKs/PPC/ibm-java2-ppc-50"/>
<env key="MOZILLA_SDK" value=" /bluebird/teamswt/swt-builddir/mozilla/1.7/ppc/mozilla/dist/sdk"/>
<env key="XULRUNNER_SDK" value="/bluebird/teamswt/swt-builddir/xulrunner/1.8.1.1/ppc/mozilla/dist/sdk/"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/include/mozilla-config.h -I${MOZILLA_SDK}/include"/>
<env key="MOZILLA_LIBS" value="-L${MOZILLA_SDK}/lib -L${MOZILLA_SDK}/bin -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<env key="PKG_CONFIG_PATH" value="/bluebird/teamswt/swt-builddir/cairo_1.0.2/linux_ppc/lib/pkgconfig/"/>
<env key="MODEL" value="ppc"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.linux.ppc"/>
</antcall>
</target>
<target name="build_gtk_linux_ppc64" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_xulrunner make_xpcominit make_mozilla install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/JDKs/PPC64/ibm-java2-ppc64-50"/>
<env key="MOZILLA_SDK" value=" /bluebird/teamswt/swt-builddir/mozilla/1.7/ppc64/mozilla/dist/sdk"/>
<env key="MOZILLA_LIBS" value="-m64 -L${MOZILLA_SDK}/lib -L${MOZILLA_SDK}/bin -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/include/mozilla-config.h -I${MOZILLA_SDK}/include"/>
<env key="XULRUNNER_SDK" value="/bluebird/teamswt/swt-builddir/xulrunner/1.8.1.1/ppc64/mozilla/dist/sdk/"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-m64 -L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<env key="PKG_CONFIG_PATH" value="/usr/lib64/pkgconfig/:/bluebird/teamswt/swt-builddir/cairo_1.0.2/linux_ppc64/lib/pkgconfig/:/usr/local/GNOME/lib/pkgconfig"/>
<env key="MODEL" value="ppc64"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.linux.ppc64"/>
</antcall>
</target>
<target name="build_gtk_solaris_x86" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="CC" value="cc"/>
<env key="CXX" value="CC"/>
<env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/JDKs/x86/ibm-java2-i386-50"/>
<env key="MOZILLA_SDK" value="/bluebird/teamswt/bog/mozilla/solaris_x86/1.7/mozilla/dist/sdk"/>
<env key="XULRUNNER_SDK" value="/bluebird/teamswt/swt-builddir/xulrunner/1.8.0.1/solaris-x86/mozilla/dist/sdk"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/include/mozilla-config.h -I${MOZILLA_SDK}/include"/>
<env key="MOZILLA_LIBS" value="-L${MOZILLA_SDK}/lib -L${MOZILLA_SDK}/bin -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.solaris.x86"/>
</antcall>
</target>
<target name="build_gtk_solaris_sparc" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="CC" value="cc"/>
<env key="CXX" value="CC"/>
<env key="CDE_HOME" value="/usr/dt"/>
<env key="JAVA_HOME" value="/usr/j2se"/>
<env key="PKG_CONFIG_PATH" value="/usr/local/cairo-1.4.10/lib/pkgconfig/"/>
<env key="MOZILLA_SDK" value="/bluebird/teamswt/swt-builddir/geckoSDK/1.4/gecko-sdk"/>
<env key="MOZILLA_INCLUDES" value="-I${MOZILLA_SDK} -I${MOZILLA_SDK}/xpcom/include -I${MOZILLA_SDK}/nspr/include -I${MOZILLA_SDK}/embed_base/include -I${MOZILLA_SDK}/embedstring/include -I${MOZILLA_SDK}/string/include"/>
<env key="MOZILLA_LIBS" value="${MOZILLA_SDK}/embedstring/bin/libembedstring.a -L${MOZILLA_SDK}/xpcom/bin -L${MOZILLA_SDK}/nspr/bin -lxpcom -lnspr4 -lplds4 -lplc4"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.solaris.sparc"/>
</antcall>
</target>
<target name="build_gtk_linux_s390" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla make_xulrunner make_xpcominit install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/home/swtbuild/java5/ibm-java2-s390-50"/>
<env key="MODEL" value="s390"/>
<env key="MOZILLA_SDK" value="/home/swtbuild/mozilla-1.7.13/mozilla/dist/sdk"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/include/mozilla-config.h -I${MOZILLA_SDK}/../include/xpcom -I${MOZILLA_SDK}/../include/nspr -I${MOZILLA_SDK}/../include/embed_base -I${MOZILLA_SDK}/../include/embedstring -I${MOZILLA_SDK}/../include/string"/>
<env key="MOZILLA_LIBS" value="-L${MOZILLA_SDK}/lib -L${MOZILLA_SDK}/bin -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="XULRUNNER_SDK" value="/home/swtbuild/xulrunner-1.8.0.1/mozilla/dist/sdk"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<env key="PKG_CONFIG_PATH" value="/usr/local/lib/pkgconfig"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.linux.s390"/>
</antcall>
</target>
<target name="build_gtk_linux_s390x" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla make_xulrunner make_xpcominit install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/home/swtbuild/java5/ibm-java2-s390x-50"/>
<env key="MODEL" value="s390x"/>
<env key="MOZILLA_SDK" value="/home/swtbuild/mozilla1.7.13/mozilla/dist/sdk"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/include/mozilla-config.h -I${MOZILLA_SDK}/../include/xpcom -I${MOZILLA_SDK}/../include/nspr -I${MOZILLA_SDK}/../include/embed_base -I${MOZILLA_SDK}/../include/embedstring -I${MOZILLA_SDK}/../include/string"/>
<env key="MOZILLA_LIBS" value="-L${MOZILLA_SDK}/lib -L${MOZILLA_SDK}/bin -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="XULRUNNER_SDK" value="/home/swtbuild/xulrunner-1.8.0.1/mozilla/dist/sdk"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<env key="PKG_CONFIG_PATH" value="/usr/local/cairo64/lib/pkgconfig"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.gtk.linux.s390x"/>
</antcall>
</target>
<target name="build_motif_linux" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla make_xulrunner make_xpcominit make_cairo install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/JDKs/x86/ibm-java2-i386-50"/>
<env key="MOTIF_HOME" value="/bluebird/teamswt/swt-builddir/motif21"/>
<env key="MOZILLA_SDK" value="/bluebird/teamswt/swt-builddir/mozilla/1.4/linux_gtk2/mozilla/dist/sdk"/>
<env key="XULRUNNER_SDK" value="/bluebird/teamswt/swt-builddir/geckoSDK/1.8.0.4/gecko-sdk"/>
<env key="MOZILLA_INCLUDES" value="-include ${MOZILLA_SDK}/mozilla-config.h -I${MOZILLA_SDK}/../include/xpcom -I${MOZILLA_SDK}/../include/nspr -I${MOZILLA_SDK}/../include/embed_base -I${MOZILLA_SDK}/../include/embedstring -I${MOZILLA_SDK}/../include/string"/>
<env key="MOZILLA_LIBS" value="${MOZILLA_SDK}/../lib/libembedstring.a -L${MOZILLA_SDK}/../bin -L${MOZILLA_SDK}/../lib/ -lxpcom -lnspr4 -lplds4 -lplc4"/>
<env key="XULRUNNER_INCLUDES" value="-include ${XULRUNNER_SDK}/include/mozilla-config.h -I${XULRUNNER_SDK}/include"/>
<env key="XULRUNNER_LIBS" value="-L${XULRUNNER_SDK}/lib -lxpcomglue"/>
<env key="PKG_CONFIG_PATH" value="/bluebird/teamswt/swt-builddir/cairo_1.0.2/linux_x86/lib/pkgconfig"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.motif.linux.x86"/>
</antcall>
</target>
<target name="build_motif_aix" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/aixj9_r5"/>
<env key="AWT_HOME" value="/bluebird/teamswt/swt-builddir/aixj9_r5/jre/bin"/>
<env key="MOTIF_HOME" value="/bluebird/teamswt/swt-builddir/motif21"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.motif.aix.ppc"/>
</antcall>
</target>
<target name="build_motif_solaris" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_cairo install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="PKG_CONFIG_PATH" value="/usr/local/cairo-1.4.10/lib/pkgconfig/"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.motif.solaris.sparc"/>
</antcall>
</target>
<target name="build_motif_hpux" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg value="build.sh"/>
<env key="JAVA_HOME" value="/opt/java1.5/"/>
<env key="AWT_HOME" value="/opt/java1.5/jre/lib/IA64N/"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.motif.hpux.ia64_32"/>
</antcall>
</target>
<target name="build_cocoa_x86_and_ppc" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg line="build32.sh"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
<env key="XULRUNNER_SDK" value="/Users/Shared/xulrunner/1.8.0.1/mozilla/dist/i386/dist/sdk"/>
<env key="XULRUNNER_LIBS" value="$(XULRUNNER_SDK)/lib/libxpcomglue.a $(XULRUNNER_SDK)/../../../ppc/dist/sdk/lib/libxpcomglue.a"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.cocoa.macosx"/>
</antcall>
</target>
<target name="build_cocoa_x86_64" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="install_x86_64"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg line="build64.sh"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
<env key="XULRUNNER_SDK" value="/Users/Shared/xulrunner/64-bit/mozilla/dist"/>
<env key="XULRUNNER_LIBS" value="$(XULRUNNER_SDK)/lib/libxpcomglue.a"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.cocoa.macosx.x86_64"/>
</antcall>
</target>
<target name="build_carbon" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="install"/>
<exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
<arg line="build.sh"/>
<arg line="${targets}"/>
<arg line="${clean}"/>
</exec>
<antcall target="refresh_fragment">
<param name="fragment" value="org.eclipse.swt.carbon.macosx"/>
</antcall>
</target>
<target name="build_photon" depends="init_build">
<echo>Photon is not being built</echo>
</target>
<target name="check_libraries" depends="get_version">
<antcall target="check_fragment_libraries">
<param name="library_count" value="5"/>
<param name="fragment" value="org.eclipse.swt.win32.win32.x86"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="4"/>
<param name="fragment" value="org.eclipse.swt.win32.win32.x86_64"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="4"/>
<param name="fragment" value="org.eclipse.swt.win32.win32.ia64"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="1"/>
<param name="fragment" value="org.eclipse.swt.win32.wce_ppc.arm"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="2"/>
<param name="fragment" value="org.eclipse.swt.wpf.win32.x86"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="1"/>
<param name="fragment" value="org.eclipse.swt.photon.qnx.x86"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="5"/>
<param name="fragment" value="org.eclipse.swt.carbon.macosx"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="4"/>
<param name="fragment" value="org.eclipse.swt.cocoa.macosx"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="4"/>
<param name="fragment" value="org.eclipse.swt.cocoa.macosx.x86_64"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="10"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.ppc"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="10"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.ppc64"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="11"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.x86"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="11"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.x86_64"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="9"/>
<param name="fragment" value="org.eclipse.swt.gtk.solaris.sparc"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="8"/>
<param name="fragment" value="org.eclipse.swt.gtk.solaris.x86"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="10"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.s390"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="10"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.s390x"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="9"/>
<param name="fragment" value="org.eclipse.swt.motif.linux.x86"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="4"/>
<param name="fragment" value="org.eclipse.swt.motif.aix.ppc"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="3"/>
<param name="fragment" value="org.eclipse.swt.motif.hpux.ia64_32"/>
</antcall>
<antcall target="check_fragment_libraries">
<param name="library_count" value="5"/>
<param name="fragment" value="org.eclipse.swt.motif.solaris.sparc"/>
</antcall>
</target>
<target name="check_fragment_libraries" depends="get_version">
<property name="checkdir" value="~/build/check_libraries"/>
<property name="library_count" value="130"/>
<property name="fragment" value="org.eclipse.swt.win32.win32.x86 org.eclipse.swt.win32.win32.x86_64 org.eclipse.swt.win32.win32.ia64 org.eclipse.swt.win32.wce_ppc.arm org.eclipse.swt.wpf.win32.x86 org.eclipse.swt.photon.qnx.x86 org.eclipse.swt.carbon.macosx org.eclipse.swt.cocoa.macosx org.eclipse.swt.cocoa.macosx.x86_64 org.eclipse.swt.gtk.linux.ppc org.eclipse.swt.gtk.linux.ppc64 org.eclipse.swt.gtk.linux.x86 org.eclipse.swt.gtk.linux.x86_64 org.eclipse.swt.gtk.linux.s390 org.eclipse.swt.gtk.linux.s390x org.eclipse.swt.gtk.solaris.sparc org.eclipse.swt.gtk.solaris.x86 org.eclipse.swt.motif.linux.x86 org.eclipse.swt.motif.aix.ppc org.eclipse.swt.motif.hpux.ia64_32 org.eclipse.swt.motif.solaris.sparc"/>
<sshexec host="${m_linux_x86}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="rm -rf ${checkdir}; mkdir ${checkdir}; cd ${checkdir}; export CVS_RSH=ssh; cvs -q -d ${cvsRoot} checkout ${fragment} | grep '[0-9][0-9][0-9][0-9].'; a=`find -name *${swt_version}* | grep -c ${swt_version}`; b=`find . -regex .*[0-9][0-9][0-9][0-9].* | grep -v -c ${swt_version}`; echo Found \&quot;$a\&quot; libraries with version \&quot;${swt_version}\&quot; and \&quot;$b\&quot; libraries with old versions; if [[ &quot;$a&quot; = &quot;${library_count}&quot; &amp;&amp; &quot;$b&quot; = '0' ]]; then cd; rm -rf ${checkdir}; echo Success; else cd; rm -rf ${checkdir}; echo Failed. Expecting ${library_count} and 0; exit 1; fi"/>
</target>
<target name="check_machines">
<parallel>
<sshexec host="${m_linux_x86}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_linux_x86_64}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<!-- These machines are only used for 3.5.x builds. -->
<!--sshexec host="${m_linux_rh3_x86}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_linux_rh3_x86_64}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/-->
<sshexec host="${m_linux_ppc}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_linux_ppc64}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_solaris_sparc}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_solaris_x86}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_aix}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_hpux}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
<sshexec host="${m_mac}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname"/>
</parallel>
</target>
<target name="check_s390_machines">
<sshexec host="${m_linux_x86}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname; ping -c 1 ${m_linux_s390};"/>
<sshexec host="${m_linux_x86}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="hostname; ping -c 1 ${m_linux_s390x};"/>
</target>
<target name="check_compilation">
<property name="cvsRsh" value="plink"/>
<property name="tmpdir" value="${tmphome}/workspace64"/>
<property name="project" value="org.eclipse.swt"/>
<property name="projectDir" value="${tmpdir}/org.eclipse.swt"/>
<property name="buildDir" value="${tmpdir}/build"/>
<!-- check out swt project -->
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" quiet="true" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument value="${project}"/>
</commandline>
</cvs>
<!-- 64 bit -->
<antcall target="build_classes">
<param name="cp" value=".classpath_win32"/>
<param name="is64" value="64 bit"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_gtk"/>
<param name="is64" value="64 bit"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_cocoa"/>
<param name="is64" value="64 bit"/>
</antcall>
<!-- 32 bit -->
<antcall target="build_classes">
<param name="cp" value=".classpath_win32"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_gtk"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_cocoa"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_carbon"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_motif"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_photon"/>
</antcall>
<antcall target="build_classes">
<param name="cp" value=".classpath_wpf"/>
</antcall>
</target>
<target name="replace64" if="is64">
<antcall target="replace.32.to.64">
<param name="replace_dir" value="${buildDir}"/>
</antcall>
</target>
<target name="build_classes">
<echo>Building ${cp} ${is64}</echo>
<delete file="${tmpdir}/copy.xml"/>
<delete dir="${buildDir}"/>
<xslt style="${projectDir}/tasks/classpath.xls" in="${projectDir}/${cp}" out="${tmpdir}/copy.xml">
<param name="srcDir" expression="${projectDir}"/>
<param name="outputDir" expression="${buildDir}"/>
</xslt>
<ant antfile="${tmpdir}/copy.xml" target="copy_files"/>
<antcall target="replace64"></antcall>
<javac srcdir="${buildDir}"></javac>
</target>
<!-- common build tasks -->
<target name="increment_version">
<property name="tmpdir" value="${tmphome}/inc"/>
<delete dir="${tmpdir}" quiet="true"/>
<mkdir dir="${tmpdir}"/>
<antcall target="increment_version_imp"/>
<delete dir="${tmpdir}" quiet="true"/>
</target>
<target name="increment_version_imp" depends="check_natives_changed, get_version" if="natives_changed">
<property name="cvsRsh" value="plink"/>
<property name="library_j2se" value="org.eclipse.swt/Eclipse SWT PI/common_j2se/org/eclipse/swt/internal/Library.java"/>
<property name="library_j2me" value="org.eclipse.swt/Eclipse SWT PI/common_j2me/org/eclipse/swt/internal/Library.java"/>
<property name="make_common" value="org.eclipse.swt/Eclipse SWT/common/library/make_common.mak"/>
<property name="version_file" value="org.eclipse.swt/Eclipse SWT/common/version.txt"/>
<!-- Download the files -->
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument value="${library_j2se}"/>
<argument value="${library_j2me}"/>
<!--argument value="${make_common}"/--> <!-- downloaded by get_version, cvs doesn't allow double download in different sets -->
<argument value="${version_file}"/>
</commandline>
</cvs>
<!-- Update the files -->
<replace file="${tmpdir}/${library_j2se}" token="MINOR_VERSION = ${min_ver}" value="MINOR_VERSION = ${new_min_ver}"/>
<replace file="${tmpdir}/${library_j2me}" token="MINOR_VERSION = ${min_ver}" value="MINOR_VERSION = ${new_min_ver}"/>
<replace file="${tmpdir}/${version_file}" token="version ${maj_ver}.${min_ver}" value="version ${maj_ver}.${new_min_ver}"/>
<replace file="${tmpdir}/${make_common}" token="min_ver=${min_ver}" value="min_ver=${new_min_ver}"/>
<replace file="${tmpdir}/${make_common}" token="comma_ver=${comma_ver}" value="comma_ver=${new_comma_ver}"/>
<!-- Commit the files -->
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="commit"/>
<argument value="-m"/>
<argument line="'Update current version from v${swt_version} to v${new_version}'"/>
<argument value="${library_j2se}"/>
<argument value="${library_j2me}"/>
<argument value="${make_common}"/>
<argument value="${version_file}"/>
</commandline>
</cvs>
<!-- See bug 201700 -->
<!--antcall target="update_manifest"/-->
</target>
<target name="update_manifest" depends="get_version">
<property name="manifests" value="org.eclipse.swt.carbon.macosx/META-INF/MANIFEST.MF org.eclipse.swt.cocoa.macosx/META-INF/MANIFEST.MF org.eclipse.swt.cocoa.macosx.x86_64/META-INF/MANIFEST.MF org.eclipse.swt.gtk.linux.ppc/META-INF/MANIFEST.MF org.eclipse.swt.gtk.linux.x86/META-INF/MANIFEST.MF org.eclipse.swt.gtk.linux.x86_64/META-INF/MANIFEST.MF org.eclipse.swt.gtk.solaris.sparc/META-INF/MANIFEST.MF org.eclipse.swt.gtk.solaris.x86/META-INF/MANIFEST.MF org.eclipse.swt.motif.aix.ppc/META-INF/MANIFEST.MF org.eclipse.swt.motif.hpux.ia64_32/META-INF/MANIFEST.MF org.eclipse.swt.motif.linux.x86/META-INF/MANIFEST.MF org.eclipse.swt.motif.solaris.sparc/META-INF/MANIFEST.MF org.eclipse.swt.photon.qnx.x86/META-INF/MANIFEST.MF org.eclipse.swt.win32.wce_ppc.arm/META-INF/MANIFEST.MF org.eclipse.swt.win32.win32.ia64/META-INF/MANIFEST.MF org.eclipse.swt.win32.win32.x86/META-INF/MANIFEST.MF org.eclipse.swt.win32.win32.x86_64/META-INF/MANIFEST.MF org.eclipse.swt.wpf.win32.x86/META-INF/MANIFEST.MF"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument line="${manifests}"/>
</commandline>
</cvs>
<replace dir="${tmpdir}" token="${swt_version}" value="${new_version}">
<include name="**/MANIFEST.MF"/>
</replace>
<!--cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="commit"/>
<argument value="-m"/>
<argument value="'new version v${swt_new_tag}'"/>
<argument line="${manifests}"/>
</commandline>
</cvs-->
</target>
<!-- Set swt_tag to the current tag in the swt map file -->
<target name="get_tag" unless="swt_tag">
<property name="tmpdir" value="."/>
<property name="cvsRsh" value="plink"/>
<property name="map" value="org.eclipse.releng/maps/swt.map"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument value="${map}"/>
</commandline>
</cvs>
<loadfile property="swt_tag" srcfile="${tmpdir}/${map}">
<filterchain>
<tokenfilter delimoutput="">
<containsstring contains="plugin@org.eclipse.swt="/>
<replaceregex pattern=".*(v\d\d\d\d[a-z]?).*" replace="\1"/>
</tokenfilter>
</filterchain>
</loadfile>
<echo>Current tag=${swt_tag}.</echo>
</target>
<!-- Set swt_new_tag -->
<target name="get_new_tag" unless="swt_new_tag" depends="get_version">
<property name="tmpdir" value="."/>
<property name="rlog_file" value="org.eclipse.swt/.project"/>
<property name="tags_file" value="${tmpdir}/tags.txt"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" output="${tags_file}">
<commandline>
<argument value="rlog"/>
<argument value="${rlog_file}"/>
</commandline>
</cvs>
<loadfile property="tags" srcfile="${tags_file}"/>
<script language="javascript">
<![CDATA[
tags = project.getProperty("tags");
swt_version = project.getProperty("swt_version");
if (!tags.match(swt_version)) {
project.setProperty("swt_new_tag", swt_version);
} else {
for (i=97; i<123; i++) {
t = swt_version + String.fromCharCode(i);
if (!tags.match(t)) {
project.setProperty("swt_new_tag", t);
break;
}
}
}
]]>
</script>
<fail message="Unable to determine new tag">
<condition>
<not>
<isset property="swt_new_tag"/>
</not>
</condition>
</fail>
<echo>New tag=${swt_new_tag}.</echo>
</target>
<!-- Set swt_version, new_version, old_version (and min_ver, maj_ver, new_min_ver, old_min_ver) from the make_common.mak -->
<target name="get_version" unless="swt_version">
<property name="tmpdir" value="."/>
<property name="cvsRsh" value="plink"/>
<property name="make_common" value="org.eclipse.swt/Eclipse SWT/common/library/make_common.mak"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument value="${make_common}"/>
</commandline>
</cvs>
<loadproperties srcFile="${tmpdir}/${make_common}"/>
<copy file="${tmpdir}/${make_common}" tofile="${tmpdir}/tmp.txt" overwrite="true"/>
<propertyfile file="${tmpdir}/tmp.txt">
<entry key="old_min_ver" default="${min_ver}" type="int" operation="-"/>
<entry key="new_min_ver" default="${min_ver}" type="int" operation="+"/>
</propertyfile>
<loadproperties srcFile="${tmpdir}/tmp.txt"/>
<property name="swt_version" value="${maj_ver}${min_ver}"/>
<property name="new_version" value="${maj_ver}${new_min_ver}"/>
<property name="old_version" value="${maj_ver}${old_min_ver}"/>
<replace file="${tmpdir}/tmp.txt" token="comma_ver=${comma_ver}" value="new_comma_ver=${new_version}"/>
<replaceregexp file="${tmpdir}/tmp.txt" match="new_comma_ver=(\d)(\d)(\d)(\d)" replace="new_comma_ver=\1,\2,\3,\4" byline="true"/>
<loadproperties srcFile="${tmpdir}/tmp.txt"/>
<delete file="${tmpdir}/tmp.txt"/>
<echo>Version=${swt_version}; Old=${old_version}; New=${new_version}; New comma_ver=${new_comma_ver}</echo>
</target>
<!-- Set natives_changed if there are changes in the C code -->
<target name="check_natives_changed" unless="natives_changed" depends="get_tag">
<property name="tmpdir" value="."/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument line="${cp_win32}"/>
<argument line="${cp_wpf}"/>
<argument line="${cp_gtk}"/>
<argument line="${cp_motif}"/>
<argument line="${cp_carbon}"/>
<argument line="${cp_cocoa}"/>
<argument line="${cp_photon}"/>
</commandline>
</cvs>
<!-- Verify for changes in the native code -->
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" dest="${tmpdir}" output="${tmpdir}/diff.txt">
<commandline>
<argument value="diff"/>
<argument value="-u"/>
<argument value="-r"/>
<argument value="${swt_tag}"/>
<argument value="org.eclipse.swt"/>
</commandline>
</cvs>
<condition property="natives_changed">
<length file="${tmpdir}/diff.txt" when="greater" length="0"/>
</condition>
<echo>Natives changed: ${natives_changed} since ${swt_tag}</echo>
</target>
<target name="new_version" if="is_new_version">
<echo>Removing ${removed_files}</echo>
<cvs dest="${fragment}" command="remove -f ${removed_files}" cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true"/>
<echo>Commiting ${removed_files}</echo>
<cvs dest="${fragment}" command="commit -m 'remove v${old_version}' ${removed_files}" cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true"/>
<echo>Adding ${added_files}</echo>
<cvs dest="${fragment}" command="add -kb ${added_files}" cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true"/>
</target>
<!-- Params: cvsRsh, tmpdir, and swt_new_tag -->
<target name="update_buildnotes" depends="get_tag, get_new_tag">
<property name="MILESTONE" value=""/>
<tstamp>
<format property="header.time" pattern="EEEE MMMMM dd, yyyy" offset="1" unit="day"/>
</tstamp>
<tstamp>
<format property="url.to.time" pattern="yyyy-MM-dd'+'HH'%3A'mm'%3A'ss'+%2B0000'" timezone="gmt"/>
</tstamp>
<property name="build_notes" value="org.eclipse.swt/buildnotes_swt.html"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" output="${tmpdir}/rlog.txt">
<commandline>
<argument value="rlog"/>
<argument value="-r${swt_tag}"/>
<argument value="${build_notes}"/>
</commandline>
</cvs>
<loadfile property="url.from.time" srcfile="${tmpdir}/rlog.txt">
<filterchain>
<tokenfilter delimoutput="">
<containsstring contains="date"/>
<containsstring contains="author"/>
<replaceregex pattern="(date: )([\d-+:\s]*)(.*)" replace="\2"/>
<replaceregex pattern="\+" replace="%2B" flags="g"/>
<replaceregex pattern=":" replace="%3A" flags="g"/>
<replaceregex pattern="\s" replace="+" flags="g"/>
</tokenfilter>
</filterchain>
</loadfile>
<echo> Searching bugs from "${url.from.time}" to "${url.to.time}"</echo>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument value="${build_notes}"/>
</commandline>
</cvs>
<property name="match_line" value="SWT&lt;/h1&gt;"/>
<property name="delimiter" value="&#13;&#10;"/>
<property name="url" value="https://bugs.eclipse.org/bugs/buglist.cgi?bug_file_loc=;bug_file_loc_type=allwordssubstr;bug_id=;bugidtype=include;chfield=resolution;target_milestone=${MILESTONE};chfieldfrom=${url.from.time};chfieldto=${url.to.time};chfieldvalue=FIXED;classification=Eclipse;component=SWT;email1=;email2=;emailtype1=substring;emailtype2=substring;field-1-0-0=classification;field-1-1-0=product;field-1-2-0=component;field0-0-0=noop;keywords=;keywords_type=allwords;long_desc=;long_desc_type=allwordssubstr;product=Platform;query_format=advanced;remaction=;short_desc=;short_desc_type=allwordssubstr;status_whiteboard=;status_whiteboard_type=allwordssubstr;type-1-0-0=anyexact;type-1-1-0=anyexact;type-1-2-0=anyexact;type0-0-0=noop;value-1-0-0=Eclipse;value-1-1-0=Platform;value-1-2-0=SWT;value0-0-0=;votes=;query_based_on="/>
<property name="body" value="${delimiter}${delimiter}&lt;h2&gt;SWT Build ${swt_new_tag} - ${header.time}&lt;/h2&gt;${delimiter}${delimiter}&lt;blockquote&gt;${delimiter}&lt;a href=${url}&gt;Bugs fixed&lt;/a&gt;${delimiter}&lt;/blockquote&gt;"/>
<replace file="${tmpdir}/${build_notes}" token="${match_line}" value="${match_line}${body}"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="commit"/>
<argument value="-m"/>
<argument value="'new version v${swt_new_tag}'"/>
<argument value="${build_notes}"/>
</commandline>
</cvs>
</target>
<!-- Params: fragment, swt_version, old_version -->
<target name="commit_fragment" depends="get_version" if="natives_changed">
<copy todir="${fragment}" overwrite="false">
<fileset dir="${fragment}" includes="*${old_version}*"/>
<regexpmapper from="(.*)${old_version}(.*)" to="\1${swt_version}\2"/>
</copy>
<chmod perm="755">
<fileset dir="${fragment}" includes="*${swt_version}*"/>
</chmod>
<fileset id="removeid" dir="${fragment}" includes="*${old_version}*"/>
<property name="rfiles" refid="removeid"/>
<echo file="tmp">removed_files=${rfiles}</echo>
<replace file="tmp" token=";" value=" "/>
<loadproperties srcfile="tmp"/>
<delete file="tmp"/>
<fileset id= "addid" dir="${fragment}" includes="*${swt_version}*"/>
<property name="afiles" refid="addid"/>
<echo file="tmp">added_files=${afiles}</echo>
<replace file="tmp" token=";" value=" "/>
<loadproperties srcfile="tmp"/>
<delete file="tmp"/>
<condition property="is_new_version">
<not>
<equals arg1="" arg2="${removed_files}"/>
</not>
</condition>
<antcall target="new_version"/>
<echo>"Commiting ${added_files}</echo>
<cvs dest="${fragment}" command="commit -m 'v${swt_version}' ${added_files}" cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true"/>
</target>
<!-- depends on 'get_new_tag' to define swt_new_tag, swt_version, maj_ver and min_ver -->
<target name="tag_projects">
<property name="tmpdir" value="${tmphome}/tag"/>
<delete dir="${tmpdir}" quiet="true"/>
<mkdir dir="${tmpdir}"/>
<antcall target="tag_projects_imp"/>
<delete dir="${tmpdir}" quiet="true"/>
</target>
<target name="tag_projects_imp" depends="get_new_tag">
<property name="cvsRsh" value="plink"/>
<!-- These two lines perform the same check. check_libraries is slower because it checks each fragment separetely -->
<!--antcall target="check_libraries"/-->
<antcall target="check_fragment_libraries"/>
<!-- update and commit the buildnotes_swt.html file -->
<antcall target="update_buildnotes"/>
<!-- download the map file -->
<property name="map" value="org.eclipse.releng/maps/swt.map"/>
<property name="map_copy" value="${tmpdir}/swt_map.txt"/>
<property name="map_xml" value="${tmpdir}/swt_map.xml"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument value="${map}"/>
</commandline>
</cvs>
<copy file="${tmpdir}/${map}" tofile="${map_copy}"/>
<!-- tag all files -->
<replace file="${map_copy}" token="=" value="&quot; old=&quot;"/>
<replace file="${map_copy}" token="fragment@" value="&lt;element project=&quot;"/>
<replace file="${map_copy}" token="plugin@" value="&lt;element project=&quot;"/>
<replace file="${map_copy}" token=":pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse," value="&quot;/&gt;"/>
<replaceregexp file="${map_copy}" match="!(.*)" replace="" byline="true"/>
<loadfile property="body" srcfile="${map_copy}"/>
<echo file="${map_xml}">&lt;project&gt;</echo>
<echo file="${map_xml}" append="true">${body}</echo>
<echo file="${map_xml}" append="true">&lt;/project&gt;</echo>
<xslt style="${tasks}/swtmap.xls" in="${map_xml}" out="${tmpdir}/tagCommand.xml">
<param name="TAG" expression="${TAG}"/>
<param name="cvsRoot" expression="${cvsRoot}"/>
<param name="cvsRsh" expression="${cvsRsh}"/>
<param name="swt_new_tag" expression="v${swt_new_tag}"/>
</xslt>
<ant antfile="${tmpdir}/tagCommand.xml" target="tag_files"/>
<!-- update and commit map file -->
<replaceregexp file="${tmpdir}/${map}" match="=v\d\d\d\d[a-z]?" replace="=v${swt_new_tag}" byline="true"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="commit"/>
<argument value="-m"/>
<argument value="'new version v${swt_new_tag}'"/>
<argument value="${map}"/>
</commandline>
</cvs>
</target>
<!-- Params: build_target -->
<target name="build_natives" if="natives_changed">
<copy todir="${builddir}" flatten="true">
<fileset dir="org.eclipse.swt" includes="**/library/"/>
</copy>
<condition property="real_target" value="build_s390" else="${build_target}">
<or>
<equals arg1="${build_target}" arg2="build_gtk_linux_s390"/>
<equals arg1="${build_target}" arg2="build_gtk_linux_s390x"/>
</or>
</condition>
<antcall target="${real_target}"/>
</target>
<!-- Params: cp, fragment, build_target -->
<target name="build_fragment" depends="get_tag">
<!-- check out classpath, fragments, and natives -->
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument line="${cp}"/>
<argument value="${fragment}"/>
</commandline>
</cvs>
<tstamp>
<format property="last_build.time" pattern="yyyy-MM-dd hh:mm aa" offset="-1" unit="day"/>
</tstamp>
<!-- during maintenance builds (TAG is set) there is no nightly, so don't ever use timestamps (which are no good for branch)-->
<condition property="diff_tag" value="-r${swt_tag}" else="-D'${last_build.time}'">
<length string="${TAG}" trim="true" when="greater" length="0"/>
</condition>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" output="diff.txt">
<commandline>
<argument value="diff"/>
<argument line="${diff_tag}"/>
<argument value="-u"/>
<argument value="org.eclipse.swt"/>
</commandline>
</cvs>
<condition property="natives_changed">
<length file="diff.txt" when="greater" length="0"/>
</condition>
<echo>Has native changes: ${natives_changed}, compared against ${diff_tag}</echo>
<!-- build natives -->
<antcall target="build_natives"/>
<!-- commint libraries -->
<antcall target="commit_fragment"/>
</target>
<!-- Params: cp, fragment, build_target -->
<target name="build_local">
<property name="cvsRsh" value="plink"/>
<property name="tmpdir" value="${tmphome}/${fragment}"/>
<property name="build_version" value=""/>
<delete dir="${tmpdir}" quiet="true"/>
<mkdir dir="${tmpdir}"/>
<cvs cvsRoot="${cvsRoot}" cvsrsh="${cvsRsh}" failonerror="true" dest="${tmpdir}">
<commandline>
<argument value="checkout"/>
<argument line="${TAG}"/>
<argument value="${tasks}"/>
</commandline>
</cvs>
<ant antfile="${tasks}/build.xml" output="${logdir}/${build_version}/${fragment}.log" dir="${tmpdir}" target="build_fragment">
<property name="cp" value="${cp}"/>
<property name="fragment" value="${fragment}"/>
<property name="build_target" value="${build_target}"/>
</ant>
<delete dir="${tmpdir}"/>
</target>
<target name="set_natives_changed" if="natives_changed">
<property name="extra_properties" value="-Dnatives_changed=${natives_changed}"/>
</target>
<target name="build_s390">
<property name="zipname" value="${fragment}"/>
<property name="remotetmpdir" value="~/build/${zipname}"/>
<condition property="remotemachine" value="${m_linux_s390}" else="${m_linux_s390x}">
<or>
<equals arg1="${build_target}" arg2="build_gtk_linux_s390"/>
</or>
</condition>
<zip destfile="../${zipname}.zip" basedir=".." includes="${zipname}/**/*"/>
<exec executable="scp">
<arg value="../${zipname}.zip"/>
<arg value="swtbuild@${remotemachine}:~/build"/>
</exec>
<sshexec host="${remotemachine}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
command="echo $PATH; cd ~/build; rm -rf ${remotetmpdir}; unzip -qq ~/build/${zipname}.zip; rm ~/build/${zipname}.zip; cd ${remotetmpdir}/${tasks}; if ant -f build.xml ${build_target}; then cd ~/build; zip -q -r ${zipname}.zip ${zipname}; rm -rf ${remotetmpdir}; else cd; rm -rf ${remotetmpdir}; exit 1; fi"/>
<exec executable="scp">
<arg value="swtbuild@${remotemachine}:~/build/${zipname}.zip"/>
<arg value=".."/>
</exec>
<unzip src="../${zipname}.zip" dest=".."/>
</target>
<!-- Params: machine, pre_commands, cp, fragment, build_target -->
<target name="build_ssh" depends="set_natives_changed">
<property name="tmpdir" value="~/build/${fragment}"/>
<property name="pre_commands" value=""/>
<property name="pre_commands1" value=""/>
<property name="build_version" value=""/>
<property name="extra_properties" value=""/>
<property name="properties" value="-Dcp=&quot;${cp}&quot; -Dfragment=${fragment} -DcvsRsh=ssh -Dbuild_target=${build_target} -DTAG=${TAG} ${extra_properties}"/>
<sshexec host="${machine}"
username="swtbuild"
keyfile="${keyfile}"
trust="true"
output="${logdir}/${build_version}/${fragment}.log"
command="${pre_commands} rm -rf ${tmpdir}; mkdir ${tmpdir}; cd ${tmpdir}; export CVS_RSH=ssh; cvs -d ${cvsRoot} checkout ${TAG} ${tasks}; ${pre_commands1} if ant -f ${tasks}/build.xml build_fragment ${properties}; then cd; rm -rf ${tmpdir}; else cd; rm -rf ${tmpdir}; exit 1; fi"/>
</target>
<!-- Convert SWT 32 bit java and C source to 64 bit -->
<target name="replace.32.to.64" depends="init_build">
<property name="replace_dir" value="org.eclipse.swt"/>
<echo>Converting java files to 64 bit in ${replace_dir} project</echo>
<replace dir="${replace_dir}" includes="**/*.java" token="int /*long*/" value="long /*int*/"/>
<replace dir="${replace_dir}" includes="**/*.java" token="int[] /*long[]*/" value="long[] /*int[]*/"/>
<replace dir="${replace_dir}" includes="**/*.java" token="float /*double*/" value="double /*float*/"/>
<replace dir="${replace_dir}" includes="**/*.java" token="float[] /*double[]*/" value="double[] /*float[]*/"/>
<antcall target="init_build"/>
</target>
<!-- Convert SWT 64 bit java and C source to 32 bit -->
<target name="replace.64.to.32" depends="init_build">
<property name="replace_dir" value="org.eclipse.swt"/>
<echo>Converting java files to 32 bit in ${replace_dir} project</echo>
<replace dir="${replace_dir}" includes="**/*.java" token="long /*int*/" value="int /*long*/"/>
<replace dir="${replace_dir}" includes="**/*.java" token="long[] /*int[]*/" value="int[] /*long[]*/"/>
<replace dir="${replace_dir}" includes="**/*.java" token="double /*float*/" value="float /*double*/"/>
<replace dir="${replace_dir}" includes="**/*.java" token="double[] /*float[]*/" value="float[] /*double[]*/"/>
<antcall target="init_build"/>
</target>
<!-- all platforms -->
<target name="win32_x86">
<antcall target="build_local">
<param name="cp" value="${cp_win32}"/>
<param name="fragment" value="org.eclipse.swt.win32.win32.x86"/>
<param name="build_target" value="build_win32_x86"/>
</antcall>
</target>
<target name="win32_x86_64">
<antcall target="build_local">
<param name="cp" value="${cp_win32}"/>
<param name="fragment" value="org.eclipse.swt.win32.win32.x86_64"/>
<param name="build_target" value="build_win32_x86_64"/>
</antcall>
</target>
<target name="win32_ia64">
<antcall target="build_local">
<param name="cp" value="${cp_win32}"/>
<param name="fragment" value="org.eclipse.swt.win32.win32.ia64"/>
<param name="build_target" value="build_win32_ia64"/>
</antcall>
</target>
<target name="wince">
<antcall target="build_local">
<param name="cp" value="${cp_win32}"/>
<param name="fragment" value="org.eclipse.swt.win32.wce_ppc.arm"/>
<param name="build_target" value="build_wince"/>
</antcall>
</target>
<target name="wpf_x86">
<antcall target="build_local">
<param name="cp" value="${cp_wpf}"/>
<param name="fragment" value="org.eclipse.swt.wpf.win32.x86"/>
<param name="build_target" value="build_wpf_x86"/>
</antcall>
</target>
<target name="gtk_linux_x86">
<antcall target="build_ssh">
<param name="machine" value="${m_linux_x86}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.x86"/>
<param name="build_target" value="build_gtk_linux_x86"/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/x32/jdk1.6.0_14; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="gtk_linux_x86_64">
<antcall target="build_ssh">
<param name="machine" value="${m_linux_x86_64}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.x86_64"/>
<param name="build_target" value="build_gtk_linux_x86_64"/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/x64/jdk1.6.0_14; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="gtk_linux_ppc">
<antcall target="build_ssh">
<param name="machine" value="${m_linux_ppc}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.ppc"/>
<param name="build_target" value="build_gtk_linux_ppc"/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/PPC/ibm-java-ppc-60/; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="gtk_linux_ppc64">
<antcall target="build_ssh">
<param name="machine" value="${m_linux_ppc64}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="org.eclipse.swt.gtk.linux.ppc64"/>
<param name="build_target" value="build_gtk_linux_ppc64"/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/PPC/ibm-java-ppc-60/; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="gtk_linux_s390">
<property name="thefragment" value="org.eclipse.swt.gtk.linux.s390"/>
<antcall target="build_ssh">
<param name="machine" value="${m_linux_x86}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="${thefragment}"/>
<param name="build_target" value="build_gtk_linux_s390"/>
<param name="pre_commands1" value="cp ~/build/fixed_tasks/* ~/build/${thefragment}/${tasks}; "/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/x32/jdk1.6.0_14; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="gtk_linux_s390x">
<property name="thefragment" value="org.eclipse.swt.gtk.linux.s390x"/>
<antcall target="build_ssh">
<param name="machine" value="${m_linux_x86}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="${thefragment}"/>
<param name="build_target" value="build_gtk_linux_s390x"/>
<param name="pre_commands1" value="cp ~/build/fixed_tasks/* ~/build/${thefragment}/${tasks}; "/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/x32/jdk1.6.0_14; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="gtk_solaris_x86">
<antcall target="build_ssh">
<param name="machine" value="${m_solaris_x86}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="org.eclipse.swt.gtk.solaris.x86"/>
<param name="build_target" value="build_gtk_solaris_x86"/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/Solaris_x86/jdk1.6.0_14/; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="gtk_solaris_sparc">
<antcall target="build_ssh">
<param name="machine" value="${m_solaris_sparc}"/>
<param name="cp" value="${cp_gtk}"/>
<param name="fragment" value="org.eclipse.swt.gtk.solaris.sparc"/>
<param name="build_target" value="build_gtk_solaris_sparc"/>
<param name="pre_commands" value="export JAVA_HOME=/usr/j2se; export PATH=/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/local/bin:${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="motif_linux">
<antcall target="build_ssh">
<param name="machine" value="${m_linux_x86}"/>
<param name="cp" value="${cp_motif}"/>
<param name="fragment" value="org.eclipse.swt.motif.linux.x86"/>
<param name="build_target" value="build_motif_linux"/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/x32/jdk1.6.0_14; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="motif_aix">
<antcall target="build_ssh">
<param name="machine" value="${m_aix}"/>
<param name="cp" value="${cp_motif}"/>
<param name="fragment" value="org.eclipse.swt.motif.aix.ppc"/>
<param name="build_target" value="build_motif_aix"/>
<param name="pre_commands" value="export JAVA_HOME=~/build/JRE/AIX/sdk; export PATH=${ant_home}/bin:~/build/cvs_bin/AIX:$PATH;"/>
</antcall>
</target>
<target name="motif_solaris">
<antcall target="build_ssh">
<param name="machine" value="${m_solaris_sparc}"/>
<param name="cp" value="${cp_motif}"/>
<param name="fragment" value="org.eclipse.swt.motif.solaris.sparc"/>
<param name="build_target" value="build_motif_solaris"/>
<param name="pre_commands" value="export JAVA_HOME=/usr/j2se; export PATH=/export/home/SUNWspro/bin:/usr/ccs/bin:${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="motif_hpux">
<antcall target="build_ssh">
<param name="machine" value="${m_hpux}"/>
<param name="cp" value="${cp_motif}"/>
<param name="fragment" value="org.eclipse.swt.motif.hpux.ia64_32"/>
<param name="build_target" value="build_motif_hpux"/>
<param name="pre_commands" value="export JAVA_HOME=/opt/java1.5; export PATH=${ant_home}/bin:$PATH; "/>
</antcall>
</target>
<target name="cocoa_x86_and_ppc">
<antcall target="build_ssh">
<param name="machine" value="${m_mac}"/>
<param name="cp" value="${cp_cocoa}"/>
<param name="fragment" value="org.eclipse.swt.cocoa.macosx"/>
<param name="build_target" value="build_cocoa_x86_and_ppc"/>
</antcall>
</target>
<target name="cocoa_x86_64">
<antcall target="build_ssh">
<param name="machine" value="${m_mac}"/>
<param name="cp" value="${cp_cocoa}"/>
<param name="fragment" value="org.eclipse.swt.cocoa.macosx.x86_64"/>
<param name="build_target" value="build_cocoa_x86_64"/>
</antcall>
</target>
<target name="carbon">
<antcall target="build_ssh">
<param name="machine" value="${m_mac}"/>
<param name="cp" value="${cp_carbon}"/>
<param name="fragment" value="org.eclipse.swt.carbon.macosx"/>
<param name="build_target" value="build_carbon"/>
</antcall>
</target>
<target name="photon">
<antcall target="build_local">
<param name="cp" value="${cp_photon}"/>
<param name="fragment" value="org.eclipse.swt.photon.qnx.x86"/>
<param name="build_target" value="build_photon"/>
</antcall>
</target>
<target name="build_all">
<tstamp>
<format property="build_version" pattern="yyyyMMddkkmmss"/>
</tstamp>
<mkdir dir="${logdir}/${build_version}"/>
<parallel failonany="false">
<antcall target="win32_x86"/>
<antcall target="win32_x86_64"/>
<antcall target="win32_ia64"/>
<antcall target="wince"/>
<antcall target="wpf_x86"/>
<antcall target="gtk_linux_x86"/>
<antcall target="gtk_linux_x86_64"/>
<antcall target="gtk_linux_ppc"/>
<antcall target="gtk_solaris_x86"/>
<antcall target="gtk_solaris_sparc"/>
<antcall target="motif_linux"/>
<antcall target="motif_aix"/>
<antcall target="motif_solaris"/>
<antcall target="motif_hpux"/>
<antcall target="cocoa_x86_and_ppc"/>
<antcall target="cocoa_x86_64"/>
<antcall target="carbon"/>
<antcall target="photon"/>
</parallel>
</target>
</project>