summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorgrant <grant@pkgsrc.org>2005-02-15 09:39:06 +0000
committergrant <grant@pkgsrc.org>2005-02-15 09:39:06 +0000
commitb07774fdaed10ba41c4af228234458665fe601be (patch)
treea1a0fc413d00315f964d17d01092cc035523964c /bootstrap
parentb249a7865a5ee0f46d546163b776e62d52727729 (diff)
downloadpkgsrc-b07774fdaed10ba41c4af228234458665fe601be.tar.gz
add some info about using icc.
Diffstat (limited to 'bootstrap')
-rw-r--r--bootstrap/README.Linux38
1 files changed, 37 insertions, 1 deletions
diff --git a/bootstrap/README.Linux b/bootstrap/README.Linux
index 130de362e01..5196062358c 100644
--- a/bootstrap/README.Linux
+++ b/bootstrap/README.Linux
@@ -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.