Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Feb 2013 09:50:06 -0800
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        Warner Losh <imp@bsdimp.com>
Cc:        freebsd-arch@freebsd.org, Brooks Davis <brooks@freebsd.org>, sjg@juniper.net
Subject:   Re: [RFC] external compiler support
Message-ID:  <20130227175006.A604A58096@chaos.jnpr.net>
In-Reply-To: <51BB3E17-128A-4989-B272-D8B40D4B854B@bsdimp.com>
References:  <20130227003517.GB7348@lor.one-eyed-alien.net> <28404C12-67F3-44F0-AB28-02B749472873@bsdimp.com> <51BB3E17-128A-4989-B272-D8B40D4B854B@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 27 Feb 2013 09:08:05 -0700, Warner Losh writes:
>> I think this will work, but it is kludgy.  I had created a __X=<prefix-path>
>
>I also am having trouble finding my full patch, but a partial patch can be fou

I prefer this approach too, but would use a more explicit variable than
__X (which I could easily imagine someone thinking they could safely use
within their own makefile for some purpose).
Eg. we currently have stuff like:

CC?=      ${BUILD_TOOL_PREFIX}/${CROSS_TARGET_PREFIX}gcc

since these aren't variables that anyone needs to manipulate regularly
a little verbosity doesn't hurt.

Further, having them composed from other bits can also be useful
(eg. most dev machines here use nfs mounted toolchains, but others use
local toolchains).

So (probably taking things too far - I didn't come up with all this ;-)

BUILD_TOOL_PREFIX?= ${TOOLCHAIN_PREFIX}/${TOOLCHAIN_${MACHINE}}/bin
CROSS_TARGET_PREFIX?= ${CROSS_TARGET}-
CROSS_TARGET?= ${CROSS_TARGET_${MACHINE}}

and a toolchain.mk sets CROSS_TARGET_* for all the supported machines.
Of course as you note:

>I've also started looking into using clang --mumble to doing cross builds too,

can simplify things (for some value of "--mumble); I managed to get
clang to produce i386 apps on amd64, but the "--mumble" wasn't obvious
or documented (that I could find) and infact the man page implied other 
things that don't work.

--sjg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130227175006.A604A58096>