cc.darwin07 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. : unix wrapper for Mac OS X 10.3-10.6 (Darwin 7-10) cc : 2020-07-17 :
  2. HOSTTYPE=darwin07.generic
  3. case " $* " in
  4. *" -dumpmachine "*) echo $HOSTTYPE; exit ;;
  5. esac
  6. CC=/usr/bin/cc
  7. op=init
  8. for arg
  9. do case $op in
  10. init) op=ld
  11. set ''
  12. ;;
  13. esac
  14. case $arg in
  15. -c) op=cc
  16. ;;
  17. -E) op=cpp
  18. continue
  19. ;;
  20. -G) op=dll
  21. continue
  22. ;;
  23. -lc) continue
  24. ;;
  25. -lm) continue
  26. ;;
  27. esac
  28. set "$@" "$arg"
  29. done
  30. case $# in
  31. 0) ;;
  32. *) shift ;;
  33. esac
  34. case $* in
  35. -v) $CC "$@"; exit ;;
  36. esac
  37. case $op in
  38. init) echo "cc: arguments expected" >&2
  39. exit 1
  40. ;;
  41. cpp) $CC -E "$@"
  42. ;;
  43. cc) $CC -DCLK_TCK=100 "$@"
  44. ;;
  45. dll) # what a compatibility mess -- surely they can get the apis to play nice
  46. tmp=/tmp/cc.${USER:-$LOGNAME}.$$.err
  47. trap "rm -f $tmp" EXIT
  48. case `MACOSX_DEPLOYMENT_TARGET=10.3 ld -undefined dynamic_lookup 2>&1` in
  49. *undefined*dynamic_lookup*)
  50. ld -m -flat_namespace -undefined suppress -dylib -dynamic \
  51. -ldylib1.o "$@" -lcc_dynamic -framework System >$tmp 2>&1
  52. status=$?
  53. ;;
  54. *) MACOSX_DEPLOYMENT_TARGET=10.3 $CC -Wl,-flat_namespace -dynamiclib -undefined dynamic_lookup "$@" >$tmp 2>&1
  55. status=$?
  56. ;;
  57. esac
  58. egrep -v ' (warning .*multiple definitions|definition) of ' $tmp >&2
  59. exit $status
  60. ;;
  61. ld) tmp=/tmp/cc.${USER:-$LOGNAME}.$$.err
  62. trap "rm -f $tmp" EXIT
  63. $CC -Wl,-m -DCLK_TCK=100 "$@" >$tmp 2>&1
  64. status=$?
  65. egrep -v ' (warning .*multiple definitions of|definition of|as lazy binding|not from earlier dynamic) ' $tmp >&2
  66. exit $status
  67. ;;
  68. esac