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
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
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).
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
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.
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).
Then you want to start using NPTL =)
what is the current status of integrating the ICC into portage and the Gentoo build system?
Waiting on some new devs.
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?
but ebuild yet for that version. :(
sorry, typos .... I wanted to say "no ebuild yet ..."
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.
okay, thanks for being so clear.
I was referred to this defect via http://forums.gentoo.org/viewtopic-t-517493.html . 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,
(In reply to comment #14)
> I was referred to this defect via
> http://forums.gentoo.org/viewtopic-t-517493.html . 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
Four years on... :) What's the current status on this idea?
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.
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