[git commit] help: Document CROSS=

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Thu May 10 06:28:50 UTC 2012


On 9 May 2012 18:29, Rich Felker <dalias at aerifal.cx> wrote:
> On Wed, May 09, 2012 at 08:33:53AM +0200, Bernhard Reutner-Fischer wrote:
>> On 9 May 2012 05:24, Mike Frysinger <vapier at gentoo.org> wrote:
>> > On Tuesday 08 May 2012 13:53:55 Bernhard Reutner-Fischer wrote:
>> >> --- a/Makefile.help
>> >> +++ b/Makefile.help
>> >> -     @echo '  CROSS_COMPILE=         - Override CROSS_COMPILER_PREFIX from
>> > .config'
>> >> +     @echo '  CROSS_COMPILE= - Override CROSS_COMPILER_PREFIX from .config'
>> >> +     @echo '  CROSS=         - Same as CROSS_COMPILE'
>> >
>> > we dropped all mention of CROSS were possible on purpose.  the only reason
>> > CROSS_COMPILE defaults to CROSS is because we didn't want to break peoples
>> > build scripts.  if we're going to start adding info again, i say scrub it
>> > completely.
>>
>> I have reverted this inappropriate commit, let's keep the
>> backward-compatible var for a while though.
>> Thanks for the review!
>
> Would it be possible to head in the direction of not neeting
> CROSS_COMPILE/CROSS? That is, make it so the build system just works
> with cross compiling as long as CC is set to the right compiler? I can
> think of a few potential issues like the way stripping is performed
> that might need a cross-specific tool other than CC, but perhaps

As Mike already said we use CC and AR.
The testsuite uses OBJDUMP for a plt test and we use LD only to determine
if the linker supports as-needed.

The whole CROSS_COMPILE is just for convenience to set the target triplet
for the tools in one go and as such, you can as well just pass in CC= AR=
LD= manually.

> there's a way to use -dumpmachine and determine if the results are
> native or cross, and automatically search out the rigth tools based on
> that.

nah.
>
> BTW this is all just an idea; if it's not feasible, there's no need
> for flames.
There almost never is :P

Anyway. We may
diff --git a/Rules.mak b/Rules.mak
index 00e8481..e0a03ca 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -38,7 +38,14 @@ endif
 # Most people will set this stuff on the command line, i.e.
 #        make CROSS_COMPILE=arm-linux-
 # will build uClibc for 'arm'.
+
+ifneq ($(CROSS),)
 # CROSS is still supported for backward compatibily only
+$(warning CROSS is deprecated, please use CROSS_COMPILE instead)
+ifneq ($(CROSS_COMPILE),)
+$(warning CROSS_COMPILE has precedence over CROSS, ignoring the latter)
+endif
+endif

 CROSS_COMPILE ?= $(CROSS)


More information about the uClibc mailing list