Include file search path
Robert Watson
rwatson at FreeBSD.org
Sat Apr 2 18:29:49 UTC 2011
On Wed, 30 Mar 2011, Warner Losh wrote:
> On Mar 30, 2011, at 9:23 AM, Dimitry Andric wrote:
>> This is a rather nasty hack, though. If we can make it work, we should
>> probably try using --sysroot instead, or alternatively, -nostdinc and
>> adding include dirs by hand. The same for executable and library search
>> paths, although I am not sure if there is a way to completely reset those
>> with the current options.
>
> I'm pretty sure that the origins of this hack pre-dates the -sysroot feature
> in gcc. It works in -current and has for years, so nobody has cared enough
> to even contemplate changing it.
>
> If you can make the sysroot feature work, that would be great, since that
> would allow us to skip the compiler building phase if we were building using
> external compilers. I have some patches to make that work, but this very
> problem is what I'd worked my way up to. It works well if you are building
> current on current, but not so well if you are mixing versions (you can mix
> architectures if you are using the xdev feature I put in a while ago, but
> even that has one or two niggles I need to iron out).
Count me as another eager consumer awaiting a nice answer to the general
cross-compile problem. I'm really looking for three things:
(1) A bit more intelligence from our build framework regarding not rebuilding
the toolchain quite so many times! I'd like to be able to do a buildworld
with TARGET_ARCH with significantly improved performance. Perhaps we can
do this already, in which case a pointer considered welcome.
(2) Working clang/LLVM cross-compile of FreeBSD. This seems like a basic
requirement to adopt clang/LLVM, and as far as I'm aware that's not yet a
resolved issue?
(3) Making it easy to plug in, first, an external gcc easily, and second, an
external clang/LLVM. One worrying point for me on the last one is that we
can't yet build the whole kernel with clang/LLVM, at least for i386/amd64,
so I guess you need both external gcc *and* external clang/LLVM?
We (Cambridge) are currently bringing up FreeBSD on a new soft-core 64-bit
MIPS platform. We're already using a non-base gcc for our boot loader work,
and plan to move to using clang/LLVM later in the year. The base system seems
a bit short on detail when it comes to the above, currently.
Robert
More information about the freebsd-hackers
mailing list