On Fri, 27 Feb 2015, Eric Blake wrote:
Is it worth teaching libtool to change ARFLAGS to be 'crD' instead of
'cru' when it is detected that ar is new enough to support deterministic
libraries, in part to shut up the warning message being printed on every
single libtool link line? (Note that I would explicitly include 'D',
because even though Fedora chose to make 'D' the default, other distros
may choose to make 'U' the default). Or conversely, do we want ARFLAGS
to be 'cruU', to force non-deterministic mode, since any speedups made
possible by timestamp comparison ('u') are only possible in
non-deterministic mode? Does the use of 'u' buy us much measurable time
when repeatedly and incrementally linking large libraries, where the new
'D' mode is forced to link everything instead of just the new inputs?
And of course there's the question of how easy is it to detect that ar
is new enough to understand the 'D'/'U' dichotomy?
It seems that -D mode only works if the archive is created from
scratch, or the argument file list supplied is the same (including
order) each time. This does not seem to be compatible with the
options -ru which update the archive only if the provided file is
newer, and may also be used in an incremental mode of operation (e.g.
just one file is re-compiled).
Regardless, 'cru' is portable other toolchains/systems whereas -D
seems to be limited to binutils.
Is this something I should redirect to automake instead of libtool?
Perhaps so since it seems that Automake is in the driver's seat here.
Bob
--
Bob Friesenhahn
bfriesen(a)simple.dallas.tx.us,
http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,
http://www.GraphicsMagick.org/