hello. i'm curious what the proper solution is to the following problem: - i have a shared library, libfoo-internal.so
- i have another shared library, libfoo.so that depends on libfoo-internal.so - the interface between these two libraries may change in any given version of foo. i'm compiling libfoo-internal.so with -release XX.YY to make sure libfoo.so uses the correct version. - the interface from libfoo.so to any applications that use it is stable throughout a given major version (eg: libfoo-1.0.so and libfoo-1.4.so have the same interface to the application). i use -version_info XX.YY to handle this. - when i use libtool to generate my .la files, i find that libfoo.la contains the line dependency_libs="libfoo-internal.la". this means that when my applications link against libfoo.so, they're also linked against its dependencies (libfoo-internal.so). this is unacceptable because i don't want my applications to be aware of libfoo-internal.so. they should only know about the libfoo.so interface. otherwise, i'd have to recompile my applications for every bugfix release. i've found 2 solutions to the problem, neither of which i like. 1. change all apps that compile against libfoo.so to have link_all_deplibs=no. this is undesirable for maintenance reasons. 2. manually remove the libfoo-internal.la entry from libfoo.la's dependency_libs. i understand that on some systems (AIX, i think?) i'm out of luck -- the dynamic loader can only handle one level of dependencies. but what about linux, where it's perfectly fine to stick a -lfoo on the linker command for application bar and when bar loads libfoo.so, the loader will automatically pull in libfoo-internal.so? i hope this is coherent. any direction is appreciated. thank you. nall. _______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool