Subject: Re: The infamous hidden dependencies problem
To: Todd Vierling <tv@wasabisystems.com>
From: Johnny C. Lam <lamj@stat.cmu.edu>
List: tech-pkg
Date: 06/07/2001 20:02:32
Todd Vierling <tv@wasabisystems.com> writes:
> 
> On Thu, 7 Jun 2001, Johnny C. Lam wrote:
> 
> : I'm willing to do the majority of the work to implement this solution,
> : but I'm hoping for some discussion on my theory of how to solve this
> : problem.
> 
> Have you thought about possibly using autoconf (on packages that use GNU
> autoconf -- a huge number of them) to change the CHECK_LIB macro to default
> to not finding a library unless --enable-libfoo is specified?
> 
> Then just run autoconf as a build dependency, specify explicit
> --enable-libfoo switches, and voila, clean build.

This is a relatively cool idea, though I see some minor problems with
it.  Firstly, you'd need to list every single library that is used by
a package, which seems to be slightly onerous.  Secondly, you'd still
have to patch a lot of configure scripts since not all authors use the
AC_CHECK_LIB macro; several packages create their own macros to check
for librares.  Thirdly, this only solves the problem for GNU
autoconf-based packages.  I think that we need something more general
to isolate the build environment for all the packages, which is why
I'm pushing this buildlink.mk idea.

	Cheers,

     -- Johnny C. Lam <lamj@stat.cmu.edu>
        Department of Statistics, Carnegie Mellon University
        http://www.stat.cmu.edu/~lamj/