mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
src/cmd/INIT/cc.darwin*: - Build on ancient Mac OS X gcc versions (darwin 7+, Mac OS X 10.3+), more recent gcc versions (darwin 11+, Mac OS X 10.7+), as well as current clang versions. So there are now three cc.darwin* wrapper scripts for these different darwin versions. bin/package, src/cmd/INIT/package.sh: - Differentiate the host ID and pick the correct Darwin script based on the detected OS release version.
73 lines
1.4 KiB
Text
Executable file
73 lines
1.4 KiB
Text
Executable file
: unix wrapper for Mac OS X 10.3-10.6 (Darwin 7-10) cc : 2012-01-20 :
|
|
|
|
HOSTTYPE=darwin07.generic
|
|
|
|
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
|