Subject: Re: Too many bogus dependencies in "buildlink.mk" files
To: Johnny Lam <jlam@jgrind.org>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 01/05/2002 07:21:20
On Sat, 5 Jan 2002, Johnny Lam wrote:

> On Wed, Jan 02, 2002 at 02:56:24PM -0600, Frederick Bruckman wrote:
> > On Wed, 2 Jan 2002, Johnny Lam wrote:
> >
> > What about packages that have more than one shared library, all of which
> > are not used by any particular package? Or how would you remove a
> > dependency entirely? How do you signify that "ee" doesn't depend on any
> > version of "bonobo" at all? You can't, and that's why buildlink.mk files
> > should *never* include other buildlink.mk files.
> >
> > You already have the versioning in the included file, if it needs to
> > included at all, so there's nothing lost by moving the include out of
> > the buildlink.mk file and into the Makefile.
>
> I've been thinking this over some more, and I think that instead of removing
> the recursive inclusions from buildlink.mk files, we should remove the
> DEPENDS lines from the buildlink.mk files.  The DEPENDS lines can be moved
> to the package Makefiles where they were before.  I believe this solves
> the problem you described and still allows the recursively-included
> buildlink.mk files to pull in all of the libraries they need into the
> buildlink directory.

Hmm. That would take us back to having to change lots of "Makefiles"
whenever a shared library is updated, which I suspect would make many
people unhappy. Moreover, you really don't need to see the shared
libraries from "bonobo" or "Mesa-libs" to build "ee". By leaving them
out of the mix, you save space and time on the build host. A
successful build then proves that you really didn't need them, and if
it turns out that you did, then you need DEPENDS for them, too.

Frederick