diff options
Diffstat (limited to 'crosscompiler.xml')
-rw-r--r-- | crosscompiler.xml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/crosscompiler.xml b/crosscompiler.xml new file mode 100644 index 0000000..2b9df49 --- /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 |