[OpenBIOS] [PATCH] Add non-standard compiler prefix support

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Fri May 8 18:03:36 CEST 2015


On Fri, May 08, 2015 at 11:18:24AM -0400, Programmingkid wrote:
> 
> On May 8, 2015, at 9:57 AM, Lennart Sorensen wrote:
> 
> > On Fri, May 08, 2015 at 02:09:16PM +0100, Mark Cave-Ayland wrote:
> >> On 01/05/15 14:38, Lennart Sorensen wrote:
> >> 
> >>> On Thu, Apr 30, 2015 at 05:26:50PM -0500, Segher Boessenkool wrote:
> >>>> [ I didn't see this part of the thread before, sorry...  Well, this
> >>>> separate thread of the thread, heh. ]
> >>>> 
> >>>> On Thu, Apr 30, 2015 at 08:22:46AM -0400, Lennart Sorensen wrote:
> >>>>> PREFIX sure could be confused with the installation path prefix.
> >>>>> 
> >>>>> I like the CROSS_COMPILER variable that the linux kernel and some other
> >>>>> projects use.
> >>>>> 
> >>>>> I do find it inconvinient that it always seems that whatever prefix
> >>>>> you specify has gcc appended to it given all my cross compilers have
> >>>>> gcc-version at the end of their name.  That's just how Debian has
> >>>>> generated them for years.
> >>>> 
> >>>> GCC itself generates *both* e.g. powerpc-linux-gcc-4.9.0 and
> >>>> powerpc-linux-gcc.  Debian has no way to set that to the version
> >>>> you want to use?  How inconvenient.  You can make an alias of course ;-)
> >>> 
> >>> Well I can make a symlink, but certainly in the past (wheezy and older),
> >>> when you build the cross compiler from the debian gcc source package,
> >>> you get architecture-gcc-version as the binary.  It used to be they
> >>> used alternatives to setup a symlink to one of the versions installed
> >>> for the cross compiler, but they got rid of that (which I don't really
> >>> miss because I found it always picked the wrong one by default somehow).
> >>> 
> >>> But I don't expect any build scripts to deal with that (certainly the
> >>> linux kernel doesn't), and there are perfectly simple ways around the
> >>> problem.
> >> 
> >> Just to recap then - if we use CROSS_COMPILE rather than CROSS_COMPILER
> >> and add it to the start of the list then everyone is in agreement?
> > 
> > I think people can legitimately argue that if someone specifies
> > CROSS_COMPILE then that is what they want to use, and you should NOT go
> > looking at other options at all that might exist in that case.
> > 
> > After all if I make a typo in my CROSS_COMPILE line I would rather get
> > an error that it can't find that compiler, than have it run of and find
> > some other cross compiler I have installed and use that.
> > 
> > So probably the correct thing would be:
> > 
> > if CROSS_COMPILE is set then use CROSS_COMPILE
> > else do the list search instead.
> 
> That could work. 
> 
> Using CROSS_COMPILE instead of CROSS_COMPILER doesn't seem right. CROSS_COMPILER refers to a program. CROSS_COMPILE seems to refer to a process. It seems better and more accurate to say CROSS_COMPILER. 
> 
> Thank you for your comments.

CROSS_COMPILE is the prefix, NOT the compiler.

Ie:

CROSS_COMPILE=arm-linux-gnueabihf- make foo

That gives you CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld
AS=arm-linux-gnueabihf-as and so on.

This is used in _many_ other projects and makes sense.

So it is a cross compile tool chain prefix, not the compiler itself.

And of course if not set to anything, then you are native compiling and
CC=gcc since CC=$(CROSS_COMPILE)gcc becomes just gcc in that case.

-- 
Len Sorensen



More information about the OpenBIOS mailing list