From owner-freebsd-current@FreeBSD.ORG Fri Jan 6 12:49:45 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D512B1065672; Fri, 6 Jan 2012 12:49:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 9031B8FC13; Fri, 6 Jan 2012 12:49:45 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:a142:4d3d:445:4dd1] (unknown [IPv6:2001:7b8:3a7:0:a142:4d3d:445:4dd1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 977485C37; Fri, 6 Jan 2012 13:49:44 +0100 (CET) Message-ID: <4F06EDEC.5030805@FreeBSD.org> Date: Fri, 06 Jan 2012 13:49:48 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: "O. Hartmann" References: <4F062232.1020204@zedat.fu-berlin.de> <20120106073104.GA50351@freebsd.org> <4F06B378.7050404@zedat.fu-berlin.de> In-Reply-To: <4F06B378.7050404@zedat.fu-berlin.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Roman Divacky , Current FreeBSD Subject: Re: WITH_LIBCPLUSPLUS on FreeBSD 10.0-CURRENT/amd64 fails with CLANG: X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jan 2012 12:49:45 -0000 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