"/sys/conf/kmod.mk",
line 111: Malformed conditional (${MK_CLANG_IS_CC}
Dimitry Andric
dim at FreeBSD.org
Tue Apr 17 20:52:50 UTC 2012
On 2012-04-17 17:59, Arno J. Klaassen wrote:
...
> I verified and re-verfied : kernel and world perfectly in sync; /usr/src
> is a symlink but /sys points to the right place and (before patch)
> /usr/share/mk/bsd.own.mk and /usr/src/share/mk/bsd.own.mk are
> indentical.
>
> Still I have to apply something like the following patch to get
> VirtualBox kernel module compiled (no idea who/where MK_CLANG_IS_CC
> gets set to "no", AFAIK not by me (I don't use src.conf and nothing
> about CLANG in make.conf).
I was going to say that all the MK_XXX defines get set in bsd.own.mk,
but apparently there is an exception specifically for ports! It has the
following fragment:
[...]
.if !defined(_WITHOUT_SRCCONF)
#
# Define MK_* variables (which are either "yes" or "no") for users
# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the
# make(1) environment.
while bsd.port.mk has:
[...]
# Needed to keep bsd.own.mk from reading in /etc/src.conf
# and setting MK_* variables when building ports.
_WITHOUT_SRCCONF=
[...]
.include <bsd.own.mk>
.include "${BSDPORTMK}"
So those variables intentionally don't get set. This is bit of a pity,
since particularly the information that '/usr/bin/cc' can be gcc or
clang (indicated by MK_CLANG_IS_CC) is rather relevant for ports.
Of course, that setting is normally configured in src.conf(5), which
emphatically does *not* apply to ports, but since it influences what
/usr/bin/cc will be, it is still of interest. E.g. you can't detect
anymore whether someone is using clang by checking ${CC}...
I'm not sure what the best solution is in this case, I would really like
some feedback from ports people. :)
More information about the freebsd-current
mailing list