From owner-freebsd-current@FreeBSD.ORG Sun Sep 12 14:03:26 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4052A16A4CE; Sun, 12 Sep 2004 14:03:26 +0000 (GMT) Received: from bremen.shuttle.de (bremen.shuttle.de [194.95.249.251]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D31B43D2D; Sun, 12 Sep 2004 14:03:25 +0000 (GMT) (envelope-from schweikh@schweikhardt.net) Received: by bremen.shuttle.de (Postfix, from userid 10) id 643C83B94D; Sun, 12 Sep 2004 16:03:24 +0200 (CEST) Received: from hal9000.schweikhardt.net (localhost [127.0.0.1]) i8CE3BNc066953; Sun, 12 Sep 2004 16:03:11 +0200 (CEST) (envelope-from schweikh@hal9000.schweikhardt.net) Received: (from schweikh@localhost) by hal9000.schweikhardt.net (8.13.1/8.13.1/Submit) id i8CE3B2A066952; Sun, 12 Sep 2004 16:03:11 +0200 (CEST) (envelope-from schweikh) Date: Sun, 12 Sep 2004 16:03:11 +0200 From: Jens Schweikhardt To: Kris Kennaway Message-ID: <20040912140311.GA60265@schweikhardt.net> References: <412CBC91.3070900@portaone.com> <412CD983.2040700@cronyx.ru> <20040825183342.GA81434@xor.obsecurity.org> <20040912112411.GA62181@schweikhardt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040912112411.GA62181@schweikhardt.net> User-Agent: Mutt/1.5.6i cc: Maxim Sobolev cc: Roman Kurakin cc: Ruslan Ermilov cc: current@FreeBSD.ORG cc: portmgr@FreeBSD.ORG Subject: Re: ccache support for make buildworld/make release X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Sun, 12 Sep 2004 14:03:26 -0000 Following up myself, On Sun, Sep 12, 2004 at 01:24:11PM +0200, Jens Schweikhardt wrote: # On Wed, Aug 25, 2004 at 11:33:42AM -0700, Kris Kennaway wrote: # ... # # BTW, I don't think there's anything to set up..you just set # # CC="ccache cc" or similar. I've investigated further and found that the cc which is used after bootstrapping uses a different start for include path search, e.g. /usr/bin/cc -v ... #include "..." search starts here: #include <...> search starts here: /usr/include End of search list. /usr/obj/share/HEAD/src/i386/usr/bin/cc -v ... #include "..." search starts here: #include <...> search starts here: /usr/obj/share/HEAD/src/i386/usr/include End of search list. This is why the includes are not found when ccache is forced to use /usr/bin/cc. Which somewhat defeats the purpose of ccache: if the build switches compilers, ccache only speeds up the bootstrapping up to that point. Unfortunately, ccache also hashes the compiler's modification timestamp, so each time a new cc is used in the build, this effectively means no more cache hits for all previous compiled files. Hmm. Maybe I could hack ccache to make it ignore the modification timestamp... Hmmm. Room for foot shooting... Hmmm. Regards, Jens -- Jens Schweikhardt http://www.schweikhardt.net/ SIGSIG -- signature too long (core dumped)