pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/bootstrap add some info about using icc.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3a75c3e71b09
branches:  trunk
changeset: 489038:3a75c3e71b09
user:      grant <grant%pkgsrc.org@localhost>
date:      Tue Feb 15 09:39:06 2005 +0000

description:
add some info about using icc.

diffstat:

 bootstrap/README.Linux |  38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diffs (48 lines):

diff -r aa55a9de3a7b -r 3a75c3e71b09 bootstrap/README.Linux
--- a/bootstrap/README.Linux    Tue Feb 15 08:55:55 2005 +0000
+++ b/bootstrap/README.Linux    Tue Feb 15 09:39:06 2005 +0000
@@ -1,7 +1,43 @@
-$NetBSD: README.Linux,v 1.1.1.1 2004/03/11 13:03:59 grant Exp $
+$NetBSD: README.Linux,v 1.2 2005/02/15 09:39:06 grant Exp $
 
 Please read the general README file as well.
 
 Some versions of Linux (for example Debian GNU/Linux) need either libtermcap
 or libcurses (libncurses).  Installing the distributions libncurses-dev
 package (or equivalent) should fix the problem.
+
+pkgsrc supports both gcc (GNU Compiler Collection) and icc (Intel C++
+Compiler). gcc is the default. icc 8.0 and 8.1 on i386 have been tested.
+
+To bootstrap using icc, assuming the default icc installation
+directory:
+
+       env CC=/opt/intel_cc_80/bin/icc LDFLAGS=-static-libcxa \
+               ac_cv___attribute__=yes ./bootstrap
+
+icc supports __attribute__, but the GNU configure test uses a nested
+function, which icc does not support. #undef'ing __attribute__ has the
+unfortunate side-effect of breaking many of the Linux header files, which
+cannot be compiled properly without __attribute__. The test must be
+overridden so that __attribute__ is assumed supported by the compiler.
+
+After bootstrapping, you should set PKGSRC_COMPILER in mk.conf:
+
+       PKGSRC_COMPILER=icc
+
+The default installation directory for icc is /opt/intel_cc_80, which
+is also the pkgsrc default. If you have installed it into a different
+directory, set ICCBASE in mk.conf:
+
+       ICCBASE=/opt/icc
+
+pkgsrc uses the static linking method of the runtime libraries
+provided by icc, so binaries can be run on other systems which do not
+have the shared libraries installed.
+
+Libtool, however, extracts a list of libraries from the ld(1) command
+run when linking a C++ shared library and records it, throwing away
+the -Bstatic and -Bdynamic options interspersed between the libraries.
+This means that libtool-linked C++ shared libraries will have a
+runtime dependency on the icc libraries until this is fixed in
+libtool.



Home | Main Index | Thread Index | Old Index