aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/pocl.rb54
1 files changed, 54 insertions, 0 deletions
diff --git a/Library/Formula/pocl.rb b/Library/Formula/pocl.rb
new file mode 100644
index 000000000..75d1b25f9
--- /dev/null
+++ b/Library/Formula/pocl.rb
@@ -0,0 +1,54 @@
+require 'formula'
+
+class Pocl < Formula
+ homepage 'http://pocl.sourceforge.net'
+ url 'http://pocl.sourceforge.net/downloads/pocl-0.8.tar.gz'
+ sha1 '773f761bdca4c53654cfc0e59363e01757735c8b'
+
+ depends_on 'pkg-config' => :build
+ depends_on 'hwloc'
+ depends_on 'llvm' => 'with-clang'
+ depends_on :libltdl
+
+ def patches
+ # fix llvm-link command in script with version found by
+ # configure. This should be fixed in 0.9
+ DATA
+ end
+
+ def install
+ ENV.j1
+ system "./configure", "--disable-debug",
+ "--enable-direct-linkage",
+ "--disable-icd",
+ "--enable-testsuites=",
+ "--prefix=#{prefix}"
+ system "make", "install"
+ end
+
+ test do
+ (testpath/'foo.cl').write <<-EOS.undent
+ kernel void foo(int *in, int *out) {
+ int i = get_global_id(0);
+ out[i] = in[i];
+ }
+ EOS
+ system "#{bin}/pocl-standalone -h head.h -o foo.bc foo.cl"
+ system "\"#{Formula.factory('llvm').opt_prefix}/bin/llvm-dis\" < foo.bc | grep foo_workgroup"
+ system "pkg-config pocl --modversion | grep 0.8"
+ end
+end
+
+__END__
+diff --git a/scripts/pocl-standalone.in b/scripts/pocl-standalone.in
+index 739fc4b..9542bf3 100644
+--- a/scripts/pocl-standalone.in
++++ b/scripts/pocl-standalone.in
+@@ -106,7 +106,7 @@ pocl_lib="@abs_top_builddir@/lib/llvmopencl/.libs/llvmopencl.so"
+ full_target_dir="@abs_top_builddir@/lib/kernel/${target_dir}"
+ # END REMOVE ONCE INSTALLED
+
+-llvm-link -o ${linked_bc} ${kernel_bc} ${full_target_dir}/kernel*.bc
++@LLVM_LINK@ -o ${linked_bc} ${kernel_bc} ${full_target_dir}/kernel*.bc
+
+ OPT_SWITCH="-O3"