libtool
[Top][All Lists]
Advanced

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

Re: Documentation patch


From: Ralf Wildenhues
Subject: Re: Documentation patch
Date: Sat, 20 Aug 2005 11:03:31 +0200
User-agent: Mutt/1.5.9i

Hi Tom,

* tom fogal wrote on Sat, Aug 20, 2005 at 12:29:51AM CEST:
> Alright, I'm very new at this so feel free to berate me && mention if I
> did something wrong here.

No problem.

First, please always send patches in unified diff format (option `-d'
for diff, or just put the line `diff -u' in ~/.cvsrc).  That way, they
can be applied also to slightly changed sources.  Second, please
consider sending patches to the libtool-patches list so people only
wanting to read general discussion aren't bothered.  (I guess I forgot
that a few times, too).  You'll get moderated if you don't subscribe,
but only the first time.

> Attached is a short doc patch that (I think) provides better
> information on how convenience libraries work, and mentions that the
> ordering is important to --preserve-dup-deps.  For the latter, I've
> mentioned that the limitation will eventually be removed, although I've
> given no timescale for this.

Notes below.

> Maybe it would be appropriate to patch TODO as well... ?

Yep.  A short note would suffice.

> Index: doc/libtool.texi
> ===================================================================
> RCS file: /cvsroot/libtool/libtool/doc/libtool.texi,v
> retrieving revision 1.193
> diff -r1.193 libtool.texi
> 1052a1053,1075
> > When another libtool-created archive is linked to a convenience library, all
> > objects from the convenience library are linked into the newly created
> > archive.  This is different from a traditional static library, which only
> > includes the objects required to resolve the current set of undefined
> > references.  Due to this behavior, we can create one convenience library 
> > that
> > is the union of a set of convenience libraries. 

better: ..we can create a library that is the union..
because: you may create both a regular (either static or shared)
library out of it, or yet another convenience library.
You could highlight this fact by another sentence.

> > @example
> > host$ @kbd{libtool --mode=link $CC $CFLAGS $LDFLAGS -o lib123.la \
> >             subdirA/lib1.la subdirB/lib2.la subdirC/lib3.la}
> > @end example
> > 
> > This provides a logical and portable way of linking a project that includes
> > several different modules, stored in different subdirectories.  Each
> > subdirectory can create a libtool convenience archive, and then one archive
> > can be created that has all the symbols from each of the different modules,
> > by a command similar to the above.  Finally the application can be linked
> > against the new all-encompassing convenience archive.
> > 
> > For those familiar with @sc{gnu} @command{ld}, convenience archives can be
> > thought of as an abstracted, portable implementation of
> > @option{--whole-archive}.

Now while this last sentence is true, there is a slight difference in
semantics:  With --whole-archive, the decision to link-in-as-whole is
done at link time of the output, whereas with libtool it is done at link
time of the convenience archive.  (I have found the latter to be a very
good idea in practice, BTW.)

I'm not sure how/whether this fact is best put in above description.

> 1194c1217,1219
> < that libtool knows it can safely.
> ---
> > that libtool knows it can safely.  Please be aware that in current versions
> > of libtool, this option must appear before @option{$CC} to be effective.
> > This limitation will be removed in future versions of libtool.

I would not write this last sentence here, but put it in TODO as you
suggested.

Just one more note for texi documentation: I usually use `make all dvi'
and read the info and dvi output for long lines, alignment and general
looks.  I'll do that with a unified diff of yours.  :)

Cheers, and thanks for working on this!
Ralf




reply via email to

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