Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 26757 - dev-lang/icc - gcc-config profile
Summary: dev-lang/icc - gcc-config profile
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo Science Related Packages
Depends on: 18933 183393 331227
Blocks: intel-compilers
  Show dependency tree
Reported: 2003-08-16 16:33 UTC by Benjamin Schulz
Modified: 2013-06-06 08:48 UTC (History)
16 users (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Schulz 2003-08-16 16:33:05 UTC
according to intel, the version 8 of the Intel compiler will be completely
compatible with gcc.

Gentoo should include a method then how to easily replace gcc. 
icc is very fast in generating c++ code (from 10%-1500%, no that is no typo... )

so it would make sense to support chosing icc from begin of stage1
Comment 1 SpanKY gentoo-dev 2003-08-17 11:26:56 UTC
just put CC=icc in your environment :p 
at any rate, avenj said he has ppl working on cc-config to support 
gcc/icc/uclibc/tcc/what have you 
in other words, not a portage issue 
Comment 2 Martin Mokrejš 2003-09-04 09:48:29 UTC
I have the same request. I would already now benefit on Pentium4 with SSE and SSE2 instructions said to be improperly generated by gcc. I tried to set CC and CXX in /etc/make.conf but that did not help. I'm aware cpp and ld has to be adjusted also, other configure always picks up the cpp from GCC dist(about ld I am not sure how to proceed).
Comment 3 Benjamin Schulz 2003-09-20 12:59:35 UTC
no! It IS a portage issue. 
ICC and GCC are not command line compatible.

It's a job of portage that it should be operable to start the command lines of different compilers. 
autoconf and make support this. But portage doesn't.
The changes for this are relatively minor. Only there must be a new file where arguments and specs  for a command call to the specific compiler are stored (eg. names for optimisations in the different compilers, listings what arguments come first and second etc) f
Comment 4 Garen 2003-12-29 00:00:53 UTC
Even though icc 8.0 defines some internal gcc macros (e.g. __GNUC__) to try to achieve compatibility, it still doesn't support quite a few extensions in gcc - so replacing gcc entirely with icc for the whole distro would be a technical impossibility.  The ABI targeted by 8.0 is also only meant to be compatible with gcc 3.2.  ICC also uses different run-time libraries, so these are problems in mixing code.
Comment 5 Benjamin Schulz 2003-12-29 07:50:10 UTC
Of cource, no one can change the sourcecode or the runtime libraries.

but the next or the version after the next of icc will have better compatibillity than the current.
So It would be not too false to get gentoo prepared for different compilers with different command lines. Maybe that for Power PC systems there exist special ompilers too.
Well, Intel gets more and more compatible. But portage should be flexible (therefore it was designed at least),  and prepared for the future, so not depend on a single compiler (altough most of its code packages do this). 
Comment 6 Martin Schlemmer (RETIRED) gentoo-dev 2003-12-29 15:34:19 UTC
Then you want to start using NPTL =)
Comment 7 Alexander Gabert (RETIRED) gentoo-dev 2004-03-05 02:43:11 UTC
what is the current status of integrating the ICC into portage and the Gentoo build system?
Comment 8 Jon Portnoy (RETIRED) gentoo-dev 2004-03-05 08:35:43 UTC
Waiting on some new devs.
Comment 9 Matt M 2004-07-10 14:12:10 UTC
Has anyone tried to bootstrap a Gentoo system using tinycc? The tinycc website claims an 8-fold speed improvement over gcc in one particular compilation. What incompatibilities would someone run into bootstrapping their system with tinycc? 
Comment 10 Martin Mokrejš 2004-10-06 04:45:37 UTC

but ebuild yet for that version. :(
Comment 11 Martin Mokrejš 2004-10-06 04:46:32 UTC
sorry, typos .... I wanted to say "no ebuild yet ..."
Comment 12 Karl Trygve Kalleberg (RETIRED) gentoo-dev 2005-07-30 12:09:11 UTC
We should investige the possibility of having an icc profile for gcc-config.
There has already been some work on this, and there's even documentation:

External parties are free to submit patches. This is considered a low-priority
issue at the moment.
Comment 13 Alexander Gabert (RETIRED) gentoo-dev 2006-09-24 19:56:25 UTC
okay, thanks for being so clear.

Comment 14 Frank Russo 2006-11-19 11:16:07 UTC
I was referred to this defect via .  Does anyone mind if I take a look into things and try to allow (g)cc-config to support other compilers?  While I wholeheartedly agree that users shouldn't attempt to bootstrap with anything other than GCC, many developers would like a simple method to test compilitaion with a number of different compilers.  I could take one of the following approaches.

1:  "Shoe-horn" icc into gcc-config.
2:  rework gcc-config into cc-config, create a spec, support arbitrary compilers for any given platform.

It looks like a solid week's of work for the first option, a few weeks for the second option.  I just don't want to duplicate anyone else's efforts.  So ping the thread with the cvs loaction if anyone is currently working on this.

Thank you for your time,
Frank Russo
Comment 15 Donnie Berkholz (RETIRED) gentoo-dev 2006-11-19 11:40:52 UTC
(In reply to comment #14)
> I was referred to this defect via
> .  Does anyone mind if I take
> a look into things and try to allow (g)cc-config to support other compilers?

Go for it. You might want to look at eselect-compiler instead. It requires some other fixes, but it's newer code so one would hope it is cleaner.

> While I wholeheartedly agree that users shouldn't attempt to bootstrap with
> anything other than GCC, many developers would like a simple method to test
> compilitaion with a number of different compilers.

Every package should already respect something like this. If it doesn't, it's broken with both non-gcc and with cross-compiling.

CC=icc emerge foo
Comment 16 Jeremy Murphy 2011-01-04 07:33:48 UTC
Four years on... :)  What's the current status on this idea?
Comment 17 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-12-10 21:49:55 UTC
I don't think this should ever happen. gcc-config should be just used to switch gcc profiles, while for building packages portage has CC & CXX.

Not to mention you won't be able to build most of the tree with this. Believe me, it's much more useful to add env-overrides for packages than switch compiler between builds.
Comment 18 Justin Lecher (RETIRED) gentoo-dev 2013-06-06 08:48:16 UTC
This should never happen. It ready would pretend, that you are able to do emerge -e system with icc.

Override this on package basis in package.env