[gst-devel] builddirs (was Re: ATK dependency added to GTK+)

Erik Walthinsen omega at temple-baptist.com
Thu May 3 23:40:24 CEST 2001

On 3 May 2001, Owen Taylor wrote:

> What you do is add an entry to the 'modules' file in CVSROOT that
> looks like something like:
>  gtk-everything &glib &pango &atk &gtk+
> And this, when you check out gtk-everything, creates a subdir
> for each of the listed modules.
> But the sticking point is that the configure / build for each
> of the above would then have to be fixed so that all the modules
> could be built before installing any of them.
> Which is probably about a days work.

This is something very much like the point I mentioned to you at GUADEC
(before Micheal's bonobo talk), that there needs to be a way for packages
to be built from the not-yet-installed instance of a package it depends
on.  pkg-config is nicely placed to do this, with the appropriate tricks
in the autoconf macro.

When glib is configured and built, it creates a .pc file that includes any
information necessary to generate cflags and ldflags that allow an app to
build against the builddir.  gtk+ comes along and (by way of the toplevel
configure/Makefile) asks pkg-config to specifically look at this .pc file
and treat it as an un-installed package.

My specific interest is that a lot of steps have been taken in the
GStreamer build tree to ensure that we don't have to constantly do a `make
install` every time we need to run a test program (this is mostly plugin
search-path stuff).  This works well until you start working on apps and
plugins outside of the main package.  If you're also doing development on
GStreamer itself at the same time (which will be the case for a little
while longer until the core is more stable), you're stuck with having to
do a `make install` *every* time you touch the core.  This also causes
problems with the plugin system (which should be dealt with as well,
but..) that make it very inconvenient to run the test apps in the main
GStreamer build dir at the same time.

A year ago I patched up the -config scripts for some research packages so
they could pull off this trick, and it worked quite well.  I'm willing to
put together a patch to do this with pkg-config, just say the word.

      Erik Walthinsen <omega at temple-baptist.com> - System Administrator
       /  \                GStreamer - The only way to stream!
      |    | M E G A        ***** http://gstreamer.net/ *****
      _\  /_

More information about the gstreamer-devel mailing list