summaryrefslogtreecommitdiffstats
path: root/crosscompiler.xml
diff options
context:
space:
mode:
Diffstat (limited to 'crosscompiler.xml')
-rw-r--r--crosscompiler.xml88
1 files changed, 88 insertions, 0 deletions
diff --git a/crosscompiler.xml b/crosscompiler.xml
new file mode 100644
index 00000000..2b9df491
--- /dev/null
+++ b/crosscompiler.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Document : crosscompiler.xml
+ Created on : November 18, 2009, 3:38 PM
+ Author : Michael Bien
+ Description:
+ crosscompiler configuration and ant task for crosscompiling for
+ linux32/64 and win32/64 on linux64 as host system.
+-->
+<project name="jocl-crosscompiler" basedir="." default="jocl.cross-compile">
+
+ <import file="build.xml"/>
+
+ <!-- TODO remove hardcoded path -->
+ <property name="java.includes.dir.windows" value="/media/store/JOCLSetup/win32"/>
+
+ <!-- crosscompiles to other platforms, requirement: linux64 host os -->
+ <target name="jocl.cross-compile" depends="init, configure.crosscompiler">
+
+ <echo message=" - - - cross-compiling JOCL natives - - - "/>
+
+ <antcall target="jocl.c.compile" inheritall="false">
+ <param name="namespace" value="linux-amd64"/>
+ <param name="crosscompile" value="true"/>
+ <param name="build.dir" value="${build.dir}"/>
+ <param name="isLinuxAMD64" value="true"/>
+ <param name="isLinux" value="true"/>
+ <param name="isUnix" value="true"/>
+ <param name="isX11" value="true"/>
+ </antcall>
+
+ <antcall target="jocl.c.compile" inheritall="false">
+ <param name="namespace" value="linux-x86"/>
+ <param name="crosscompile" value="true"/>
+ <param name="build.dir" value="${build.dir}"/>
+ <param name="isLinuxX86" value="true"/>
+ <param name="isLinux" value="true"/>
+ <param name="isUnix" value="true"/>
+ <param name="isX11" value="true"/>
+ </antcall>
+
+ <!-- use mingw crosscompiler to compile for win32 and win64 (linux64 only) -->
+ <antcall target="jocl.c.compile" inheritall="false">
+ <param name="namespace" value="linux-amd64"/>
+ <param name="crosscompile" value="true"/>
+ <param name="build.dir" value="${build.dir}"/>
+ <param name="isLinuxAMD64" value="true"/>
+ <param name="isLinux" value="true"/>
+ <param name="isUnix" value="true"/>
+ <param name="isX11" value="true"/>
+
+ <!-- overwrite -->
+ <param name="java.includes.dir.platform" value="${java.includes.dir.windows}"/>
+ <param name="compiler.cfg.id" value="compiler.cfg.linux64.mingw64"/>
+ <param name="linker.cfg.id" value="linker.cfg.linux64.mingw64.jocl"/>
+ </antcall>
+
+ <antcall target="jocl.c.compile" inheritall="false">
+ <param name="namespace" value="linux-x86"/>
+ <param name="crosscompile" value="true"/>
+ <param name="build.dir" value="${build.dir}"/>
+ <param name="isLinuxX86" value="true"/>
+ <param name="isLinux" value="true"/>
+ <param name="isUnix" value="true"/>
+ <param name="isX11" value="true"/>
+
+ <!-- overwrite -->
+ <param name="java.includes.dir.platform" value="${java.includes.dir.windows}"/>
+ <param name="compiler.cfg.id" value="compiler.cfg.linux64.mingw32"/>
+ <param name="linker.cfg.id" value="linker.cfg.linux64.mingw32.jocl"/>
+ </antcall>
+
+ <echo message=" - - - JOCL natives cross-compiled - - - "/>
+
+ </target>
+
+
+ <target name="configure.crosscompiler">
+ <linker id="linker.cfg.linux64.mingw64.jocl" extends="linker.cfg.linux64.mingw64">
+ <syslibset dir="${basedir}/lib/OpenCL/linux/amd64" libs="OpenCL"/>
+ </linker>
+
+ <linker id="linker.cfg.linux64.mingw32.jocl" extends="linker.cfg.linux64.mingw32">
+ <syslibset dir="${basedir}/lib/OpenCL/linux/x86" libs="OpenCL"/>
+ </linker>
+ </target>
+
+</project> \ No newline at end of file