diff options
-rw-r--r-- | build.xml | 79 | ||||
-rw-r--r-- | crosscompiler.xml | 88 |
2 files changed, 92 insertions, 75 deletions
@@ -78,76 +78,11 @@ </target> + <target name="-post-compile" depends="c.compile.default" /> - <target name="-post-compile" depends="cross-compile-on-linux64, c.compile.default" /> - - <target name="c.compile.default" depends="gluegen.cpptasks.detect.os, c.compile" /> - - <!-- crosscompiles to other platforms, requirement: linux64 host os --> - <target name="cross-compile-on-linux64" if="crosscompile" depends="init"> - - <echo message=" - - - cross-compiling JOCL natives - - - "/> - - <antcall target="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="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> - - <!-- TODO remove hardcoded path --> - <property name="java.includes.dir.windows" value="/media/store/JOCLSetup/win32"/> - - <!-- use mingw crosscompiler to compile for win32 and win64 (linux64 only) --> - <antcall target="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="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 name="c.compile.default" depends="gluegen.cpptasks.detect.os, jocl.c.compile" /> - </target> - - - <target name="c.compile" depends="c.setup.build"> + <target name="jocl.c.compile" depends="c.setup.build"> <echo message=" - - - compiling JOCL natives - - - "/> <echo message="${compiler.cfg.id}"/> @@ -206,6 +141,7 @@ <!-- linker configuration --> <target name="jocl.configure.linker"> + <linker id="linker.cfg.linux.jocl" extends="linker.cfg.linux"> <syslibset dir="/usr/lib" libs="OpenCL"/> </linker> @@ -224,13 +160,6 @@ <linkerarg value="OpenCL" /> </linker> - <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> <!-- configure for current platform --> 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 |