diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/Makefile | 1 | ||||
-rw-r--r-- | java/aparapi/Makefile | 34 | ||||
-rw-r--r-- | java/aparapi/distinfo | 3 | ||||
-rw-r--r-- | java/aparapi/files/patch-build.xml | 13 | ||||
-rw-r--r-- | java/aparapi/files/patch-com.amd.aparapi.jni_build.xml | 156 | ||||
-rw-r--r-- | java/aparapi/files/patch-com.amd.aparapi.jni_src_cpp_Common.h | 11 | ||||
-rw-r--r-- | java/aparapi/files/patch-com.amd.aparapi_src_java_com_amd_aparapi_internal_opencl_OpenCLLoader.java | 15 | ||||
-rw-r--r-- | java/aparapi/pkg-descr | 8 | ||||
-rw-r--r-- | java/aparapi/pkg-plist | 2 |
9 files changed, 243 insertions, 0 deletions
diff --git a/java/Makefile b/java/Makefile index 245906c6a8fa..87ab0d699444 100644 --- a/java/Makefile +++ b/java/Makefile @@ -3,6 +3,7 @@ COMMENT = Java language support + SUBDIR += aparapi SUBDIR += avis SUBDIR += berkeley-db SUBDIR += bluej diff --git a/java/aparapi/Makefile b/java/aparapi/Makefile new file mode 100644 index 000000000000..5f9a4a502f82 --- /dev/null +++ b/java/aparapi/Makefile @@ -0,0 +1,34 @@ +# Created by: Johannes Dieterich <dieterich@ogolem.org> +# $FreeBSD$ + +PORTNAME= aparapi +PORTVERSION= 1.0.0 +DISTVERSIONSUFFIX= -SNAPSHOT +CATEGORIES= java lang + +MAINTAINER= dieterich@ogolem.org +COMMENT= Open source API for expressing data parallel workflows in Java + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.TXT + +BUILD_DEPENDS= opencl>=0:devel/opencl +LIB_DEPENDS= libOpenCL.so:devel/ocl-icd +RUN_DEPENDS= opencl>=0:devel/opencl + +ONLY_FOR_ARCHS= amd64 i386 + +USE_GITHUB= yes + +USE_JAVA= yes +JAVA_VERSION= 1.7+ +USE_ANT= yes +ALL_TARGET= dist + +USES= dos2unix + +do-install: + (cd ${WRKSRC}/dist_freebsd && ${INSTALL_DATA} aparapi.jar ${STAGEDIR}${JAVAJARDIR}) + (cd ${WRKSRC}/dist_freebsd && ${INSTALL_LIB} libaparapi.so ${STAGEDIR}${PREFIX}/lib) + +.include <bsd.port.mk> diff --git a/java/aparapi/distinfo b/java/aparapi/distinfo new file mode 100644 index 000000000000..d114d3ebbbee --- /dev/null +++ b/java/aparapi/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1466929753 +SHA256 (aparapi-aparapi-1.0.0-SNAPSHOT_GH0.tar.gz) = 4b3a4662476746406f2138e372730a64e566b87a464a767dd878e9794f30101a +SIZE (aparapi-aparapi-1.0.0-SNAPSHOT_GH0.tar.gz) = 5431817 diff --git a/java/aparapi/files/patch-build.xml b/java/aparapi/files/patch-build.xml new file mode 100644 index 000000000000..745db07ec9d3 --- /dev/null +++ b/java/aparapi/files/patch-build.xml @@ -0,0 +1,13 @@ +--- build.xml.orig 2015-09-21 01:20:25 UTC ++++ build.xml +@@ -5,8 +5,9 @@ + + <condition property="x86_or_x86_64" value="x86" else="x86_64"> <or><os arch="x86" /><os arch="i386"/></or> </condition> + <condition property="dist" value="dist_windows_${x86_or_x86_64}"><os family="windows" /></condition> +- <condition property="dist" value="dist_linux_${x86_or_x86_64}"><and><not><os family="mac"/></not><os family="unix" /></and></condition> ++ <condition property="dist" value="dist_linux_${x86_or_x86_64}"><and><not><os family="mac"/></not><not><os name="FreeBSD"/></not><os family="unix" /></and></condition> + <condition property="dist" value="dist_mac_${x86_or_x86_64}"><os family="mac" /></condition> ++ <condition property="dist" value="dist_freebsd"><os name="FreeBSD" /></condition> + + <target name="help"> + <echo message="Available targets are:-"/> diff --git a/java/aparapi/files/patch-com.amd.aparapi.jni_build.xml b/java/aparapi/files/patch-com.amd.aparapi.jni_build.xml new file mode 100644 index 000000000000..1926d39abaa4 --- /dev/null +++ b/java/aparapi/files/patch-com.amd.aparapi.jni_build.xml @@ -0,0 +1,156 @@ +--- com.amd.aparapi.jni/build.xml.orig 2015-09-21 01:20:25 UTC ++++ com.amd.aparapi.jni/build.xml +@@ -71,6 +71,23 @@ First consider editing the properties in + </and> + </condition> + ++ <available property="freebsd.opencl.exists" file="/usr/local/lib/libOpenCL.so" type="file"/> ++ <condition property="amd.app.sdk.dir" value="/usr/local"> ++ <and> ++ <os name="FreeBSD" /> ++ <isset property="freebsd.opencl.exists" /> ++ <not> ++ <isset property="win32.amd.app.sdk.exists" /> ++ </not> ++ <not> ++ <isset property="win64.amd.app.sdk.exists" /> ++ </not> ++ <not> ++ <isset property="linux.amd.app.sdk.exists" /> ++ </not> ++ </and> ++ </condition> ++ + <echo message="amd.app.sdk.dir ${amd.app.sdk.dir}"/> + + <!-- Check for Visual Studio Compiler --> +@@ -300,9 +317,16 @@ First consider editing the properties in + <not> + <os family="mac" /> + </not> ++ <not> ++ <os name="FreeBSD" /> ++ </not> + </and> + </condition> + ++ <condition property="use.clang_freebsd"> ++ <os name="FreeBSD" /> ++ </condition> ++ + <condition property="use.gcc_mac"> + <os family="mac" /> + </condition> +@@ -352,6 +376,9 @@ First consider editing the properties in + <os family="mac" /> + </not> + <not> ++ <os name="FreeBSD" /> ++ </not> ++ <not> + <isset property="amd.app.sdk.dir" /> + </not> + </and> +@@ -485,6 +512,45 @@ First consider editing the properties in + </exec> + </target> + ++ <target name="clang_freebsd" if="use.clang_freebsd"> ++ <mkdir dir="${basedir}/dist"/> ++ <echo message="freebsdcc ${os.arch}" /> ++ <exec executable="clang++" failonerror="true"> ++ <arg value="-m${gcc.m.value}" /> ++ <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/freebsd" /> ++ <arg value="-Iinclude" /> ++ <arg value="-I/usr/local/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.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" /> ++ <arg value="-L/usr/local/lib" /> ++ <arg value="-lOpenCL" /> ++ </exec> ++ </target> ++ + <target name="gcc_mac" if="use.gcc_mac"> + <mkdir dir="${basedir}/dist"/> + <echo message="gcc ${os.arch}" /> +@@ -575,7 +641,7 @@ First consider editing the properties in + </exec> + </target> + +- <target name="build" depends="clean, javah, msvc, gcc, gcc_mac" /> ++ <target name="build" depends="clean, javah, msvc, gcc, gcc_mac, clang_freebsd" /> + + <target name="msvc_cltest" if="use.msvc"> + <mkdir dir="${basedir}\dist"/> +@@ -627,6 +693,24 @@ First consider editing the properties in + </exec> + </target> + ++ <target name="freebsd_cltest" if="use.clang_freebsd"> ++ <mkdir dir="${basedir}/dist"/> ++ <echo message="clang cltest ${os.arch}" /> ++ <exec executable="clang++" failonerror="true"> ++ <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/freebsd" /> ++ <arg value="-I/usr/local/include" /> ++ <arg value="src/cpp/cltest.cpp" /> ++ <arg value="-L/usr/local/lib -lOpenCL" /> ++ <arg value="-o" /> ++ <arg value="${basedir}/dist/cltest" /> ++ </exec> ++ </target> ++ + <target name="gcc_cltest" if="use.gcc"> + <mkdir dir="${basedir}/dist"/> + <echo message="gcc cltest ${os.arch}" /> +@@ -674,6 +758,20 @@ First consider editing the properties in + </exec> + </target> + +- <target name="cltest" depends="check,msvc_cltest,mac_cltest,gcc_cltest" /> +- <target name="clt" depends="check,gcc_clt,mac_clt" /> ++ <target name="freebsd_clt" if="use.clang_freebsd"> ++ <mkdir dir="${basedir}/dist"/> ++ <echo message="clang clt ${os.arch}" /> ++ <exec executable="clang++" failonerror="true"> ++ <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,freebsd_cltest,gcc_cltest" /> ++ <target name="clt" depends="check,gcc_clt,mac_clt,freebsd_clt" /> + </project> diff --git a/java/aparapi/files/patch-com.amd.aparapi.jni_src_cpp_Common.h b/java/aparapi/files/patch-com.amd.aparapi.jni_src_cpp_Common.h new file mode 100644 index 000000000000..a162c7512eb4 --- /dev/null +++ b/java/aparapi/files/patch-com.amd.aparapi.jni_src_cpp_Common.h @@ -0,0 +1,11 @@ +--- com.amd.aparapi.jni/src/cpp/Common.h.orig 2015-09-21 01:20:25 UTC ++++ com.amd.aparapi.jni/src/cpp/Common.h +@@ -44,7 +44,7 @@ + #include <string.h> + #include <time.h> + +-#ifndef __APPLE__ ++#if not defined __APPLE__ && not defined __FreeBSD__ + #include <malloc.h> + #endif + diff --git a/java/aparapi/files/patch-com.amd.aparapi_src_java_com_amd_aparapi_internal_opencl_OpenCLLoader.java b/java/aparapi/files/patch-com.amd.aparapi_src_java_com_amd_aparapi_internal_opencl_OpenCLLoader.java new file mode 100644 index 000000000000..c33b0985d73e --- /dev/null +++ b/java/aparapi/files/patch-com.amd.aparapi_src_java_com_amd_aparapi_internal_opencl_OpenCLLoader.java @@ -0,0 +1,15 @@ +--- com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLLoader.java.orig 2015-09-21 01:20:26 UTC ++++ com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLLoader.java +@@ -26,10 +26,8 @@ public class OpenCLLoader extends OpenCL + logger.fine("arch = " + arch); + String aparapiLibraryName = null; + +- if (arch.equals("amd64") || arch.equals("x86_64")) { +- aparapiLibraryName = "aparapi_x86_64"; +- } else if (arch.equals("x86") || arch.equals("i386")) { +- aparapiLibraryName = "aparapi_x86"; ++ if (arch.equals("amd64") || arch.equals("x86_64") || arch.equals("x86") || arch.equals("i386")) { ++ aparapiLibraryName = "aparapi"; + } else { + logger.warning("Expected property os.arch to contain amd64, x86_64, x86 or i386 but instead found " + arch + + " as a result we don't know which aparapi to attempt to load."); diff --git a/java/aparapi/pkg-descr b/java/aparapi/pkg-descr new file mode 100644 index 000000000000..61e04346fb2a --- /dev/null +++ b/java/aparapi/pkg-descr @@ -0,0 +1,8 @@ +aparapi is an open source API for expressing data parallel workflows in Java. + +Originally an AMD product, Aparapi was released to open source on September +14, 2011. Aparapi is an API for expressing data parallel workloads in Java +and a runtime component capable of converting the Java# bytecode of compatible +workloads into OpenCL# so that it can be executed on a variety of GPU devices. + +WWW: https://github.com/aparapi/aparapi diff --git a/java/aparapi/pkg-plist b/java/aparapi/pkg-plist new file mode 100644 index 000000000000..a19866d643ce --- /dev/null +++ b/java/aparapi/pkg-plist @@ -0,0 +1,2 @@ +lib/libaparapi.so +%%JAVAJARDIR%%/aparapi.jar |