diff options
author | grant <grant@pkgsrc.org> | 2005-02-15 09:39:06 +0000 |
---|---|---|
committer | grant <grant@pkgsrc.org> | 2005-02-15 09:39:06 +0000 |
commit | b07774fdaed10ba41c4af228234458665fe601be (patch) | |
tree | a1a0fc413d00315f964d17d01092cc035523964c /bootstrap | |
parent | b249a7865a5ee0f46d546163b776e62d52727729 (diff) | |
download | pkgsrc-b07774fdaed10ba41c4af228234458665fe601be.tar.gz |
add some info about using icc.
Diffstat (limited to 'bootstrap')
-rw-r--r-- | bootstrap/README.Linux | 38 |
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. |