Subject: Re: hidden dependencies, Act II
To: Dan Winship <danw@ximian.com>
From: Johnny C. Lam <lamj@stat.cmu.edu>
List: tech-pkg
Date: 06/13/2001 13:42:12
Yes, we do this in some of the packages already where we pass
ac_cv_lib_foo=no through CONFIGURE_ENV. The difference between this
and the pkgautoconf stuff is whether we explicitly remove libraries or
if we explicitly allow checks for them. I think of it as kind of a
"default-allow" versus "default-deny" stance, to borrow firewall
terminology. I guess we should answer the question of the philosophy
to which we want to adhere in pkgsrc. I think we should be
"default-deny", meaning we should be required to explicitly name the
libraries we wish to allow to be found.
Cheers,
-- Johnny C. Lam <lamj@stat.cmu.edu>
Department of Statistics, Carnegie Mellon University
http://www.stat.cmu.edu/~lamj/
Dan Winship <danw@ximian.com> writes:
>
> On 13 Jun 2001 05:42:48 -0400, Johnny C. Lam wrote:
> > There was a suggestion by Todd Vierling <tv@wasabisystems.com> that we
> > try to hack the AC_CHECK_LIB macro in autoconf as an alternative way
> > to deal with hidden dependencies.
>
> You don't need to hack the macro. Just fake out the cache:
>
> danw@twelve-monkeys:/tmp> cat configure.in
> AC_INIT(configure.in)
>
> AC_CHECK_LIB(c, main)
> AC_CHECK_HEADER(stdio.h)
>
> AC_OUTPUT(Makefile)
> danw@twelve-monkeys:/tmp> echo ac_cv_lib_c_main=no > config.cache
> danw@twelve-monkeys:/tmp> echo ac_cv_header_stdio_h=no >> config.cache
> danw@twelve-monkeys:/tmp> ./configure
> loading cache ./config.cache
> checking for main in -lc... (cached) no
> checking how to run the C preprocessor... cc -E
> checking for stdio.h... (cached) no
> updating cache ./config.cache
> creating ./config.status
> creating Makefile
>
> -- Dan