2020-06-11 17:59:51 +00:00
|
|
|
: unix wrapper for Mac OS X 10.3-10.6 (Darwin 7-10) cc : 2012-01-20 :
|
2020-06-04 18:53:23 +00:00
|
|
|
|
2020-06-11 17:59:51 +00:00
|
|
|
HOSTTYPE=darwin07.generic
|
2020-06-04 18:53:23 +00:00
|
|
|
|
|
|
|
case " $* " in
|
|
|
|
*" -dumpmachine "*) echo $HOSTTYPE; exit ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
CC=/usr/bin/cc
|
|
|
|
op=init
|
|
|
|
for arg
|
|
|
|
do case $op in
|
|
|
|
init) op=ld
|
|
|
|
set ''
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
case $arg in
|
|
|
|
-c) op=cc
|
|
|
|
;;
|
|
|
|
-E) op=cpp
|
|
|
|
continue
|
|
|
|
;;
|
|
|
|
-G) op=dll
|
|
|
|
continue
|
|
|
|
;;
|
|
|
|
-lc) continue
|
|
|
|
;;
|
|
|
|
-lm) continue
|
|
|
|
;;
|
|
|
|
-O) continue
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
set "$@" "$arg"
|
|
|
|
done
|
|
|
|
case $# in
|
|
|
|
0) ;;
|
|
|
|
*) shift ;;
|
|
|
|
esac
|
|
|
|
case $* in
|
|
|
|
-v) $CC "$@"; exit ;;
|
|
|
|
esac
|
|
|
|
case $op in
|
|
|
|
init) echo "cc: arguments expected" >&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
cpp) $CC -E "$@"
|
|
|
|
;;
|
|
|
|
cc) $CC -DCLK_TCK=100 "$@"
|
|
|
|
;;
|
|
|
|
dll) # what a compatibility mess -- surely they can get the apis to play nice
|
|
|
|
tmp=/tmp/cc.${USER:-$LOGNAME}.$$.err
|
|
|
|
trap "rm -f $tmp" EXIT
|
|
|
|
case `MACOSX_DEPLOYMENT_TARGET=10.3 ld -undefined dynamic_lookup 2>&1` in
|
|
|
|
*undefined*dynamic_lookup*)
|
|
|
|
ld -m -flat_namespace -undefined suppress -dylib -dynamic \
|
|
|
|
-ldylib1.o "$@" -lcc_dynamic -framework System >$tmp 2>&1
|
|
|
|
status=$?
|
|
|
|
;;
|
|
|
|
*) MACOSX_DEPLOYMENT_TARGET=10.3 $CC -Wl,-flat_namespace -dynamiclib -undefined dynamic_lookup "$@" >$tmp 2>&1
|
|
|
|
status=$?
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
egrep -v ' (warning .*multiple definitions|definition) of ' $tmp >&2
|
|
|
|
exit $status
|
|
|
|
;;
|
|
|
|
ld) tmp=/tmp/cc.${USER:-$LOGNAME}.$$.err
|
|
|
|
trap "rm -f $tmp" EXIT
|
|
|
|
$CC -Wl,-m -DCLK_TCK=100 "$@" >$tmp 2>&1
|
|
|
|
status=$?
|
|
|
|
egrep -v ' (warning .*multiple definitions of|definition of|as lazy binding|not from earlier dynamic) ' $tmp >&2
|
|
|
|
exit $status
|
|
|
|
;;
|
|
|
|
esac
|