blob: 8a0da2b39cfe9be305aaf86977f5a0c7b6192fd4 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<project name="org.eclipse.swt.gtk.linux.ia64" default="build.nativeLibraries" basedir=".">
<target name="init" depends="properties">
<property name="ws" value="gtk"/>
<property name="os" value="linux"/>
<property name="arch" value="ia64"/>
<property name="fragment" value="org.eclipse.swt.gtk.linux.ia64"/>
<property name="version.suffix" value="3.2.0"/>
<property name="full.name" value="${fragment}_${version.suffix}"/>
<property name="temp.folder" value="${basedir}/temp.folder"/>
<property name="plugin.destination" value="${basedir}"/>
<property name="build.result.folder" value="${basedir}"/>
<property name="destination" value="${basedir}"/>
<property name="plugindir" value="../org.eclipse.swt"/>
<property name="bootclasspath" value=""/>
<property name="temp.folder.64" value="${basedir}/temp.folder/64"/>
<property name="toolsplugindir" value="../org.eclipse.swt.tools"/>
<property name="javacVerbose" value="false"/>
<property name="logExtension" value=".xml"/>
</target>
<target name="properties" if="eclipse.running">
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<!--compile the jar in org.eclipse.swt.tools-->
</target>
<target name="build.update.jar" depends="init">
<delete dir="${temp.folder}"/>
<mkdir dir="${temp.folder}"/>
<antcall target="build.jars"/>
<antcall target="gather.bin.parts">
<param name="destination.temp.folder" value="${temp.folder}/"/>
</antcall>
<zip zipfile="${plugin.destination}/${full.name}.jar" basedir="${temp.folder}/${full.name}" filesonly="false"/>
<delete dir="${temp.folder}"/>
</target>
<target name="@dot" depends="init" unless="@dot" description="Create jar: @dot.">
<property name="destdir" value="${temp.folder}/@dot.bin"/>
<delete dir="${temp.folder}/@dot.bin"/>
<mkdir dir="${temp.folder}/@dot.bin"/>
<javac destdir="${temp.folder}/@dot.bin" verbose="${javacVerbose}" debug="on" failonerror="no" bootclasspath="${bootclasspath}" source="1.3" target="1.2">
<src path="${basedir}/src/Eclipse SWT/cairo/"/>
<src path="${basedir}/src/Eclipse SWT/common/"/>
<src path="${basedir}/src/Eclipse SWT/common_j2se/"/>
<src path="${basedir}/src/Eclipse SWT/emulated/bidi/"/>
<src path="${basedir}/src/Eclipse SWT/emulated/coolbar/"/>
<src path="${basedir}/src/Eclipse SWT/gtk/"/>
<src path="${basedir}/src/Eclipse SWT Accessibility/common/"/>
<src path="${basedir}/src/Eclipse SWT Accessibility/gtk/"/>
<src path="${basedir}/src/Eclipse SWT AWT/common/"/>
<src path="${basedir}/src/Eclipse SWT AWT/gtk/"/>
<src path="${basedir}/src/Eclipse SWT Browser/common/"/>
<src path="${basedir}/src/Eclipse SWT Browser/mozilla/"/>
<src path="${basedir}/src/Eclipse SWT Custom Widgets/common/"/>
<src path="${basedir}/src/Eclipse SWT Drag and Drop/common/"/>
<src path="${basedir}/src/Eclipse SWT Drag and Drop/gtk/"/>
<src path="${basedir}/src/Eclipse SWT Mozilla/gtk/"/>
<src path="${basedir}/src/Eclipse SWT Mozilla/common/"/>
<src path="${basedir}/src/Eclipse SWT OpenGL/gtk/"/>
<src path="${basedir}/src/Eclipse SWT OpenGL/glx/"/>
<src path="${basedir}/src/Eclipse SWT OpenGL/common/"/>
<src path="${basedir}/src/Eclipse SWT PI/cairo/"/>
<src path="${basedir}/src/Eclipse SWT PI/common/"/>
<src path="${basedir}/src/Eclipse SWT PI/common_j2se/"/>
<src path="${basedir}/src/Eclipse SWT PI/gtk/"/>
<src path="${basedir}/src/Eclipse SWT Printing/common/"/>
<src path="${basedir}/src/Eclipse SWT Printing/gtk/"/>
<src path="${basedir}/src/Eclipse SWT Program/cde/"/>
<src path="${basedir}/src/Eclipse SWT Program/common/"/>
<src path="${basedir}/src/Eclipse SWT Program/gnome/"/>
<src path="${basedir}/src/Eclipse SWT Program/gtk/"/>
<compilerarg line="-log '${temp.folder}'/@dot.bin${logExtension}" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
</javac>
<property name="includes" value=""/>
<property name="excludes" value="**/*.java,**/library/,**/package.htm*"/>
<copy todir="${temp.folder}/@dot.bin">
<fileset dir="${basedir}/src/Eclipse SWT/cairo/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT/common_j2se/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT/emulated/bidi/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT/emulated/coolbar/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Accessibility/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Accessibility/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT AWT/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT AWT/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Browser/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Browser/mozilla/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Custom Widgets/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Drag and Drop/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Drag and Drop/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Mozilla/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Mozilla/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/glx/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT PI/cairo/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT PI/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT PI/common_j2se/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT PI/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Printing/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Printing/gtk/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Program/cde/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Program/common/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Program/gnome/" includes="${includes}" excludes="${excludes}"/>
<fileset dir="${basedir}/src/Eclipse SWT Program/gtk/" includes="${includes}" excludes="${excludes}"/>
</copy>
<mkdir dir="${build.result.folder}/@dot"/>
<copy todir="${build.result.folder}/@dot" failonerror="true">
<fileset dir="${temp.folder}/@dot.bin"/>
</copy>
<!-- prepare a jar file solely for the download target -->
<jar jarfile="${build.result.folder}/swt.jar" basedir="${temp.folder}/@dot.bin"/>
<delete dir="${temp.folder}/@dot.bin"/>
</target>
<target name="build.jars" depends="init">
<available property="@dot" file="${build.result.folder}/@dot"/>
<available property="source.present" file="${basedir}/src" type="dir" />
<antcall target="copy.source" />
<antcall target="@dot"/>
</target>
<target name="copy.source" unless="source.present">
<echo>Copying source from org.eclipse.swt project to folder ${basedir}/src folder ${temp.folder}.</echo>
<delete dir="${basedir}/src"/>
<mkdir dir="${basedir}/src"/>
<!-- Copy the existing 32 bit SWT source folders to the 64 bit source folder -->
<copy todir="${basedir}/src">
<fileset dir="${plugindir}" includes="Eclipse*/**"/>
</copy>
<!-- Convert SWT 32 bit java source to 64 bit -->
<replace dir="${basedir}/src" includes="**/*.java" token="int /*long*/" value="long /*int*/"/>
</target>
<target name="replace.32.to.64" depends="init">
<echo>Converting java files to 64 bit in org.eclipse.swt project</echo>
<!-- Convert SWT 32 bit java source to 64 bit -->
<replace dir="${plugindir}" includes="**/*.java" token="int /*long*/" value="long /*int*/"/>
</target>
<target name="replace.64.to.32" depends="init">
<echo>Converting java files to 32 bit in org.eclipse.swt project</echo>
<!-- Convert SWT 64 bit java source to 32 bit -->
<replace dir="${plugindir}" includes="**/*.java" token="long /*int*/" value="int /*long*/"/>
</target>
<target name="src.zip" depends="init" unless="src.zip">
<mkdir dir="${build.result.folder}/"/>
<zip zipfile="${build.result.folder}/src.zip">
<fileset dir="${basedir}/src/Eclipse SWT/cairo/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT/common/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT/common_j2se/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT/emulated/bidi/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT/emulated/coolbar/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Accessibility/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Accessibility/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT AWT/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT AWT/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT AWT/gtk/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT Browser/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Browser/mozilla/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Custom Widgets/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Drag and Drop/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Drag and Drop/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Mozilla/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Mozilla/common/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT Mozilla/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/glx/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/glx/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT PI/cairo/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT PI/cairo/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT PI/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT PI/common_j2se/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT PI/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT PI/gtk/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT Printing/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Printing/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Program/cde/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Program/cde/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT Program/common/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Program/gtk/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Program/gnome/" includes="**/*.java" excludes=""/>
<fileset dir="${basedir}/src/Eclipse SWT Program/gnome/library/"/>
<fileset dir="${plugindir}/Eclipse SWT/common_j2se/" includes="**/*.properties" excludes=""/>
<fileset dir="${plugindir}/Eclipse SWT/common/" includes="**/version.txt" excludes=""/>
<fileset dir="${basedir}" includes="about.html,about_files/" excludes=""/>
</zip>
</target>
<target name="build.sources" depends="build.cfiles">
<available property="src.zip" file="${build.result.folder}/src.zip"/>
<antcall target="src.zip"/>
</target>
<target name="build.cfiles" depends="build.jars">
<!-- generate the C code from the (64 bit) SWT PI java classes -->
<!-- assumes the swt.jar has already been built -->
<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.gtk.OS"/><arg value="${basedir}/src/Eclipse SWT PI/gtk/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.accessibility.gtk.ATK"/><arg value="${basedir}/src/Eclipse SWT PI/gtk/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.cairo.Cairo"/><arg value="${basedir}/src/Eclipse SWT PI/cairo/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.gnome.GNOME"/><arg value="${basedir}/src/Eclipse SWT Program/gnome/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.cde.CDE"/><arg value="${basedir}/src/Eclipse SWT Program/cde/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.mozilla.XPCOM"/><arg value="${basedir}/src/Eclipse SWT Mozilla/common/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
<java classname="org.eclipse.swt.tools.internal.JNIGeneratorApp" classpath="${toolsplugindir}/bin:${toolsplugindir}/swttools.jar:${basedir}/swt.jar"><arg value="org.eclipse.swt.internal.opengl.glx.GLX"/><arg value="${basedir}/src/Eclipse SWT OpenGL/glx/library/"/><arg value="${build.result.folder}/swt.jar"/></java>
<!-- copy all the files into /library folders into a temporary bin/library folder -->
<!-- since this is the structure assumed by the native makefile and given that -->
<!-- this script needs to work outside of the Eclipse workspace without modifying -->
<!-- the content of the org.eclipse.swt project. -->
<mkdir dir="${basedir}/src/bin/library"/>
<copy todir="${basedir}/src/bin/library">
<fileset dir="${basedir}/src/Eclipse SWT/common/library"/>
<fileset dir="${basedir}/src/Eclipse SWT AWT/gtk/library"/>
<fileset dir="${basedir}/src/Eclipse SWT Mozilla/common/library"/>
<fileset dir="${basedir}/src/Eclipse SWT OpenGL/glx/library/"/>
<fileset dir="${basedir}/src/Eclipse SWT PI/cairo/library"/>
<fileset dir="${basedir}/src/Eclipse SWT PI/gtk/library"/>
<fileset dir="${basedir}/src/Eclipse SWT Program/cde/library"/>
<fileset dir="${basedir}/src/Eclipse SWT Program/gnome/library"/>
</copy>
</target>
<target name="build.nativeLibraries" depends="build.cfiles" description="Build 64 bit native libraries without changing the content of org.eclipse.swt">
<property name="sourcedir" value="${basedir}/src/bin/library" />
<property name="lib_destdir" value="${sourcedir}/../../../../${fragment}" />
<tstamp/>
<exec dir="${sourcedir}" executable="sh">
<arg line="./build.sh"/>
<arg line="clean"/>
</exec>
<mkdir dir="${lib_destdir}" />
<exec dir="${sourcedir}" executable="sh">
<arg line="./build.sh"/>
<arg line="all"/>
</exec>
<copy todir="${lib_destdir}">
<fileset dir="${sourcedir}/" includes="*.so"/>
</copy>
</target>
<target name="build.zips" depends="init">
</target>
<target name="gather.sources" depends="init" if="destination.temp.folder">
<mkdir dir="${destination.temp.folder}/${full.name}"/>
<copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/${full.name}/"/>
<copy todir="${destination.temp.folder}/${full.name}">
<fileset dir="${basedir}" includes="about.html,about_files/"/>
</copy>
</target>
<target name="gather.logs" depends="init" if="destination.temp.folder">
<mkdir dir="${destination.temp.folder}/${full.name}"/>
<copy file="${temp.folder}/@dot.bin${logExtension}" todir="${destination.temp.folder}/${full.name}/"/>
</target>
<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
<mkdir dir="${destination.temp.folder}/${full.name}"/>
<copy todir="${destination.temp.folder}/${full.name}" failonerror="true">
<fileset dir="${build.result.folder}/@dot" includes="**"/>
</copy>
<copy todir="${destination.temp.folder}/${full.name}">
<fileset dir="${basedir}" includes="fragment.properties,about.html,about_files/,swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libcairo-swt.so,META-INF/"/>
</copy>
<chmod perm="755" dir="${destination.temp.folder}/${full.name}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libcairo-swt.so" />
<eclipse.versionReplacer path="${destination.temp.folder}/${full.name}" version="${version.suffix}"/>
</target>
<target name="swtdownload" depends="init">
<delete dir="${temp.folder}"/>
<mkdir dir="${temp.folder}/swtdownload/"/>
<antcall target="build.jars"/>
<copy file="${build.result.folder}/swt.jar" todir="${temp.folder}/swtdownload"/>
<antcall target="build.sources"/>
<copy file="${build.result.folder}/src.zip" todir="${temp.folder}/swtdownload"/>
<copy file="${plugindir}/build/.project" todir="${temp.folder}/swtdownload"/>
<copy file="${plugindir}/build/.classpath" todir="${temp.folder}/swtdownload"/>
<copy todir="${temp.folder}/swtdownload">
<fileset dir="${basedir}" includes="about.html,about_files/"/>
<fileset dir="${basedir}" includes="swt*.dll,libswt*.so,libswt*.sl,libswt*.a,libswt*.jnilib,libcairo-swt.so"/>
</copy>
<chmod dir="${temp.folder}/swtdownload" perm="755" includes="**/lib*"/>
<zip zipfile="${destination}/swt-${buildid}-${ws}-${os}-${arch}.zip">
<zipfileset dir="${temp.folder}/swtdownload/" prefix="swt-${buildid}-${ws}-${os}-${arch}"/>
</zip>
<delete dir="${temp.folder}"/>
</target>
<target name="clean" depends="init">
<delete dir="${build.result.folder}/@dot"/>
<delete file="${build.result.folder}/src.zip"/>
<delete file="${plugin.destination}/${full.name}.jar"/>
<delete file="${plugin.destination}/${full.name}.zip"/>
<delete dir="${temp.folder}"/>
</target>
<target name="refresh" depends="init" if="eclipse.running">
<eclipse.refreshLocal resource="${fragment}" depth="infinite"/>
</target>
<target name="zip.plugin" depends="init">
<delete dir="${temp.folder}"/>
<mkdir dir="${temp.folder}"/>
<antcall target="build.jars"/>
<antcall target="build.sources"/>
<antcall target="gather.bin.parts">
<param name="destination.temp.folder" value="${temp.folder}/"/>
</antcall>
<antcall target="gather.sources">
<param name="destination.temp.folder" value="${temp.folder}/"/>
</antcall>
<delete>
<fileset dir="${temp.folder}" includes="**/*.bin${logExtension}"/>
</delete>
<zip zipfile="${plugin.destination}/${full.name}.zip" basedir="${temp.folder}" filesonly="true"/>
<delete dir="${temp.folder}"/>
</target>
</project>