From owner-freebsd-ports@FreeBSD.ORG Wed Jun 18 18:05:47 2008 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56A711065674 for ; Wed, 18 Jun 2008 18:05:47 +0000 (UTC) (envelope-from fbsd06+XA=646d3203@mlists.homeunix.com) Received: from mxout-03.mxes.net (mxout-03.mxes.net [216.86.168.178]) by mx1.freebsd.org (Postfix) with ESMTP id 25DBF8FC1E for ; Wed, 18 Jun 2008 18:05:47 +0000 (UTC) (envelope-from fbsd06+XA=646d3203@mlists.homeunix.com) Received: from gumby.homeunix.com. (unknown [87.81.140.128]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTP id 1FBA923E405 for ; Wed, 18 Jun 2008 14:05:42 -0400 (EDT) Date: Wed, 18 Jun 2008 19:05:36 +0100 From: RW To: freebsd-ports@freebsd.org Message-ID: <20080618190536.3f4cd45a@gumby.homeunix.com.> In-Reply-To: <20080618172352.GA45188@ravenloft.kiev.ua> References: <20080618172352.GA45188@ravenloft.kiev.ua> X-Mailer: Claws Mail 3.4.0 (GTK+ 2.12.10; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: Standardize NO_CCACHE flag and ccache definitions X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Jun 2008 18:05:47 -0000 On Wed, 18 Jun 2008 20:23:52 +0300 Alex Kozlov wrote: > This is not luck. To think more about this, CCACHE_HASH_COMPILER > and CCACHE_NOHASH_SIZE_MTIME is two method for the same. > hash size and mtime is lightweight and CCACHE_HASH_COMPILER > is more heavy. It's negligible, it added a few seconds to a build of Firefox, and I had to build it ten times to determine that because the build-to-build variations are much greater. > But in case of buildworld CCACHE_HASH_COMPILER is still not necessary, > CCACHE_NOHASH_SIZE_MTIME is enough. It depends what you want to achieve, the object of ccache is to cache compiler outputs where the results are identical to a fresh build (subject to possible minor exceptions like source file paths). If you don't detect compiler updates then you can no longer say that's true. If you use CCACHE_NOHASH_SIZE_MTIME then you are accepting object files produced by mixture of, arbitrarily old, versions of the compiler. If a new compiler version brings in better code generation, I'd rather pick it up. CCACHE_HASH_COMPILER is a good compromise IMO, because it will detect changes in the driver, without being sensitive to minor world rebuilds. You still need to watch for security updates to GCC because in principle they might not affect the drivers, that's rare though.