there a list of good hints out there for managing libs across directories ?  i 
flipped through the libtool manual and the autobook but didnt really find 
anything ...

consider:
c/Makefile.am: create a simple C app, needs lib/libfoo.la via LIBADD
lib/Makefile.am: create a simple libfoo.la
Makefile.am: simply declares SUBDIRS = c lib

the c subdir gets processed first and when it encounters 
the '$(top_builddir)/lib/libfoo.la' requirement, it fails since it doesnt 
know how to make it.  simple enough, just add:
$(top_builddir)/lib/libfoo.la:
        $(MAKE) -C $(top_builddir)/lib libfoo.la

then we move onto installing via DESTDIR:
make install DESTDIR=$PWD/_inst

now, one of two things can happen ... you can already have a copy of the 
package installed in / in which case the -L paths libtool inserts makes 
things seem to work OK or it fails because ABI has changed and the installed 
version does not match the new stuff, or it'll just straight bomb since 
nothing is installed in / and the libfoo has yet to be installed into _inst/.

what's the solution here ?  yes, i can re-order SUBDIRS so that it reads "lib 
c", but is that really a guarantee in a parallal build that the "c" subdir 
will not get processed before the "lib" subdir (the automake manually isnt 
especially clear here, maybe i'll bug them) ?  what if the project has so 
many nests of dirs and interdependencies that simply re-ordering SUBDIRS may 
not be possible ?
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to