Hi again, nobody addressed the mail that I wrote a month ago, included again below, it is still a problem for me however. What is the right way of doing this? Or is indeed something that is actually a problem with libtool? On Thu, Oct 26, 2000 at 03:31:04PM +0200, Carlo Wood wrote: > autoconf handles libraries as if libtool doesn't exist: > ./configure figures out which libraries are needed and > LIBS is set accordingly in *all* generated Makefiles. > > The idea behind this is that libraries that are needed are > needed everywhere: also when compiling tests. > > [ Meaning: if libfoo needs libbfd, then libfoo is > compiled with -lbfd, and tests are compiled with > -lfoo -lbfd. ] > > However, when building a library yourself with libtool > that uses libraries on its own then the libraries needed > by the library that is being build should not be passed > on to the tests that link with the built library. > > For example, in my case: > 1) I build libcwd.la (which depends on -lbfd -liberty) > 2) I build libcw.la which depends on ../libcwd/libcwd.la > > next I want to compile a test program that depends on > libcw.la and it gets linked with ../libcwd/libcwd.la too > because LIBS was set to `../libcwd/libcwd.la' during the > configuration of libcw! > > That does not only fail (because the relative path is nonsense > in the test directory) it is also essentially wrong because > the dependency on libcwd is supposed to be passed by libtool, > not by autoconf (by means of "passing on" the LIBS environment > variable). > > [ I get: > > ~/c++/libcw-objdir/src/libcw/io/tests>make burst_tst > g++ -DHAVE_CONFIG_H -I- -I../../include >-I../../../../../libcw/src/libcw/io/tests/../../include -DDEBUG -g -fno-exceptions >-pipe -Wall -Woverloaded-virtual -Wundef -Wpointer-arith -Winline -Wwrite-strings >-Werror -c ../../../../../libcw/src/libcw/io/tests/burst_tst.cc > /bin/sh ../../libtool --mode=link g++ -DDEBUG -g -fno-exceptions -pipe -Wall >-Woverloaded-virtual -Wundef -Wpointer-arith -Winline -Wwrite-strings -Werror -o >burst_tst burst_tst.o ../../libcw.la ../libcwd/libcwd.la > mkdir .libs > libtool: link: cannot find the library `../libcwd/libcwd.la' > > Where "../libcwd/libcwd.la" shouldn't be there at all > (it is the LIBS that was needed to build libcw in > ~/c++/libcw-objdir/src/libcw). > ] > > The only work-around seems to be to put a new configure.in file in every > test directory. This is hardly acceptable because that would increase > the size of the tarball dramatically (a `configure' script is LARGE). > > There must be better way, I hope. > Please ask me to clarify when needed. -- Carlo Wood <[EMAIL PROTECTED]> _______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool
