From owner-freebsd-current@FreeBSD.ORG Mon Feb 28 12:06:34 2011 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 8270A106566C for ; Mon, 28 Feb 2011 12:06:34 +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 43A948FC0A for ; Mon, 28 Feb 2011 12:06:34 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:4160:20c9:d2c9:15d8] (unknown [IPv6:2001:7b8:3a7:0:4160:20c9:d2c9:15d8]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 2576F5C59; Mon, 28 Feb 2011 13:06:33 +0100 (CET) Message-ID: <4D6B8FCA.5050203@FreeBSD.org> Date: Mon, 28 Feb 2011 13:06:34 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.15pre) Gecko/20110227 Lanikai/3.1.9pre MIME-Version: 1.0 To: Tim Kientzle References: <11C58791-9103-4C0E-8B35-EE46A4A6D3D4@kientzle.com> In-Reply-To: <11C58791-9103-4C0E-8B35-EE46A4A6D3D4@kientzle.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD-current Current Subject: Re: Can't update CLang-based system 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: Mon, 28 Feb 2011 12:06:34 -0000 On 2011-02-28 04:30, Tim Kientzle wrote: > I have a FreeBSD-CURRENT AMD64 system here that was last updated at r215029. > > I'm trying to update it to r219079, but the build fails in lib/libz when it tries to compile gvmat64.S. It looks like the Makefile here has a workaround for clang on AMD64, but it doesn't seem to actually be working in this case. For this to work, you must put the following fragment in /etc/make.conf, *not* in /etc/src.conf. .if !defined(CC) || ${CC} == "cc" CC=clang .endif .if !defined(CXX) || ${CXX} == "c++" CXX=clang++ .endif # Don't die on warnings NO_WERROR= WERROR= The problem with src.conf is that is only read when make encounters a .include or statement, which usually is at the end of a Makefile. Thus, any checks done on ${CC} or ${CXX} in the beginning of a Makefile pick up only the default value.