X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fforeign.test.sh;h=2c5d0d309b3c2b9c4e959d671408172454a51925;hb=74cfbf6d0572b7df1b3492563408a7cb3ae103cf;hp=c9989bc6faefc7e38ea8708ea52657c75a1dbf42;hpb=2ff7f7e72730bd5c43f259b7ecf094fbd75ef294;p=sbcl.git diff --git a/tests/foreign.test.sh b/tests/foreign.test.sh index c9989bc..2c5d0d3 100644 --- a/tests/foreign.test.sh +++ b/tests/foreign.test.sh @@ -36,14 +36,23 @@ build_so() ( CFLAGS="$CFLAGS -fPIC" ;; esac - if [ "`uname`" = Darwin ]; then - SO_FLAGS="-bundle" - if run_sbcl --eval '(sb-ext:quit :unix-status #+x86-64 0 #-x86-64 1)'; then - CFLAGS="$CFLAGS -arch x86_64" - fi - else - SO_FLAGS="-shared" - fi + case "`uname`" in + Darwin) + SO_FLAGS="-bundle" + if run_sbcl --eval '(sb-ext:quit :unix-status #+x86-64 0 #-x86-64 1)'; then + CFLAGS="$CFLAGS -arch x86_64" + fi + ;; + OpenBSD) + SO_FLAGS="-shared" + if [ "`machine -a`" = "powerpc" ]; then + CFLAGS="$CFLAGS -fPIC" + fi + ;; + *) + SO_FLAGS="-shared" + ;; + esac cc -c $1.c -o $1.o $CFLAGS ld $SO_FLAGS -o $1.so $1.o )