From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22978 invoked by alias); 29 Dec 2006 10:55:26 -0000 Received: (qmail 22966 invoked by uid 22791); 29 Dec 2006 10:55:24 -0000 X-Spam-Check-By: sourceware.org Received: from server.usilu.net (HELO mail.usilu.net) (195.176.178.200) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 29 Dec 2006 10:55:19 +0000 Received: from [1.240.182.245] ([213.140.22.65] RDNS failed) by mail.usilu.net over TLS secured channel with Microsoft SMTPSVC(6.0.3790.1830); Fri, 29 Dec 2006 11:55:16 +0100 Message-ID: <4594F40F.4040408@lu.unisi.ch> Date: Fri, 29 Dec 2006 10:55:00 -0000 From: Paolo Bonzini User-Agent: Thunderbird 1.5.0.9 (Macintosh/20061207) MIME-Version: 1.0 To: gcc-patches@gcc.gnu.org, Mark Mitchell , Daniel Jacobowitz Subject: Re: libgcc move to the top level References: <20061217031435.GA31219@nevyn.them.org> <45880EB3.7070101@lu.unisi.ch> <20061219191730.GA32355@nevyn.them.org> <4588462E.1060701@lu.unisi.ch> <20061219202629.GB5515@nevyn.them.org> <4588ECB7.5020202@lu.unisi.ch> <20061229020906.GA27875@nevyn.them.org> In-Reply-To: <20061229020906.GA27875@nevyn.them.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2006-12/txt/msg01810.txt.bz2 Daniel Jacobowitz wrote: > On Wed, Dec 20, 2006 at 08:56:39AM +0100, Paolo Bonzini wrote: >>>> If possible, I would like a proof of concept that it is possible to >>>> migrate the building of the extra parts incrementally without breaking >>>> non-converted targets, before committing (unless another maintainer >>>> overrules me). >>> OK, I'll do that (later). >> Just to make it clearer, I'm ok with having to convert a directory at a >> time (arm, rs6000, i386, ...). So, if your proof-of-concept works only >> with one target, but breaks only those targets that share the same cpu >> directory, I'm fine with this. > > I'd rather have it break nothing. So that's what I did. Of course, > the risk of collateral damage here is quite high; our configuration is > a terrible maze today. So, I have not removed any information about > which startfiles to build from the gcc directory yet. If information > is provided by both the gcc and libgcc configury, then they are > compared and there will be loud failure if they differ. > > The attached two patches correct some omissions in my previous > config.host file, and move building of EXTRA_PARTS to the libgcc > subdirectory for all GNU/Linux targets. It involves updating > config.host to indicate which parts, and adding the necessary > rules. The rules are similar to the ones in gcc/ with only > minor adjustments (for automatic dependency tracking, using $(CC), > removal of $(T), et cetera). It's easy to do other targets. > > Both patches committed to the branch. Look good? Yes (I am reviewing now the libgcc configury itself, but it looks promising), but with a few changes: 1) extra_parts List of extra object files that should be compiled for this target machine. This may be overridden by setting EXTRA_PARTS in a tmake_file fragment. Any good reason to allow both two possibilities? What about complaining loudly if EXTRA_PARTS is set by the tmake_file? 2) No need for the extra-parts variable, which is a bit confusing because of the confusion with extra_parts. You can instead do this: ifneq ($(EXTRA_PARTS),) all: extra-parts else ifneq ($(GCC_EXTRA_PARTS),) all: gcc-extra-parts endif 3) You have this +ifneq ($(EXTRA_PARTS),) + INSTALL_PARTS = $(EXTRA_PARTS) +else + INSTALL_PARTS = $(GCC_EXTRA_PARTS) +endif + I'd rather merge the setting of INSTALL_PARTS with the setting of extra-parts above, like this: ifneq ($(EXTRA_PARTS),) all: extra-parts INSTALL_PARTS = $(EXTRA_PARTS) else ifneq ($(GCC_EXTRA_PARTS),) all: gcc-extra-parts INSTALL_PARTS = $(GCC_EXTRA_PARTS) endif 3) No blank line here: + exit 1 +endif +endif + + # Early copyback; see "all" above for the rationale. The Thanks, Paolo