From 619357571565985b73f7f4ff02df905cbe1443f9 Mon Sep 17 00:00:00 2001 From: Oren Segal <oren_segal@student.uml.edu> Date: Sat, 11 Jul 2015 11:22:25 -0400 Subject: [PATCH] Integrated wagnerse contribution to improve and generalize altera ocl build procedure --- ...ltera_ocl.xml => build_altera_ocl_v14.xml} | 34 +- ...atech_ocl.xml => build_altera_ocl_v15.xml} | 35 +- .../build_altera_terasic_ocl.xml | 893 ------------------ 3 files changed, 43 insertions(+), 919 deletions(-) rename src/aparapi/com.amd.aparapi.jni/{build_altera_ocl.xml => build_altera_ocl_v14.xml} (96%) rename src/aparapi/com.amd.aparapi.jni/{build_altera_nallatech_ocl.xml => build_altera_ocl_v15.xml} (97%) delete mode 100644 src/aparapi/com.amd.aparapi.jni/build_altera_terasic_ocl.xml diff --git a/src/aparapi/com.amd.aparapi.jni/build_altera_ocl.xml b/src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v14.xml similarity index 96% rename from src/aparapi/com.amd.aparapi.jni/build_altera_ocl.xml rename to src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v14.xml index 71bd1158..881ab72b 100644 --- a/src/aparapi/com.amd.aparapi.jni/build_altera_ocl.xml +++ b/src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v14.xml @@ -6,6 +6,8 @@ First consider editing the properties in build.properties --> <project name="com.amd.aparapi.jni" default="build" basedir="."> + <property file="build.properties"/> + <!-- DO NOT EDIT BELOW THIS LINE --> @@ -66,7 +68,20 @@ First consider editing the properties in build.properties </condition> <echo message=" amd.app.sdk.dir ${amd.app.sdk.dir}"/> - + + <!-- !!! wagnerse add -> automatically get the gcc compile arguments for the Altera OpenCL --> + <exec executable="aocl" outputproperty="altera.opencl.sdk.compileconfig" failonerror="true"> + <arg line="compile-config"/> + </exec> + + <echo message=" AOCL Compile configuration: ${altera.opencl.sdk.compileconfig}"/> + + <!-- !!! wagnerse add -> automatically get the gcc link arguments for the Altera OpenCL --> + <exec executable="aocl" outputproperty="altera.opencl.sdk.linkconfig" failonerror="true"> + <arg line="link-config"/> + </exec> + + <echo message=" AOCL Link configuration: ${altera.opencl.sdk.linkconfig}"/> <!-- !!! 11.11.14 oren change -> detect Altera OpenCL SDK Board Package root --> <available property="linux.amd.app.bsp.exists" file="${env.AOCL_BOARD_PACKAGE_ROOT}" type="dir"/> @@ -656,17 +671,12 @@ First consider editing the properties in build.properties <arg value="src/cpp/classtools.cpp" /> <arg value="src/cpp/JNIHelper.cpp" /> <arg value="src/cpp/agent.cpp" /> - <!-- 11.1.14 Nallatch old -> <arg value="-L${amd.app.sdk.dir}/linux64/lib" /> --> - <arg value="-L${amd.app.bsp.dir}/linux64/lib" /> - <arg value="-L${amd.app.sdk.dir}/host/linux64/lib" /> - <arg value="-lalterahalmmd" /> - <!-- 11.1.14 Nallatch old -> <arg value="-lalterammdpcie" /> --> - <arg value="-laltera_apb_14_0_mmd" /> - <!-- 11.1.14 Nallatch old -><arg value="-lpkg_editor" /> --> - <arg value="-lalteracl" /> - <arg value="-lelf" /> - <arg value="-lrt" /> - <arg value="-lstdc++" /> + <!-- !!! wagnerse -> Use compile and link configuration from aocl --> + <arg line="${altera.opencl.sdk.compileconfig}"/> + <!-- !!! oren -> no ICD in version 14, should not link to standard opencl lib --> + <!-- !!! <arg value="-lOpenCL"/> --> + <arg line="${altera.opencl.sdk.linkconfig}"/> + <arg line="-Wl,--export-dynamic"/> </exec> </target> diff --git a/src/aparapi/com.amd.aparapi.jni/build_altera_nallatech_ocl.xml b/src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v15.xml similarity index 97% rename from src/aparapi/com.amd.aparapi.jni/build_altera_nallatech_ocl.xml rename to src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v15.xml index 72f8a9b4..779ee17b 100644 --- a/src/aparapi/com.amd.aparapi.jni/build_altera_nallatech_ocl.xml +++ b/src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v15.xml @@ -6,6 +6,8 @@ First consider editing the properties in build.properties --> <project name="com.amd.aparapi.jni" default="build" basedir="."> + <property file="build.properties"/> + <!-- DO NOT EDIT BELOW THIS LINE --> @@ -66,7 +68,20 @@ First consider editing the properties in build.properties </condition> <echo message=" amd.app.sdk.dir ${amd.app.sdk.dir}"/> - + + <!-- !!! wagnerse add -> automatically get the gcc compile arguments for the Altera OpenCL --> + <exec executable="aocl" outputproperty="altera.opencl.sdk.compileconfig" failonerror="true"> + <arg line="compile-config"/> + </exec> + + <echo message=" AOCL Compile configuration: ${altera.opencl.sdk.compileconfig}"/> + + <!-- !!! wagnerse add -> automatically get the gcc link arguments for the Altera OpenCL --> + <exec executable="aocl" outputproperty="altera.opencl.sdk.linkconfig" failonerror="true"> + <arg line="link-config"/> + </exec> + + <echo message=" AOCL Link configuration: ${altera.opencl.sdk.linkconfig}"/> <!-- !!! 11.11.14 oren change -> detect Altera OpenCL SDK Board Package root --> <available property="linux.amd.app.bsp.exists" file="${env.AOCL_BOARD_PACKAGE_ROOT}" type="dir"/> @@ -656,19 +671,11 @@ First consider editing the properties in build.properties <arg value="src/cpp/classtools.cpp" /> <arg value="src/cpp/JNIHelper.cpp" /> <arg value="src/cpp/agent.cpp" /> - <!-- 11.1.14 Nallatch old -> <arg value="-L${amd.app.sdk.dir}/linux64/lib" /> --> - <arg value="-L${amd.app.bsp.dir}/linux64/lib" /> - <arg value="-L${amd.app.sdk.dir}/host/linux64/lib" /> - <arg value="-lalterahalmmd" /> - <!-- 5.9.15 Nallatch -> --> - <arg value="-lnalla_pcie_mmd" /> - <!-- Terasic -> --> - <!-- 5.9.15 terasic specific -> <arg value="-laltera_apb_14_0_mmd" /> --> - <!-- 11.1.14 Nallatch old -><arg value="-lpkg_editor" /> --> - <arg value="-lalteracl" /> - <arg value="-lelf" /> - <arg value="-lrt" /> - <arg value="-lstdc++" /> + <!-- !!! wagnerse -> Use compile and link configuration from aocl --> + <arg line="${altera.opencl.sdk.compileconfig}"/> + <arg value="-lOpenCL"/> + <arg line="${altera.opencl.sdk.linkconfig}"/> + <arg line="-Wl,--export-dynamic"/> </exec> </target> diff --git a/src/aparapi/com.amd.aparapi.jni/build_altera_terasic_ocl.xml b/src/aparapi/com.amd.aparapi.jni/build_altera_terasic_ocl.xml deleted file mode 100644 index 71bd1158..00000000 --- a/src/aparapi/com.amd.aparapi.jni/build_altera_terasic_ocl.xml +++ /dev/null @@ -1,893 +0,0 @@ -<?xml version="1.0"?> - -<!-- -You should not have to edit this file -First consider editing the properties in build.properties ---> -<project name="com.amd.aparapi.jni" default="build" basedir="."> - - <!-- - DO NOT EDIT BELOW THIS LINE - --> - <echo>OS Name: ${os.name}</echo> - <echo>OS Version: ${os.version}</echo> - <echo>OS Arch: ${os.arch}</echo> - - <!--<property name="build.compiler" value="javac1.6"/>--> - <!-- <property name="ant.build.javac.source" value="1.6"/>--> - <!-- <property name="ant.build.javac.target" value="1.6"/> --> - - <property environment="env" /> - <!-- we need env.PATH for msvc only --> - - <!-- uncomment this if you want to use mingw! --> - <!--<property name="mingw.dir" value="c:\\MinGW"/>--> - - <target name="init"> - <available property="win32.amd.app.sdk.exists" file="C:/Program Files/AMD APP" type="dir"/> - - <condition property="amd.app.sdk.dir" value="C:/Program Files/AMD APP"> - <and> - <os family="windows" /> - <isset property="win32.amd.app.sdk.exists" /> - <not> - <isset property="amd.app.sdk.dir" /> - </not> - </and> - </condition> - - <available property="win64.amd.app.sdk.exists" file="C:/Program Files (x86)/AMD APP" type="dir"/> - <condition property="amd.app.sdk.dir" value="C:/Program Files (x86)/AMD APP"> - <and> - <os family="windows" /> - <isset property="win64.amd.app.sdk.exists" /> - <not> - <isset property="win32.amd.app.sdk.exists" /> - </not> - </and> - </condition> - - <!-- !!! oren change -> detect Altera OpenCL SDK --> - <available property="linux.amd.app.sdk.exists" file="${env.ALTERAOCLSDKROOT}" type="dir"/> - <condition property="amd.app.sdk.dir" value="${env.ALTERAOCLSDKROOT}"> - <and> - <os family="unix" /> - <not> - <os family="mac" /> - </not> - <isset property="linux.amd.app.sdk.exists" /> - <not> - <isset property="win32.amd.app.sdk.exists" /> - </not> - <not> - <isset property="win64.amd.app.sdk.exists" /> - </not> - </and> - </condition> - - <echo message=" amd.app.sdk.dir ${amd.app.sdk.dir}"/> - - - <!-- !!! 11.11.14 oren change -> detect Altera OpenCL SDK Board Package root --> - <available property="linux.amd.app.bsp.exists" file="${env.AOCL_BOARD_PACKAGE_ROOT}" type="dir"/> - <condition property="amd.app.bsp.dir" value="${env.AOCL_BOARD_PACKAGE_ROOT}"> - <and> - <os family="unix" /> - <not> - <os family="mac" /> - </not> - <isset property="linux.amd.app.bsp.exists" /> - <not> - <isset property="win32.amd.app.sdk.exists" /> - </not> - <not> - <isset property="win64.amd.app.sdk.exists" /> - </not> - </and> - </condition> - - <echo message=" amd.app.bsp.dir ${amd.app.bsp.dir}"/> - - <!-- Check for Visual Studio --> - <!-- This needs to be in descending order to properly handle multiple installations --> - - <available property="msvc.32.11.0.exists" file="c:/Program Files (x86)/Microsoft Visual Studio 11.0\VC\bin" type="dir"/> - <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 11.0"> - <and> - <not> - <or> - <os arch="x86" /> - <os arch="i386" /> - </or> - </not> - <os family="windows" /> - <isset property="msvc.32.11.0.exists" /> - <not> - <isset property="msvc.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.64.10.0.exists" file="c:/Program Files/Microsoft Visual Studio 10.0\vc\bin" type="dir"/> - <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 10.0"> - <and> - <or> - <os arch="x86" /> - <os arch="i386" /> - </or> - <os family="windows" /> - <isset property="msvc.64.10.0.exists" /> - <not> - <isset property="msvc.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.32.10.0.exists" file="c:/Program Files (x86)/Microsoft Visual Studio 10.0\vc\bin" type="dir"/> - <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 10.0"> - <and> - <not> - <or> - <os arch="x86" /> - <os arch="i386" /> - </or> - </not> - <os family="windows" /> - <isset property="msvc.32.10.0.exists" /> - <not> - <isset property="msvc.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.32.9.0.exists" file="c:/Program Files/Microsoft Visual Studio 9.0\vc\bin" type="dir"/> - <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 9.0"> - <and> - <or> - <os arch="x86" /> - <os arch="i386" /> - </or> - <os family="windows" /> - <isset property="msvc.32.9.0.exists" /> - <not> - <isset property="msvc.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <!-- Check for SDKs --> - <!-- This needs to be in descending order to properly handle multiple installations --> - - <!-- <available property="msvc.sdk.8.0A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0A" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0A"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.8.0A.32.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.8.0.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.8.0.32.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> --> - - <available property="msvc.sdk.7.1A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1A" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.1A"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.7.1A.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.7.1A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.7.1A.32.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.7.1.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.1"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.7.1.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.7.1.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.7.1.32.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.7.0A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.0A" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.0A"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.7.0A.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.7.0A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.7.0A.32.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.7.0.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.0" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.0"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.7.0.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <available property="msvc.sdk.6.0A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v6.0A" type="dir"/> - <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v6.0A"> - <and> - <os family="windows" /> - <isset property="msvc.sdk.6.0A.exists" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - <not> - <isset property="mingw.dir" /> - </not> - </and> - </condition> - - <echo message=" msvc.dir ${msvc.dir}"/> - <echo message=" msvc.sdk.dir ${msvc.sdk.dir}"/> - </target> - - <target name="check" depends="init"> - - <fail message="Error:"> - <condition> - <and> - <os family="windows" /> - <isset property="msvc.dir" /> - <not> - <isset property="msvc.sdk.dir" /> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - At present msvc.dir seems to be Configured but not msvc.sdk.dir - ]]> - </fail> - - <fail message="Error:"> - <condition> - <and> - <os family="windows" /> - <not> - <isset property="msvc.dir" /> - </not> - <isset property="msvc.sdk.dir" /> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - At present msvc.sdk.dir seems to be Configured but not msvc.dir - ]]> - </fail> - <available file="${msvc.dir}" type="dir" property="msvc.dir.exists" /> - <available file="${msvc.sdk.dir}" type="dir" property="msvc.sdk.dir.exists" /> - - <fail message="Error:"> - <condition> - <and> - <os family="windows" /> - <isset property="msvc.dir" /> - <not> - <isset property="msvc.dir.exists" /> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - At present msvc.dir is set (to ${msvc.dir}) but that dir does not exist - ]]> - </fail> - <fail message="Error:"> - <condition> - <and> - <os family="windows" /> - <isset property="msvc.sdk.dir" /> - <not> - <isset property="msvc.sdk.dir.exists" /> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - At present msvc.sdk.dir is set (to ${msvc.sdk.dir}) but that dir does not exist - ]]> - </fail> - - - <available file="${mingw.dir}" type="dir" property="mingw.dir.exists" /> - <fail message="Error:"> - <condition> - <and> - <os family="windows" /> - <isset property="mingw.dir" /> - <not> - <isset property="mingw.dir.exists" /> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - At present mingw.dir is set (to ${mingw.dir}) but that dir does not exist - ]]> - </fail> - <!--<echo message="java.home ${java.home}"/>--> - <!--<echo message="msvc.dir.exists ${msvc.dir.exists}"/>--> - <!--<echo message="msvc.sdk.dir.exists ${msvc.sdk.dir.exists}"/>--> - <!--<echo message="mingw.dir.exists ${mingw.dir.exists}"/>--> - <condition property="use.msvc"> - <and> - <os family="windows" /> - <isset property="msvc.dir.exists" /> - <isset property="msvc.sdk.dir.exists" /> - </and> - </condition> - <!--<echo message="use.msvc ${use.msvc}"/>--> - - <condition property="use.mingw"> - <and> - <os family="windows" /> - <isset property="mingw.dir.exists" /> - </and> - </condition> - <!--<echo message="use.mingw ${use.mingw}"/>--> - - <fail message="Error:"> - <condition> - <and> - <isset property="use.mingw" /> - <isset property="use.msvc" /> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - At present ant is Configured for both MinGW AND Microsoft Visual Studio. You need to pick one or the other :) ! - - Just comment out the properties for the compiler that you *do not* wish to use. - ]]> - </fail> - - <fail message="Error:"> - <condition> - <and> - <os family="windows" /> - <not> - <or> - <isset property="use.mingw" /> - <isset property="use.msvc" /> - </or> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - This looks like a windows machine so you probably need to Configure either:- - - * msvc.dir and msvc.sdk.dir if you wish to use Microsoft Visual Studio compiler - - * mingw.dir if you prefer if you prefer to use MinGW - ]]> - </fail> - - <condition property="use.gcc"> - <and> - <os family="unix" /> - <not> - <os family="mac" /> - </not> - </and> - </condition> - - <condition property="use.gcc_mac"> - <os family="mac" /> - </condition> - - <condition property="x86_or_x86_64" value="x86" else="x86_64"> - <or> - <os arch="x86" /> - <os arch="i386" /> - </or> - </condition> - - <condition property="optional.amd64.subdir" value="" else="amd64\"> - <or> - <os arch="x86" /> - <os arch="i386" /> - </or> - </condition> - - <condition property="optional.x64.subdir" value="" else="x64\"> - <or> - <os arch="x86" /> - <os arch="i386" /> - </or> - </condition> - - - <available file="${msvc.dir}\vc\bin\${optional.amd64.subdir}cl.exe" type="file" property="cl.exists" /> - - <fail message="Error:"> - <condition> - <and> - <isset property="use.msvc" /> - <not> - <isset property="cl.exists" /> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - Could not find vc\bin\${optional.amd64.subdir}cl under Configured msvc.dir. Check if msvc.dir is pointing - to a valid visual studio installation - ]]> - </fail> - - <fail message="Error:"> - <condition> - <and> - <not> - <os family="mac" /> - </not> - <not> - <isset property="amd.app.sdk.dir" /> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - You need to set amd.app.sdk.dir to point to the location where AMD APP SDK is installed - ]]> - </fail> - <available file="${amd.app.sdk.dir}" type="dir" property="amd.app.sdk.dir.exists" /> - - <fail message="Error:"> - <condition> - <and> - <not> - <os family="mac" /> - </not> - <not> - <isset property="amd.app.sdk.dir.exists" /> - </not> - </and> - </condition> - <![CDATA[ - You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code - - At present amd.app.sdk.dir is set (to ${amd.app.sdk.dir}) but that dir does not exist - ]]> - </fail> - </target> - - <target name="clean" depends="check"> - <delete dir="include" /> - <delete dir="${basedir}/dist" /> - <!-- Legacy cleanup --> - <delete file="libaparapi_${x86_or_x86_64}.dylib" /> - <delete file="libaparapi_${x86_or_x86_64}.so" /> - <delete file="aparapi_${x86_or_x86_64}.dll" /> - <delete file="aparapi.dll" /> - <delete file="aparapi.obj" /> - <delete file="aparapi.o" /> - <delete file="aparapi.lib" /> - <delete file="aparapi.exp" /> - <delete file="OpenCLJNI.obj" /> - <delete file="OpenCLJNI.o" /> - <delete file="Config.obj" /> - <delete file="Config.o" /> - <delete file="ProfileInfo.obj" /> - <delete file="ProfileInfo.o" /> - <delete file="ArrayBuffer.obj" /> - <delete file="ArrayBuffer.o" /> - <delete file="AparapiBuffer.obj" /> - <delete file="AparapiBuffer.o" /> - <delete file="JNIHelper.obj" /> - <delete file="JNIHelper.o" /> - <delete file="CLHelper.obj" /> - <delete file="CLHelper.o" /> - <delete file="JNIContext.obj" /> - <delete file="JNIContext.o" /> - <delete file="KernelArg.obj" /> - <delete file="KernelArg.o" /> - <delete file="Range.obj" /> - <delete file="Range.o" /> - <delete file="OpenCLArgDescriptor.obj" /> - <delete file="OpenCLArgDescriptor.o" /> - <delete file="agent.obj" /> - <delete file="agent.o" /> - <delete file="classtools.obj" /> - <delete file="classtools.o" /> - <delete file="OpenCLMem.obj" /> - <delete file="OpenCLMem.o" /> - </target> - - <target name="javah"> - <mkdir dir="include" /> - <javah classpath="..\com.amd.aparapi\classes" destdir="include" force="true"> - <class name="com.amd.aparapi.internal.jni.ConfigJNI" /> - <class name="com.amd.aparapi.internal.jni.KernelArgJNI" /> - <class name="com.amd.aparapi.internal.jni.KernelRunnerJNI" /> - <class name="com.amd.aparapi.internal.jni.OpenCLJNI" /> - <class name="com.amd.aparapi.internal.jni.RangeJNI" /> - <!-- Non-Native Classes --> - <class name="com.amd.aparapi.Kernel"/> - <class name="com.amd.aparapi.Range"/> - <class name="com.amd.aparapi.Config" /> - <class name="com.amd.aparapi.device.Device" /> - <class name="com.amd.aparapi.device.OpenCLDevice" /> - <class name="com.amd.aparapi.internal.kernel.KernelRunner"/> - <class name="com.amd.aparapi.internal.opencl.OpenCLArgDescriptor" /> - <class name="com.amd.aparapi.internal.opencl.OpenCLMem" /> - </javah> - </target> - - - <target name="gcc" if="use.gcc"> - <mkdir dir="${basedir}/dist"/> - <echo message="linuxcc ${os.arch}" /> - <exec executable="g++"> - <!-- !!! oren change -> add debug info, no optimizations - <arg value="-O3" /> - <arg value="-O0" /> - --> - <arg value="-O3" /> - <arg value="-g" /> - <arg value="-fPIC" /> - <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> - <arg value="-DALTERA_OPENCL"/> - <arg value="-I${java.home}/../include" /> - <arg value="-I${java.home}/../include/linux" /> - <arg value="-Iinclude" /> - <arg value="-I${amd.app.sdk.dir}/host/include" /> - <arg value="-Isrc/cpp" /> - <arg value="-Isrc/cpp/runKernel" /> - <arg value="-Isrc/cpp/invoke" /> - <arg value="-shared" /> - <arg value="-o"/> - <arg value="${basedir}/dist/libaparapi_${x86_or_x86_64}.so" /> - <arg value="src/cpp/runKernel/Aparapi.cpp" /> - <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> - <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> - <arg value="src/cpp/runKernel/Config.cpp" /> - <arg value="src/cpp/runKernel/JNIContext.cpp" /> - <arg value="src/cpp/runKernel/KernelArg.cpp" /> - <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> - <arg value="src/cpp/runKernel/Range.cpp" /> - <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> - <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> - <arg value="src/cpp/invoke/OpenCLMem.cpp" /> - <arg value="src/cpp/CLHelper.cpp" /> - <arg value="src/cpp/classtools.cpp" /> - <arg value="src/cpp/JNIHelper.cpp" /> - <arg value="src/cpp/agent.cpp" /> - <!-- 11.1.14 Nallatch old -> <arg value="-L${amd.app.sdk.dir}/linux64/lib" /> --> - <arg value="-L${amd.app.bsp.dir}/linux64/lib" /> - <arg value="-L${amd.app.sdk.dir}/host/linux64/lib" /> - <arg value="-lalterahalmmd" /> - <!-- 11.1.14 Nallatch old -> <arg value="-lalterammdpcie" /> --> - <arg value="-laltera_apb_14_0_mmd" /> - <!-- 11.1.14 Nallatch old -><arg value="-lpkg_editor" /> --> - <arg value="-lalteracl" /> - <arg value="-lelf" /> - <arg value="-lrt" /> - <arg value="-lstdc++" /> - </exec> - </target> - - <target name="gcc_mac" if="use.gcc_mac"> - <mkdir dir="${basedir}/dist"/> - <echo message="gcc ${os.arch}" /> - <exec executable="g++"> - <arg value="-O3" /> - <arg value="-g" /> - <arg value="-fPIC" /> - <!-- <arg value="-fopenmp"/> --> - <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> - <arg value="-I/System/Library/Frameworks/JavaVM.framework/Headers" /> - <arg value="-Iinclude" /> - <arg value="-Isrc/cpp" /> - <arg value="-Isrc/cpp/runKernel" /> - <arg value="-Isrc/cpp/invoke" /> - <arg value="-shared" /> - <arg value="-o" /> - <arg value="${basedir}/dist/libaparapi_${x86_or_x86_64}.dylib" /> - <arg value="src/cpp/runKernel/Aparapi.cpp" /> - <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> - <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> - <arg value="src/cpp/runKernel/Config.cpp" /> - <arg value="src/cpp/runKernel/JNIContext.cpp" /> - <arg value="src/cpp/runKernel/KernelArg.cpp" /> - <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> - <arg value="src/cpp/runKernel/Range.cpp" /> - <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> - <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> - <arg value="src/cpp/invoke/OpenCLMem.cpp" /> - <arg value="src/cpp/CLHelper.cpp" /> - <arg value="src/cpp/classtools.cpp" /> - <arg value="src/cpp/JNIHelper.cpp" /> - <arg value="src/cpp/agent.cpp" /> - <arg value="-framework" /> - <arg value="OpenCL" /> - <arg value="-Wno-write-strings" /> - </exec> - </target> - - <target name="msvc" if="use.msvc"> - <mkdir dir="${basedir}\dist"/> - <echo message="msvc ${os.arch}" /> - <exec executable="${msvc.dir}\vc\bin\${optional.amd64.subdir}cl.exe"> - <env key="PATH" path="${env.PATH};${msvc.dir}\\Common7\\IDE" /> - <arg value="/nologo" /> - <arg value="/TP" /> - <arg value="/Ox" /> - <!-- <arg value="/openmp" /> --> - <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> - <arg value="/EHsc" /> - <arg value="/I${msvc.dir}\vc\include" /> - <arg value="/I${msvc.sdk.dir}\include" /> - <arg value="/I${java.home}\..\include" /> - <arg value="/I${java.home}\..\include\win32" /> - <arg value="/Iinclude" /> - <arg value="/I${amd.app.sdk.dir}\include" /> - <arg value="/Isrc/cpp" /> - <arg value="/Isrc/cpp/runKernel" /> - <arg value="/Isrc/cpp/invoke" /> - <arg value="src/cpp/runKernel/Aparapi.cpp" /> - <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> - <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> - <arg value="src/cpp/runKernel/Config.cpp" /> - <arg value="src/cpp/runKernel/JNIContext.cpp" /> - <arg value="src/cpp/runKernel/KernelArg.cpp" /> - <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> - <arg value="src/cpp/runKernel/Range.cpp" /> - <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> - <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> - <arg value="src/cpp/invoke/OpenCLMem.cpp" /> - <arg value="src/cpp/CLHelper.cpp" /> - <arg value="src/cpp/classtools.cpp" /> - <arg value="src/cpp/JNIHelper.cpp" /> - <arg value="src/cpp/agent.cpp" /> - <arg value="/LD" /> - <arg value="/link" /> - <arg value="/libpath:${msvc.dir}\vc\lib\${optional.amd64.subdir}" /> - <arg value="/libpath:${msvc.sdk.dir}\lib\${optional.x64.subdir}" /> - <arg value="/libpath:${amd.app.sdk.dir}\lib\${x86_or_x86_64}" /> - <arg value="OpenCL.lib" /> - <arg value="/out:${basedir}\dist\aparapi_${x86_or_x86_64}.dll" /> - </exec> - </target> - - <target name="mingw" if="use.mingw"> - <mkdir dir="${basedir}\dist"/> - <echo message="mingw ${os.arch}" /> - <exec executable="${mingw.dir}/bin/g++"> - <env key="PATH" path="${env.PATH};${mingw.dir}/bin" /> - <arg value="-Wall" /> - <arg value="-O3" /> - <arg value="-Wl,--kill-at" /> - <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> - <arg value="-I${java.home}\..\include" /> - <arg value="-I${java.home}\..\include\win32" /> - <arg value="-Iinclude" /> - <arg value="-I${amd.app.sdk.dir}\include" /> - <arg value="-Isrc/cpp" /> - <arg value="-Isrc/cpp/runKernel" /> - <arg value="-Isrc/cpp/invoke" /> - <arg value="-shared" /> - <arg value="-o" /> - <arg value="${basedir}\dist\aparapi_${x86_or_x86_64}.dll" /> - <arg value="src/cpp/runKernel/Aparapi.cpp" /> - <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> - <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> - <arg value="src/cpp/runKernel/Config.cpp" /> - <arg value="src/cpp/runKernel/JNIContext.cpp" /> - <arg value="src/cpp/runKernel/KernelArg.cpp" /> - <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> - <arg value="src/cpp/runKernel/Range.cpp" /> - <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> - <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> - <arg value="src/cpp/invoke/OpenCLMem.cpp" /> - <arg value="src/cpp/CLHelper.cpp" /> - <arg value="src/cpp/classtools.cpp" /> - <arg value="src/cpp/JNIHelper.cpp" /> - <arg value="src/cpp/agent.cpp" /> - <arg value="-L${amd.app.sdk.dir}\lib\${x86_or_x86_64}" /> - <arg value="-lOpenCL" /> - </exec> - </target> - - <target name="build" depends="clean, javah, msvc, mingw, gcc, gcc_mac" /> - - <target name="msvc_cltest" if="use.msvc"> - <mkdir dir="${basedir}\dist"/> - <echo message="msvc_cltest ${os.arch}" /> - <exec executable="${msvc.dir}\vc\bin\${optional.amd64.subdir}cl.exe"> - <env key="PATH" path="${env.PATH};${msvc.dir}\\Common7\\IDE" /> - <arg value="/nologo" /> - <arg value="/TP" /> - <arg value="/Ox" /> - <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> - <arg value="/I${msvc.dir}\vc\include" /> - <arg value="/I${msvc.sdk.dir}\include" /> - <arg value="/I${amd.app.sdk.dir}\include" /> - <arg value="/Isrc/cpp" /> - <arg value="/Isrc/cpp/runKernel" /> - <arg value="/Isrc/cpp/invoke" /> - <arg value="src\cpp\CLTest.cpp" /> - <arg value="/link" /> - <arg value="/libpath:${msvc.dir}\vc\lib\${optional.amd64.subdir}" /> - <arg value="/libpath:${msvc.sdk.dir}\lib\${optional.x64.subdir}" /> - <arg value="/libpath:${amd.app.sdk.dir}\lib\${x86_or_x86_64}" /> - <arg value="OpenCL.lib" /> - <arg value="/out:${basedir}/dist/cltest_${x86_or_x86_64}.exe" /> - </exec> - </target> - - <target name="mac_cltest" if="use.gcc_mac"> - <mkdir dir="${basedir}/dist"/> - <echo message="gcc cltest ${os.arch}" /> - <exec executable="g++"> - <arg value="-O3" /> - <arg value="-g" /> - <arg value="-fPIC" /> - <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> - <arg value="-I/System/Library/Frameworks/JavaVM.framework/Headers" /> - <arg value="-Iinclude" /> - <arg value="-Isrc/cpp" /> - <arg value="-Isrc/cpp/runKernel" /> - <arg value="-Isrc/cpp/invoke" /> - <arg value="-o" /> - <arg value="${basedir}/dist/cltest" /> - <arg value="src/cpp/CLTest.cpp" /> - <arg value="-framework" /> - <arg value="OpenCL" /> - </exec> - </target> - - <target name="gcc_cltest" if="use.gcc"> - <mkdir dir="${basedir}/dist"/> - <echo message="gcc cltest ${os.arch}" /> - <exec executable="g++"> - <arg value="-O3" /> - <arg value="-g" /> - <arg value="-fPIC" /> - <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> - <arg value="-I${java.home}/../include" /> - <arg value="-I${java.home}/../include/linux" /> - <arg value="-I${amd.app.sdk.dir}/include" /> - <arg value="src/cpp/cltest.cpp" /> - <arg value="-L${amd.app.sdk.dir}/lib/${x86_or_x86_64}" /> - <arg value="-lOpenCL" /> - <arg value="-o" /> - <arg value="${basedir}/cltest_${x86_or_x86_64}" /> - </exec> - </target> - - <target name="gcc_clt" if="use.gcc"> - <mkdir dir="${basedir}/dist"/> - <echo message="gcc cltest ${os.arch}" /> - <exec executable="g++"> - <arg value="-O3" /> - <arg value="-g" /> - <arg value="-fPIC" /> - <arg value="src/cpp/classtools.cpp" /> - <arg value="src/cpp/classtoolstest.cpp" /> - <arg value="-o" /> - <arg value="${basedir}/clt" /> - </exec> - </target> - - - <target name="mac_clt" if="use.gcc_mac"> - <mkdir dir="${basedir}/dist"/> - <echo message="gcc clt ${os.arch}" /> - <exec executable="g++"> - <arg value="-O3" /> - <arg value="-g" /> - <arg value="-fPIC" /> - <arg value="src/cpp/classtools.cpp" /> - <arg value="src/cpp/classtoolstest.cpp" /> - <arg value="-o" /> - <arg value="${basedir}/clt" /> - </exec> - </target> - - <target name="cltest" depends="check,msvc_cltest,mac_cltest,gcc_cltest" /> - <target name="clt" depends="check,gcc_clt,mac_clt" /> -</project> -- GitLab