aboutsummaryrefslogtreecommitdiff
path: root/prescheme-nim-local/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'prescheme-nim-local/build.sh')
-rwxr-xr-xprescheme-nim-local/build.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/prescheme-nim-local/build.sh b/prescheme-nim-local/build.sh
new file mode 100755
index 0000000..86129e4
--- /dev/null
+++ b/prescheme-nim-local/build.sh
@@ -0,0 +1,28 @@
+# Load guix shell first with
+#
+# . .guix-shell
+
+export prescheme=/home/wrk/iwrk/opensource/lisp/contrib/prescheme/bin/prescheme
+$prescheme < prescheme-compile.scm # return value is meaningless
+
+# gcc hello.c $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a
+# gcc -g vec.c $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a
+sed -i '/struct gsl_vector {$/{n;s/^};//;}' openblas.c
+sed -i 's/struct gsl_vector {//' openblas.c
+sed -i 's/struct //g' openblas.c
+
+sed -i '/struct m256d {$/{n;s/^};//;}' simde.c
+sed -i 's/struct m256d {//' simde.c
+sed -i 's/struct m256d \*/simde__m256d /' simde.c
+sed -i 's/struct //g' simde.c
+
+rm -f openblas-test
+rm -f simde-test
+gcc -g openblas.c $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a -lgsl -lgslcblas -oopenblas-test || exit 2
+./openblas-test
+# simde and avx512
+gcc -Icontrib/simde -mavx -o avx-test avx.c && ./avx-test
+gcc -g -mavx simde.c -Icontrib/simde/ $LIBRARY_PATH/scheme48-1.9.2/libprescheme.a -osimde-test || exit 2
+./openblas-test
+
+./simde-test