From owner-freebsd-ports@FreeBSD.ORG Sat Jun 21 15:44:50 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 ACEC11065671 for ; Sat, 21 Jun 2008 15:44:50 +0000 (UTC) (envelope-from mezz7@cox.net) Received: from eastrmmtao101.cox.net (eastrmmtao101.cox.net [68.230.240.7]) by mx1.freebsd.org (Postfix) with ESMTP id 429618FC13 for ; Sat, 21 Jun 2008 15:44:50 +0000 (UTC) (envelope-from mezz7@cox.net) Received: from eastrmimpo03.cox.net ([68.1.16.126]) by eastrmmtao101.cox.net (InterMail vM.7.08.02.01 201-2186-121-102-20070209) with ESMTP id <20080621154450.TVRA25509.eastrmmtao101.cox.net@eastrmimpo03.cox.net>; Sat, 21 Jun 2008 11:44:50 -0400 Received: from mezz.mezzweb.com ([24.255.149.218]) by eastrmimpo03.cox.net with bizsmtp id gfkp1Z0034iy4EG02fkpHR; Sat, 21 Jun 2008 11:44:49 -0400 Date: Sat, 21 Jun 2008 10:47:10 -0500 To: "Alex Kozlov" From: "Jeremy Messenger" Content-Type: text/plain; format=flowed; delsp=yes; charset=us-ascii MIME-Version: 1.0 References: <20080621152541.GA41126@ravenloft.kiev.ua> Content-Transfer-Encoding: 7bit Message-ID: In-Reply-To: <20080621152541.GA41126@ravenloft.kiev.ua> User-Agent: Opera Mail/9.50 (Linux) Cc: RW , freebsd-ports@freebsd.org 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: Sat, 21 Jun 2008 15:44:50 -0000 On Sat, 21 Jun 2008 10:25:41 -0500, Alex Kozlov wrote: > On Sat, Jun 21, 2008 at 01:32:20AM +0100, RW wrote: >> On Wed, 18 Jun 2008 23:27:16 +0200 >> Martin Tournoij wrote: >> >> >> > There are some ports which refuse to compile with ccache, these all >> > seem to be projects which use scons, unlike make, scons does not copy >> > the user's environment automatically, and the required environment >> > variables for ccache (like CCACHE_DIR) aren't present, which leads to >> > build failure, an example is games/freera. >> > >> > I'm not that familiar with scons, and what exactly the "proper way" is >> > to handle this sort of stuff in scons, >> >> I don't have any experience with scons, but I did used to use cons. >> IIRC cons expects to do the caching itself. Since it already generates a >> hash that can be used to label the correct object file, it pretty much >> comes for free and running ccache would just duplicate the overheads. I >> think it's probable that there isn't a "proper way". >> From porter's handbook: > > To make third party SConstruct respect everything that is passed to SCons > in SCONS_ENV (that is, most importantly, CC/CXX/CFLAGS/CXXFLAGS), patch > the SConstruct so build Environment is constructed like this: > env = Environment(**ARGUMENTS) > > It may be then modified with env.Append and env.Replace. I have solved with ccache issue in net-p2p/linuxdcpp by tweak os.environ stuff in SConstruct and add SCONS_BUILDENV=${SCONS_ENV} in linuxdcpp/Makefile. Cheers, Mezz > -- > Adios -- mezz7@cox.net - mezz@FreeBSD.org FreeBSD GNOME Team http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org