Bob Friesenhahn <bfrie...@simple.dallas.tx.us> 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 (r...@stanford.edu) <http://www.eyrie.org/~eagle/>