[OE-core] RFC: Secondary Toolchain

Phil Blundell philb at gnu.org
Thu Oct 4 21:16:17 UTC 2012


On Thu, 2012-10-04 at 16:00 -0500, Mark Hatle wrote:
> This is only one runtime.  You have multiple compilers all capable of producing 
> software compatible with the same ABI.  The default (oe) compiler is used, 
> unless otherwise configured.  The alternative(s) are used for optimization of 
> various items.  I mentioned ICC, because it's one that I know today people are 
> using and it is capable of replacing gcc in many applications.

If that's the case then it doesn't seem like it ought to be necessary to
override most of the variables you mentioned.  Tools like ar, ranlib and
strip are generic to a binary format and should work fine with the
output from any compiler.  Also, if you're linking with GNU libc then
the chances are that you need to use one of the GNU linkers (be that
ld.bfd or gold) since I suspect most third party link editors will not
work very well.  And, if you have assembly source on hand, it's probably
going to be written in GAS dialect so selecting an alternative assembler
as ${AS} is unlikely to gain much.

So, it kind of seems like the only variables you're likely to need to
change are CC, CXX and the corresponding FLAGS.  I guess you might also
want to override F77 in theory though I'm not sure there are many people
using Fortran in an embedded environment.

Your proposed "toolchain-icc" override sounds like a reasonable enough
way to accomplish that, anyway.  The only problem it doesn't seem to
solve is the use-case of "everything that supports icc, I want to build
with icc; everything that doesn't support icc, I want to build with
gcc".  But I'm not sure this really matters much.

p.






More information about the Openembedded-core mailing list