installlib: minor cleanup
[blocksruntime.git] / buildlib
blob2814a47592a7df2303732e1a13f60c6d01fa03e0
1 #!/bin/sh
3 case "$1" in -h|-H|-help|--help)
4 cat <<EOT
5 Usage: ${0##*/}
6 Env: CC explicit "cc" compiler to use
7 AR explicit "ar" to use
8 RANLIB explicit "ranlib" to use
9 CFLAGS explicit compiler options to use
10 EOT
11 exit 0
12 esac
14 if [ -z "$CC" ]; then
15 if command -v gcc > /dev/null; then
16 CC=gcc
17 elif command -v clang > /dev/null; then
18 CC=clang
19 elif command -v cc > /dev/null; then
20 CC=cc
21 else
22 echo "Could not guess name of compiler, please set CC" >&2
23 exit 2
27 echo "CC=$CC"
28 : ${AR:=ar}
29 echo "AR=$AR"
30 : ${RANLIB:=ranlib}
31 echo "RANLIB=$RANLIB"
33 if [ "${CFLAGS+set}" != "set" ]; then
34 case "$CC" in
35 *gcc*|*clang*)
36 CFLAGS=-O2
39 CFLAGS=-O
41 esac
43 echo "CFLAGS=$CFLAGS"
45 set -ev
46 LIB=libBlocksRuntime.a
47 SRC=BlocksRuntime
48 ! test -e $LIB || rm $LIB
49 "$CC" -c $CFLAGS -o $SRC/data.o $SRC/data.c &&
50 "$CC" -c $CFLAGS -o $SRC/runtime.o -I . $SRC/runtime.c &&
51 "$AR" cr $LIB $SRC/data.o $SRC/runtime.o &&
52 "$RANLIB" $LIB