[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using convenience libraries with non-recursive make
From: |
Bob Friesenhahn |
Subject: |
Re: Using convenience libraries with non-recursive make |
Date: |
Wed, 22 Aug 2012 18:12:21 -0500 (CDT) |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
On Wed, 22 Aug 2012, Del Merritt wrote:
[Reponding on-list to what was Diego's private response to me; I hope he
doesn't mind.]
I just finished an experiment with a single libfoo.a and all many-thousands
of sources for libfoo_a_SOURCES. The compilation worked, but I got the
dreaded "make[1]: execvp: /bin/bash: Argument list too long" message when it
tried to do the "ar". To the shell's credit, the command line appears to be
134K bytes/characters in length, so I can understand why it would choke.
This doesn't bode well for the various "dist" targets.
In case it is not clear, when a libtool convenience library is used,
all of the object files are extracted from the .a file and then the
object files are passed to the linker. If you were to successfully
build the archive, the doom might just be postponed to the link step.
In a non-recursive build, it really should be better to simply
encapsulate the collections of objects to use (equivalent to a
convenience library) into make variables and then tell automake to use
those when the dependent libraries or executables get built.
Libtool is supposed to take steps to limit command line length to the
tested limits. Apparently this did not work for you.
Bob
--
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
RE: Using convenience libraries with non-recursive make, John Calcote, 2012/08/15