--- bin/icc.orig Sun Mar 6 15:40:09 2005 +++ bin/icc Sun Mar 6 15:44:30 2005 @@ -1,5 +1,11 @@ #!/bin/sh +ICC_LOCALBASE=%%ICC_LOCALBASE%% +export ICC_LOCALBASE + +GXX_ROOT=${GXX_ROOT:-/lib} +export GXX_ROOT + if [ -z "$INTEL_LICENSE_FILE" ] then INTEL_LICENSE_FILE="/licenses"; @@ -24,11 +30,46 @@ fi export PATH; -export -n IA32ROOT; unset IA32ROOT; - if [ $# != 0 ] then - exec -a "/bin/icc" /bin/iccbin "$@"; + i=0 + argc=$# + while [ $i -lt $argc ] ; do + val1=$1 + shift + for s in .C .cc .cpp .cxx .c++; do + val2=${val1%$s} + if [ ${#val1} -gt ${#val2} ] ; then + echo "Please use icpc to compile C++ source." + exit 1 + fi + done + val2=${val1#"-openmp"} + if [ ${#val1} -gt ${#val2} ] ; then + echo "Sorry, option '$val1' is not supported on FreeBSD." + exit 1 + fi + val2=${val1#"-par"} + if [ ${#val1} -gt ${#val2} ] ; then + echo "Sorry, option '$val1' is not supported on FreeBSD." + exit 1 + fi + if [ "${val1}" = "-Kpic" ] || [ "${val1}" = "-KPIC" ] || \ + [ "${val1}" = "-fpic" ] || [ "${val1}" = "-fPIC" ] ; then + set -- "$@" "-Qoption,ld,-PIC" + fi + if [ "${val1}" = "-mt" ] ; then + unset val1 + set -- "$@" "-Qoption,ld,-MT" + fi + if [ "${val1}" = "-pipe" ] ; then + unset val1 + set -- "$@" + fi + set -- "$@" "$val1" + i=$(($i+1)) + done + exec /bin/iccbin "$@"; else - exec -a "/bin/icc" /bin/iccbin; + exec /bin/iccbin; fi