[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