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/02/2002 14:56:24
On Wed, 2 Jan 2002, Johnny Lam wrote:

> On Wed, Jan 02, 2002 at 11:59:24AM -0600, Frederick Bruckman wrote:
>
> In this particular instance, I recall that when I created
> libwww/buildlink.mk, I noted that libwwwssl.so depends on libssl.so.  I
> was unclear at the time how the libwww libraries were used, so I erred on
> the side of caution and included the openssl/buildlink.mk file so that
> package builds would work correctly.  If what you say about libwwwssl.so
> is true, then we should remove the inclusion of openssl/buildlink.mk and
> instead add it to the packages that use libwwwssl.so.  Please feel free to
> make this change.

I'll do that.

> > Now consider "ee", which depends on lots of packages which it has no use
> > for -- libxml, Mesa, ORBit, bonobo, glibwww, libwww, and oaf, including
> > multiple wildcards for libxml and bonobo.

> The BUILDLINK_DEPENDS.<package> line in buildlink.mk files shouldn't change
> whenever <package> is updated.  It only needs to be updated when the shared
> libraries from the newer version break the ABI, which is usually signaled by
> a bump in the major number on the shared library.

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.

Frederick