summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/Makefile1
-rw-r--r--java/aparapi/Makefile34
-rw-r--r--java/aparapi/distinfo3
-rw-r--r--java/aparapi/files/patch-build.xml13
-rw-r--r--java/aparapi/files/patch-com.amd.aparapi.jni_build.xml156
-rw-r--r--java/aparapi/files/patch-com.amd.aparapi.jni_src_cpp_Common.h11
-rw-r--r--java/aparapi/files/patch-com.amd.aparapi_src_java_com_amd_aparapi_internal_opencl_OpenCLLoader.java15
-rw-r--r--java/aparapi/pkg-descr8
-rw-r--r--java/aparapi/pkg-plist2
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