Date: Fri, 06 Jan 2012 13:49:48 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: "O. Hartmann" <ohartman@zedat.fu-berlin.de> Cc: Roman Divacky <rdivacky@freebsd.org>, Current FreeBSD <freebsd-current@freebsd.org> Subject: Re: WITH_LIBCPLUSPLUS on FreeBSD 10.0-CURRENT/amd64 fails with CLANG: Message-ID: <4F06EDEC.5030805@FreeBSD.org> In-Reply-To: <4F06B378.7050404@zedat.fu-berlin.de> References: <4F062232.1020204@zedat.fu-berlin.de> <20120106073104.GA50351@freebsd.org> <4F06B378.7050404@zedat.fu-berlin.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F06EDEC.5030805>
