[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
code.
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) <http://www.eyrie.org/~eagle/>
RE: Using convenience libraries with non-recursive make, John Calcote, 2012/08/15