Subject: Re: The infamous hidden dependencies problem
To: Todd Vierling <firstname.lastname@example.org>
From: Johnny C. Lam <email@example.com>
Date: 06/07/2001 20:02:32
Todd Vierling <firstname.lastname@example.org> 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.
-- Johnny C. Lam <email@example.com>
Department of Statistics, Carnegie Mellon University