summaryrefslogtreecommitdiff
path: root/lang/J/files/patch-make_build__libj.sh
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2018-04-08 09:41:15 +0000
committerKurt Jaeger <pi@FreeBSD.org>2018-04-08 09:41:15 +0000
commitc83a73ccc887622e8f5839c2f681c5b28506f19e (patch)
treecca1662f9c7f5245a7854691bedfa0f13b506c08 /lang/J/files/patch-make_build__libj.sh
parent- Add LICENSE (diff)
New port: lang/J
J (J language) is a high-level, general-purpose, high-performance programming language. J is portable and runs on 32/64-bit Windows/Linux/Mac as well as iOS, Android, and other platforms. WWW: http://www.jsoftware.com PR: 226186 Submitted by: Joao Neves <sevenjp@gmail.com>
Notes
Notes: svn path=/head/; revision=466786
Diffstat (limited to 'lang/J/files/patch-make_build__libj.sh')
-rw-r--r--lang/J/files/patch-make_build__libj.sh77
1 files changed, 77 insertions, 0 deletions
diff --git a/lang/J/files/patch-make_build__libj.sh b/lang/J/files/patch-make_build__libj.sh
new file mode 100644
index 000000000000..c35af47fb73a
--- /dev/null
+++ b/lang/J/files/patch-make_build__libj.sh
@@ -0,0 +1,77 @@
+--- make/build_libj.sh.orig 2018-02-24 19:49:42 UTC
++++ make/build_libj.sh
+@@ -1,7 +1,6 @@
+ #!/usr/local/bin/bash
+ # $1 is j32 or j64
+-cd ~
+-. jvars.sh
++. make/jvars.sh
+
+ # gcc 5 vs 4 - killing off linux asm routines (overflow detection)
+ # new fast code uses builtins not available in gcc 4
+@@ -38,10 +37,10 @@ fi
+
+ if [ "x$COMPILER" = x'gcc' ] ; then
+ # gcc
+-common="$OPENMP -fPIC -O1 -fwrapv -fno-strict-aliasing -Wextra -Wno-maybe-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-clobbered -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-shift-negative-value"
++common="$OPENMP -fPIC -fwrapv -fno-strict-aliasing -Wextra -Wno-maybe-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-clobbered -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-shift-negative-value"
+ else
+ # clang 3.5 .. 5.0
+-common="$OPENMP -Werror -fPIC -O1 -fwrapv -fno-strict-aliasing -Wextra -Wno-consumed -Wno-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-unsequenced -Wno-string-plus-int"
++common="$OPENMP -Werror -fPIC -fwrapv -fno-strict-aliasing -Wextra -Wno-consumed -Wno-uninitialized -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-unsequenced -Wno-string-plus-int"
+ fi
+ darwin="$OPENMP -fPIC -O1 -fwrapv -fno-strict-aliasing -Wno-string-plus-int -Wno-empty-body -Wno-unsequenced -Wno-unused-value -Wno-pointer-sign -Wno-parentheses -Wno-return-type -Wno-constant-logical-operand -Wno-comment -Wno-unsequenced"
+
+@@ -55,19 +54,19 @@ TARGET=libj.so
+ COMPILE="$common -m32 -msse2 -mfpmath=sse -DC_NOMULTINTRINSIC "
+ # slower, use 387 fpu and truncate extra precision
+ # COMPILE="$common -m32 -ffloat-store "
+-LINK=" -shared -Wl,-soname,libj.so -m32 -lm -ldl $LDOPENMP32 -o libj.so "
++LINK=" -shared -Wl,-soname,libj.so -m32 -lm $LDOPENMP32 -o libj.so "
+ ;;
+
+ linux_j64) # linux intel 64bit
+ TARGET=libj.so
+ COMPILE="$common "
+-LINK=" -shared -Wl,-soname,libj.so -lm -ldl $LDOPENMP -o libj.so "
++LINK=" -shared -Wl,-soname,libj.so -lm $LDOPENMP -o libj.so "
+ ;;
+
+ linux_j64avx) # linux intel 64bit avx
+ TARGET=libj.so
+ COMPILE="$common -mavx -DC_AVX=1 "
+-LINK=" -shared -Wl,-soname,libj.so -lm -ldl $LDOPENMP -o libj.so "
++LINK=" -shared -Wl,-soname,libj.so -lm $LDOPENMP -o libj.so "
+ OBJS_FMA=" blis/gemm_int-fma.o "
+ ;;
+
+@@ -102,6 +101,29 @@ LINK=" -dynamiclib -lm -ldl $LDOPENMP -m
+ OBJS_FMA=" blis/gemm_int-fma.o "
+ ;;
+
++freebsd_j32) # freebsd x86
++TARGET=libj.so
++# faster, but sse2 not available for 32-bit amd cpu
++# sse does not support mfpmath=sse in 32-bit gcc
++COMPILE="$common -m32 -msse2 -mfpmath=sse -DC_NOMULTINTRINSIC "
++# slower, use 387 fpu and truncate extra precision
++# COMPILE="$common -m32 -ffloat-store "
++LINK=" -shared -Wl,-soname,libj.so -m32 -lm $LDOPENMP32 -o libj.so "
++;;
++
++freebsd_j64) # freebsd intel 64bit
++TARGET=libj.so
++COMPILE="$common "
++LINK=" -shared -Wl,-soname,libj.so -lm $LDOPENMP -o libj.so "
++;;
++
++freebsd_j64avx) # freebsd intel 64bit avx
++TARGET=libj.so
++COMPILE="$common -mavx -DC_AVX=1 "
++LINK=" -shared -Wl,-soname,libj.so -lm $LDOPENMP -o libj.so "
++OBJS_FMA=" blis/gemm_int-fma.o "
++;;
++
+ *)
+ echo no case for those parameters
+ exit