dependency_libs question

2002-11-04 Thread Jon Nall

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



internal dependencies

2002-11-07 Thread Jon Nall

hello.
no one responded to my question regarding internal dependencies. i'd
really appreciate some guidance on this issue. 

on GNU/Linux, if i have a package comprised of libfoo.so and
libfoo-internal.so. i want applications to link only against libfoo.so,
since the libfoo-internal.so interface might change at any time. the
best solution so far is to remove libfoo-internal.la from the
dependency_libs variable in libfoo.la. is this really the proper
solution?

thanks for any insight.
nall.



___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



an easy question

2002-12-06 Thread Jon Nall

why do .la files have to store hard-coded paths of the .so files they
reference? why aren't the names enough as ld.so should be able to query
it's cache of library directories at runtime?

i realize libtool runs on lots of OSes, and maybe my question is
linux-centric. but i really would like to understand what's going on.

thanks for any help.
nall.



___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool