summaryrefslogtreecommitdiff
path: root/lang/icc/files/patch-bin::icc
diff options
context:
space:
mode:
authorAlexander Leidinger <netchild@FreeBSD.org>2004-01-11 15:32:07 +0000
committerAlexander Leidinger <netchild@FreeBSD.org>2004-01-11 15:32:07 +0000
commit5b75a54ddfee188423807a395d9c9f903e633cb7 (patch)
tree3917f713be239795252d5b9047627e89e21ea114 /lang/icc/files/patch-bin::icc
parentUpdate for the upcomming icc7 and icc (v8). (diff)
Update to 8.0.055.p057.
As Intel uses it's own directory for ifc and icc, we don't conflict with ifc anymore. Because of ABI changes, you have to recompile C++ programs (don't forget stlport-icc). Note that this port is a _work in progress_: - Icc allows to use an already installed libstdc++ from gcc, this doesn't work yet on FreeBSD. Libstdc++ on 4.x is too old, so it's unlikely we can add support for it. The headers of libstdc++ shipping with FreeBSD 5.2-CURRENT use GCCisms not (yet) supported by icc, the hardcoded search path for them also doesn't fit for FreeBSD 5.2-CURRENT. - We've incorporated parts (cxa) of the FreeBSD >= 502101 libc on < 502101 systems. It's tested on 4.x, but not on FreeBSD < 502101. - Not all (new) options (including GCC compatibility) are thoroughly tested. When encountering problems please report to me first instead of directly contacting Intel. Ackknowledgements: - Bradley T Hughes <bhughes@trolltech.com> for PR 59552, it resulted in a modification of our libc (C++ DSO Object Destruction API) we incorporate in the port on < 502101 systems. - Marius Strobl <marius@alchemy.franken.de> for his help with the port (e.g. ld.c, cxa).
Notes
Notes: svn path=/head/; revision=97928
Diffstat (limited to 'lang/icc/files/patch-bin::icc')
-rw-r--r--lang/icc/files/patch-bin::icc82
1 files changed, 82 insertions, 0 deletions
diff --git a/lang/icc/files/patch-bin::icc b/lang/icc/files/patch-bin::icc
new file mode 100644
index 000000000000..7988120de0c9
--- /dev/null
+++ b/lang/icc/files/patch-bin::icc
@@ -0,0 +1,82 @@
+--- bin/icc.orig Tue Dec 9 19:55:19 2003
++++ bin/icc Tue Dec 9 20:03:34 2003
+@@ -1,6 +1,9 @@
+ #!/bin/sh
+
+-if [ -z INTEL_LICENSE_FILE ]
++ICC_LOCALBASE=%%ICC_LOCALBASE%%
++export ICC_LOCALBASE;
++
++if [ -z "$INTEL_LICENSE_FILE" ]
+ then
+ INTEL_LICENSE_FILE=<INSTALLDIR>/licenses;
+ else
+@@ -8,7 +11,7 @@
+ fi
+ export INTEL_LICENSE_FILE;
+
+-if [ -z LD_LIBRARY_PATH ]
++if [ -z "$LD_LIBRARY_PATH" ]
+ then
+ LD_LIBRARY_PATH=<INSTALLDIR>/lib;
+ else
+@@ -16,7 +19,7 @@
+ fi
+ export LD_LIBRARY_PATH;
+
+-if [ -z PATH ]
++if [ -z "$PATH" ]
+ then
+ PATH=<INSTALLDIR>/bin;
+ else
+@@ -24,11 +27,46 @@
+ fi
+ export PATH;
+
+-export -n IA32ROOT; unset IA32ROOT;
+-
+ if [ $# != 0 ]
+ then
+- exec -a "<INSTALLDIR>/bin/icc" <INSTALLDIR>/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 <INSTALLDIR>/bin/iccbin "$@";
+ else
+- exec -a "<INSTALLDIR>/bin/icc" <INSTALLDIR>/bin/iccbin;
++ exec <INSTALLDIR>/bin/iccbin;
+ fi