why does buildkernel set COMPILER_TYPE?

Dimitry Andric dim at FreeBSD.org
Thu Aug 22 06:59:51 UTC 2013


On Aug 22, 2013, at 06:04, John-Mark Gurney <jmg at funkthat.com> wrote:
> I've noticed that if you do a:
> make buildworld WITHOUT_CLANG_IS_CC=YES
> 
> and then do a:
> make buildkernel
> 
> (w/o the WITHOUT_CLANG_IS_CC=YES option)
> that it fails...  

Why don't you just put the WITHOUT_CLANG_IS_CC setting in /etc/src.conf,
where it belongs?  That would save you this trouble.

I don't think we should support building different parts of the tree
with incompatible settings.  E.g. compiling part of the tree using
WITH_FOO, and some other part using WITHOUT_FOO is *not* supposed to
work properly.


> Apparently instead of letting buildkernel figure out
> which compiler it will use, the src/Makefile.inc1 forces COMPILER_TYPE
> to be what the options specified instead of using what bsd.compiler.mk
> figures out...

This was added by brooks in r240468 (and further developed in r250659
where he added external compiler support), with what I assume is the
explanation in the commit message:

"To avoid negative performance impacts in the default case and correct
value for COMPILER_TYPE type is determined and passed in the environment
of submake instances while building world."

So I suspect this is really on purpose.  Brooks, any comments? :)

-Dimitry



More information about the freebsd-current mailing list