From owner-svn-src-all@FreeBSD.ORG Thu Jun 11 00:19:48 2009 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F2968106566B; Thu, 11 Jun 2009 00:19:47 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail11.syd.optusnet.com.au (mail11.syd.optusnet.com.au [211.29.132.192]) by mx1.freebsd.org (Postfix) with ESMTP id 8A2898FC0A; Thu, 11 Jun 2009 00:19:47 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c122-106-159-184.carlnfd1.nsw.optusnet.com.au (c122-106-159-184.carlnfd1.nsw.optusnet.com.au [122.106.159.184]) by mail11.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id n5B0Jhib021442 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 11 Jun 2009 10:19:45 +1000 Date: Thu, 11 Jun 2009 10:19:43 +1000 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: "Bjoern A. Zeeb" In-Reply-To: <20090610101009.N22887@maildrop.int.zabbadoz.net> Message-ID: <20090611101544.H20959@delplex.bde.org> References: <200906090903.n5993D3E062579@svn.freebsd.org> <20090609090541.D22887@maildrop.int.zabbadoz.net> <20090610175011.E20224@delplex.bde.org> <20090610101009.N22887@maildrop.int.zabbadoz.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Bruce Evans Subject: Re: kmod.mk - modules build framework [was: svn commit: r193818 - head/sys/modules/sound/sound] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Jun 2009 00:19:48 -0000 On Wed, 10 Jun 2009, Bjoern A. Zeeb wrote: > On Wed, 10 Jun 2009, Bruce Evans wrote: > >> On Tue, 9 Jun 2009, Bjoern A. Zeeb wrote: >> >>> On Tue, 9 Jun 2009, Bjoern A. Zeeb wrote: >>>> Log: >>>> Depend on @ machine (_ILINKS) as we do with other modules so that @ >>>> is there for parallel (-jN) builds. Ideally beforedepends in kmod.mk >>>> should do the right thing but it seems it does not. >>> >>> Anyone with lots of build framework know how may want to look at this. >> >> Failures only for parallel builds normally mean missing dependencies. >> >>>> -feeder_eq_gen.h: >>>> +feeder_eq_gen.h: @ machine >>>> ${AWK} -f @/tools/feeder_eq_mkfilter.awk -- ${FEEDER_EQ_PRESETS} > >>>> ${.TARGET} >> >> Here there is still a missing dependency on the >> @/tools/feeder_eq_mkfilter.awk (fixed in the next commit). This dependency >> is not very important, but since the utility has "@" in its pathname, >> running it certainly depends on "@". > > And adding it again messes with @ not being there for parallel > builds:( > >> This missing dependency seems to be a general bug. There is an ordering >> requirement that beforedepend is before built before ${DEPENDFILE}, >> but this apparently doesn't extend to ${DEPENDFILE}'s prerequisites, >> and I don't know of any general way to make it do so and it probably >> shouldn't do so in general (some of the prerequisites might be needed >> before beforedepend). > > Well no; that should not be the case. I would say that would be a bug > as beforedepnd only adds the @ and machine symlinks to my memory from > reading the other day. > > All after all that's why I said this needs someone with the devotion > to sort all this out, know what the right way to do things is, have > the time, .. See my private reply to the next commit message. It says to copy the handling of this problem for vnode_if.awk in kmod.mk, where it took 3 commits between 1999 and 2001 to get the subtleties right! Bruce