Re: [linux-audio-dev] Ardour : features page

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Ardour : features page
From: Conrad Parker (conradp_AT_cse.unsw.EDU.AU)
Date: Fri Oct 27 2000 - 04:49:39 EEST


On Thu, Oct 26, 2000 at 07:08:04PM -0400, Paul Barton-Davis wrote:
> >For the libraries within your package, you *know* that they're
> >there, and what versions they are. The job of dependencies (to
> >ensure their built in the right order) is a job for the Makefiles
> >only.
>
> Actually, its not true that I know that they are there. This is the
> whole point of this change. Because I have 5 or more apps that all use
> some or all of the libraries that emerged from Quasimodo, my plan to
> date has been to require that the libraries be already installed on
> the machine. This has been a total nightmare for most people.

ok, I didn't realise you were talking about libraries which are
separately used by a few different programs, as opposed to libraries
created only as an intermediate build step.

In this case the libraries really are separate packages, should
definitely have their own versioning and may be easier to maintain
as completely separate archives.

I'd really suggest you do the following:

        * put each library and application in its own heirarchy,
with it's own configure script and version.
        * Write an aclocal m4 stub to check for each library, put them
in each library's archive and have the libraries install them
        * write the configure scripts for each app (and library) to
look for only the particular libraries+versions they need

Even if people can only get the source out of CVS, the configure
scripts will explicitly tell them what versions of what libraries
they need so they can make sure to update each archive as needed.

I'd further suggest that you do 'make distcheck' in each archive every
now and then when you know stuff is working, and release
known-working source tarballs. If you're lucky, you'll even find
RPM and debian maintainers for these packages who will explicitly
put in all the dependency checking users need. (Note that most
package maintainers won't touch anything that they can't get as a
tarball).

The upshot is that you don't have to write a complex dependency
checking system, and your users don't have to understand what's
going on. They can simply type "apt-get install ardour" or whatever,
and everything happens. And you can keep your Makefiles simple and
your source trees clean, and just concentrate on the code :)

Oh, and if your libraries were available as separate packages, other
applications could make use of them too ...

> >If you're using libtool to build the libraries, you'll need to
> >depend on eg. ../.libs/libfoo.a not ../libs/libfoo.a.
> ^^^^
> oo.la, right ?

yes -- .la for the dependency, .a to link statically against

try "../libs/.libs/libfoo.la not ../libs/libfoo.la" in the above
sentence. Any way you slice it, uninstalled libtool libraries are a
pain to play with and debug :)

Conrad.


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri Oct 27 2000 - 05:16:40 EEST