[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using convenience libraries with non-recursive make

From: Russ Allbery
Subject: Re: Using convenience libraries with non-recursive make
Date: Wed, 15 Aug 2012 13:25:57 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)

Bob Friesenhahn <address@hidden> writes:
> On Wed, 15 Aug 2012, Diego Elio Pettenò wrote:

>> why are you using multiple convenience libraries? If you're not going
>> to install any of them, and the result is one final binary, you should
>> just list all the sources to that one target. This also helps if you
>> change some of the source files as it only needs to re-perform the
>> final link step instead of having to do one or more ar calls.

> +1 on this opinion.

> The software I maintain does not use convenience libraries.  They are
> only needed for recursive (i.e. evil) builds.  Convenience libraries are
> slow and they block parallel builds.

I use convenience libraries with non-recursive make in Automake projects,
usually because the convenience library is imported from another project
and therefore represents an isolated set of code with a well-defined API.
(I use it for my equivalent of gnulib, for example.)  Often, the
convenience library requires CPPFLAGS or the like that the rest of the
project doesn't, and I like to keep those things granular so that I catch
the unintentional introduction of unwanted dependencies in the rest of the

So there are some reasons to do this.  However, I agree that when you have
dozens of them, there may be something amiss.

Russ Allbery (address@hidden)             <>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]