summaryrefslogtreecommitdiff
path: root/tools/fcc
blob: 9dcefa13c3cd451b67e0de43be6b6a23f908c48c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#! /bin/sh
# script to compile C programs that are linked 
# against Fortran libraries
# last modified 19 Jul 11 th

args=
objs=
ldflags=
fldflags=
compileonly=

cc="${REALCC:-cc}"
cxx="${REALCXX:-c++}"
test `basename $0` = f++ && cc="$cxx"

while test $# -gt 0 ; do
  case "$1" in
  -arch)
	shift
	;;
  -st | -b32 | -b64)
	;; # ignore mcc-specific flags
  -Wno-long-double)
	;; # mcc adds this on Macs & gcc 4 doesn't like it
  -[Ll]* | -Wl*)
	ldflags="$ldflags '$1'"
	;;
  *.tm.o)
	objs="'$1' $objs"
	;;
  *.a | *.o | *.so)
	objs="$objs '$1'"
	;;
  *.cc)
	args="$args '$1'"
	cc="$cxx"
	;;
  -c)
	compileonly="-c"
	;;
  -o)
	args="$args -o '$2'"
	shift
	;;
  *)
	args="$args '$1'"
	;;
  esac
  shift
done

eval "set -x ; exec $cc $args ${compileonly:-$objs $ldflags $fldflags}"