Blame


1 dbd7b9a9 2003-11-23 devnull #!/bin/sh
2 dbd7b9a9 2003-11-23 devnull
3 dbd7b9a9 2003-11-23 devnull usegcc()
4 dbd7b9a9 2003-11-23 devnull {
5 dbd7b9a9 2003-11-23 devnull cc=gcc
6 8f314994 2004-03-02 devnull ngflags=" \
7 dbd7b9a9 2003-11-23 devnull -O2 \
8 dbd7b9a9 2003-11-23 devnull -c \
9 dbd7b9a9 2003-11-23 devnull -Wall \
10 dbd7b9a9 2003-11-23 devnull -Wno-parentheses \
11 dbd7b9a9 2003-11-23 devnull -Wno-missing-braces \
12 dbd7b9a9 2003-11-23 devnull -Wno-switch \
13 d51419bf 2004-02-09 devnull -Wno-comment \
14 3765283c 2003-11-25 devnull -Wno-sign-compare \
15 115d4c0a 2004-05-03 devnull -Wno-unknown-pragmas \
16 be36ff68 2004-04-29 devnull -fno-omit-frame-pointer \
17 dbd7b9a9 2003-11-23 devnull "
18 be36ff68 2004-04-29 devnull # want to put -fno-optimize-sibling-calls here but
19 be36ff68 2004-04-29 devnull # that option only works with gcc3+ it seems
20 dc9d0ffc 2004-03-02 devnull cflags="$ngflags -ggdb"
21 dbd7b9a9 2003-11-23 devnull }
22 dbd7b9a9 2003-11-23 devnull
23 8f314994 2004-03-02 devnull tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}"
24 dbd7b9a9 2003-11-23 devnull case "$tag" in
25 7033e49d 2004-12-28 devnull *BSD*) usegcc ;;
26 53dbac94 2004-03-02 devnull *Darwin*) usegcc
27 8f314994 2004-03-02 devnull cflags="$ngflags -g3 -no-cpp-precomp" ;;
28 dbd7b9a9 2003-11-23 devnull *HP-UX*) cc=cc; cflags="-g -O -c -Ae" ;;
29 282c88f9 2004-09-17 devnull *Linux*) usegcc
30 ead3e311 2005-01-04 devnull case "${SYSVERSION:-`uname -r`}" in
31 fa267621 2004-12-24 devnull 2.6.*)
32 282c88f9 2004-09-17 devnull cflags="$cflags -D__Linux26__"
33 282c88f9 2004-09-17 devnull ;;
34 282c88f9 2004-09-17 devnull esac
35 282c88f9 2004-09-17 devnull ;;
36 dbd7b9a9 2003-11-23 devnull *OSF1*) cc=cc; cflags="-g -O -c" ;;
37 0f192bb8 2004-03-26 devnull *SunOS*-cc) cc=cc;
38 9e863cf5 2005-01-07 devnull cflags="-mt -g -O -c -xCC -D__sun__"
39 0f192bb8 2004-03-26 devnull u=`uname`
40 1b431b18 2004-03-26 devnull v=`uname -r`
41 1b431b18 2004-03-26 devnull s=`echo $u$v | tr '. ' '__'`
42 1b431b18 2004-03-26 devnull cflags="$cflags -D__$s__"
43 0f192bb8 2004-03-26 devnull ;;
44 0f192bb8 2004-03-26 devnull *SunOS*-gcc) usegcc
45 0f192bb8 2004-03-26 devnull u=`uname`
46 1b431b18 2004-03-26 devnull v=`uname -r`
47 1b431b18 2004-03-26 devnull s=`echo $u$v | tr '. ' '__'`
48 78802e69 2004-04-24 devnull cflags="$ngflags -g"
49 1b431b18 2004-03-26 devnull cflags="$cflags -D__$s__"
50 0f192bb8 2004-03-26 devnull ;;
51 dbd7b9a9 2003-11-23 devnull *)
52 dbd7b9a9 2003-11-23 devnull echo 9c does not know how to compile on "$tag" 1>&2
53 dbd7b9a9 2003-11-23 devnull exit 1
54 dbd7b9a9 2003-11-23 devnull esac
55 dbd7b9a9 2003-11-23 devnull
56 ead3e311 2005-01-04 devnull # N.B. Must use temp file to avoid pipe; pipe loses status.
57 ead3e311 2005-01-04 devnull xtmp=/tmp/9c.$$.$USER.out
58 d756dc5e 2005-01-07 devnull $cc -DPLAN9PORT -I$PLAN9/include $cflags "$@" >$xtmp 2>&1
59 d756dc5e 2005-01-07 devnull status=$?
60 d756dc5e 2005-01-07 devnull grep -v '__p9l_autolib_' $xtmp |
61 d756dc5e 2005-01-07 devnull sed 's/\"\([^\"][^\"]*\)\", line \([0-9][0-9]*\)/\1:\2/g'
62 d756dc5e 2005-01-07 devnull rm -f $xtmp $xtmp.status
63 ead3e311 2005-01-04 devnull exit $status