[RFC] external compiler support
Simon J. Gerraty
sjg at juniper.net
Wed Feb 27 17:53:41 UTC 2013
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
More information about the freebsd-arch
mailing list