From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8426 invoked by alias); 8 Mar 2008 19:42:40 -0000 Received: (qmail 8418 invoked by uid 22791); 8 Mar 2008 19:42:39 -0000 X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 08 Mar 2008 19:42:17 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m28JgElF025079; Sat, 8 Mar 2008 14:42:14 -0500 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m28JgErE012821; Sat, 8 Mar 2008 14:42:14 -0500 Received: from opsy.redhat.com (vpn-248-35.boston.redhat.com [10.13.248.35]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m28JgEE9012495; Sat, 8 Mar 2008 14:42:14 -0500 Received: by opsy.redhat.com (Postfix, from userid 500) id 519E93782C6; Sat, 8 Mar 2008 11:49:55 -0700 (MST) To: Ralf Wildenhues Cc: Gcc Patch List Subject: Re: Patch: automatic dependencies for gcc References: <20080308143259.GA28658@ins.uni-bonn.de> <20080308163601.GA31768@ins.uni-bonn.de> <20080308184059.GE31768@ins.uni-bonn.de> From: Tom Tromey Reply-To: Tom Tromey X-Attribution: Tom Date: Sat, 08 Mar 2008 19:42:00 -0000 In-Reply-To: <20080308184059.GE31768@ins.uni-bonn.de> (Ralf Wildenhues's message of "Sat\, 8 Mar 2008 19\:40\:59 +0100") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: 2008-03/txt/msg00548.txt.bz2 >>>>> "Ralf" == Ralf Wildenhues writes: Ralf> This reveals that depcomp relies on the fact that dependencies for Ralf> subdir/object.o go in subdir/$(DEPDIR)/object.Po. Your patch puts Ralf> them in $(DEPDIR)/subdir/object.Po. Thanks, I forgot about this. I'll re-bootstrap on the compile farm with something like this. Ralf> -COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Po Ralf> +COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(dir $*)/$(DEPDIR)/$(notdir $*).Po I think I will change this to use $(*D) and $(*F). Ralf> --include $(patsubst %.o, $(DEPDIR)/%.Po, $(ALL_HOST_OBJS)) Ralf> +DEPFILES = $(foreach obj, $(ALL_HOST_OBJS), \ Ralf> + $(dir $(obj))$(DEPDIR)/$(patsubst %.o,%.Po,$(notdir $(obj)))) This makes it tempting to change depcomp instead :) Ralf> AC_CONFIG_COMMANDS([gccdepdir],[ Ralf> - ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/mkinstalldirs $DEPDIR/build Ralf> + ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/mkinstalldirs build/$DEPDIR Ralf> for lang in $subdirs Ralf> do Ralf> - ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/mkinstalldirs $DEPDIR/$lang Ralf> + ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/mkinstalldirs $lang/$DEPDIR Ralf> done], [subdirs="$subdirs" ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR]) In Quagmire I create necessary directories in the Makefile. I wonder whether we should just do that here as well. I'll take a look. Tom