Subject: Re: pkgconfig and buildlink
To: Johnny Lam <jlam@jgrind.org>
From: None <mcmahill@mtl.mit.edu>
List: tech-pkg
Date: 03/20/2002 09:14:37
I think this looks good to me. As far as build vs run dependency, its a
little bit of a mix. gtk2 will need pkg-config to build because thats how
it will test for and get flags for glib2, atk, and pango. Packages that
link to gtk2 will probably also need pkg-config as build depends so they
can properly locate and link to gtk2, glib2, atk, and pango. But after
that pkg-config isn't needed. To summarize, at least for gtk2, pkg-config
is always a build depends (because of glib2) and also a run depends (for
others linking to it). Packages which link to gtk2 always need a build
depends, but in most cases (applications, not libs) not a run depends.
So maybe the thing to do is in the pkg-config buildlink.mk file, list
pkg-config as a build depends. Then every package that is configured via
pkg-config pulls in the pkg-config buildlink.mk file in its own
buildlink.mk file. I think this should properly propagate build depends
everywhere that needs it.
Do you want to commit the pkg-config buildlink.mk file you send or shall
I? Either way I can install it here and do some testing first.
-Dan
On Tue, 19 Mar 2002, Johnny Lam wrote:
> On Tue, Mar 19, 2002 at 08:35:57PM -0500, mcmahill@mtl.mit.edu wrote:
> >
> [ buildlink pkg-config implementation removed ]
> >
> > The idea is just to create a wrapper around pkg-config. Have to be a bit
> > careful about return values as pkg-config's return value does mean
> > something.
>
> I'll modify the wrapper generated by _BUILDLINK_CONFIG_WRAPPER_USE to
> respect the return value. It makes a lot of sense to be more careful
> here, and it would allow just reusing that macro target to generate
> the pkg-config wrapper.
>
> > Comments? Maybe I should put this instead in a
> > devel/pkgconfig/buildlink.mk file? Maybe we need a USE_PKG_CONFIG
> > variable?
>
> Yes, I think a devel/pkgconfig/buildlink.mk file would be better. The
> idea is that pkgconfig/buildlink.mk should be included by packages that
> actually use pkg-config, so unless glib2 or gtk2 _use_ pkg-config, then
> their buildlink.mk files really don't need to include pkgconfig's. I
> was thinking something like the attached file (after I make the above
> mentioned change to _BUILDLINK_CONFIG_WRAPPER_USE). Note that it adds
> a build dependency on pkgconfig and not a regular dependency, as from
> your description, I don't think pkg-config is used at run-time.
>
> Comments?
>
> -- Johnny Lam <jlam@jgrind.org>
>