How to disable CLANG & co build in buildworld?
M. Warner Losh
imp at bsdimp.com
Fri Jun 11 21:31:33 UTC 2010
In message: <4C129ECE.8040709 at FreeBSD.org>
Doug Barton <dougb at FreeBSD.org> writes:
: On 06/11/10 13:35, Ed Schouten wrote:
: > * M. Warner Losh<imp at bsdimp.com> wrote:
: >> Except that clang isn't quite disabled when cross-building, due to the
: >> issue I pointed out when the commit went in wrt bsd.own.mk.
: >> MACHINE_ARCH is still amd64 until we start to build the sparc64
: >> binaries, so anything in the bootstrapping part of the build will not
: >> be disabled. that's one of many reasons disabling things in
: >> bsd.own.mk based on architecture is going to fail.
: > Exactly. I already mentioned this problem on arch@ back in May. That's
: > why a small portion of LLVM, namely tblgen, is always built. Even
: > though
: > this will slightly increase the build time, it shouldn't be excessive.
: > If someone knows of a nice way to fix this, I am more than willing to
: > get it fixed.
Ed: Sorry I missed it back in may on arch at . I'm usually pretty good
about catching things like that...
: What is "this" that needs to be fixed? Or, asked another way, why are
: we not optimizing for the common case (building world on the machine
: that it will be run on)?
"This" is building the proper set of tools for the target. It is easy
to do, and only a couple lines of Makefile foo in Makefile.inc1
instead of in bsd.own.mk. It is a fairly natural consequence of the
tbemd stuff I have been working on and have started merging.
The consequences today are that you build some extra tools that are
only needed to build clang when in fact you aren't really going to be
building clang. The "cost" is however long it takes to do this on the
platform you are building on. This can range from a minute or two to
tens of minutes depending on the power of your build system.
More information about the freebsd-current