Make INFO's compiler-macro more forgiving.
[sbcl.git] / tests / run-compiler.sh
blob4b38df8056b0e5ff261096d53ea0d031b6696056
1 #!/bin/sh
3 platform="${SBCL_SOFTWARE_TYPE}-${SBCL_MACHINE_TYPE}"
5 if [ -z $CC ]; then
6 if [ -x "`which cc`" ]; then
7 CC=cc
8 else
9 CC=gcc
13 args=
14 case "$platform" in
15 Darwin-X86-64) args="-arch x86_64" ;;
16 Darwin-X86) args="-arch i386" ;;
17 SunOS-X86-64) args=-m64 ;;
18 Linux-X86) args="-m32" ;;
19 Linux-PowerPC) args="-m32" ;;
20 FreeBSD-X86) args="-m32" ;;
21 esac
23 while [ $# -gt 0 ]; do
24 arg="$1"
25 new=
26 case "$arg" in
27 -sbcl-pic)
28 case "$platform" in
29 FreeBSD-X86-64) new=-fPIC ;;
30 Linux-ARM) new=-fPIC ;;
31 Linux-MIPS) new=-fPIC ;;
32 Linux-X86-64) new=-fPIC ;;
33 Linux-PowerPC) new=-fPIC ;;
34 NetBSD-PowerPC) new=-fPIC ;;
35 NetBSD-X86-64) new=-fPIC ;;
36 OpenBSD-PowerPC) new=-fPIC ;;
37 OpenBSD-X86-64) new=-fPIC ;;
38 SunOS-SPARC) new=-fPIC ;;
39 SunOS-X86) new=-fPIC ;;
40 SunOS-X86-64) new=-fPIC ;;
41 DragonFly-X86-64)new=-fPIC ;;
42 DragonFly-X86) new=-fPIC ;;
43 esac
46 -sbcl-shared)
47 case "$platform" in
48 Darwin-*) new=-bundle ;;
49 *) new=-shared ;;
50 esac
54 break
56 esac
58 shift
59 if [ x"$new" != x ]; then
60 args="$args $new"
62 done
64 echo "/ $CC $args $@"
65 "$CC" $args "$@"