From owner-freebsd-hackers@FreeBSD.ORG Sat Apr 2 18:29:48 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6BC7106566B; Sat, 2 Apr 2011 18:29:48 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id C29A98FC17; Sat, 2 Apr 2011 18:29:48 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 70B1246B51; Sat, 2 Apr 2011 14:29:48 -0400 (EDT) Date: Sat, 2 Apr 2011 19:29:48 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Warner Losh In-Reply-To: Message-ID: References: <4D934AF4.9080503@FreeBSD.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: mdf@freebsd.org, Dimitry Andric , freebsd-hackers Subject: Re: Include file search path X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Apr 2011 18:29:49 -0000 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