WITH_LIBCPLUSPLUS on FreeBSD 10.0-CURRENT/amd64 fails with CLANG:

Dimitry Andric dim at FreeBSD.org
Fri Jan 6 12:49:45 UTC 2012


On 2012-01-06 09:40, O. Hartmann wrote:
...
> Obviously, these lines in make.conf seem to fail recently when building
> the sources:
>
> ###
> ###     CLANG
> ###
>
> .if !defined(NO_CLANG)
> .if ${.CURDIR:M/usr/src/*} || ${.CURDIR:M/usr/obj/*} || ${.CURDIR:M/sys/*}

Hi Oliver,

The problem is that the ${.CURDIR:M/usr/src/*} expressions are wrong,
they will not match when you are *exactly* in /usr/src or in /usr/obj.

So for any operations in the "root" of your source checkout, or of your
object directory, CC will still be 'cc', and unexpected things will
happen.

It is better to use:

   .if ${.CURDIR:M/usr/src*} || ${.CURDIR:M/usr/obj*} || ${.CURDIR:M/sys*}

or if you want to be strict:

   .if ${.CURDIR:M/usr/src} || ${.CURDIR:M/usr/src/*} || ${.CURDIR:M/usr/obj} || ${.CURDIR:M/usr/obj/*} || ${.CURDIR:M/sys} || ${.CURDIR:M/sys/*}

It is similar to a problem another user reported on freebsd-stable
(though he got a weird linker error instead):

   http://lists.freebsd.org/pipermail/freebsd-stable/2011-December/065172.html

After some analysis, it turned out he had the same problem in his
make.conf:

   http://lists.freebsd.org/pipermail/freebsd-stable/2011-December/065183.html


More information about the freebsd-current mailing list