| [Top] | [Contents] | [Index] | [ ? ] |
If you don't
specify an rpath, then libtool builds a libtool convenience
archive, not a shared library (see section Linking static libraries).
However, you should avoid using `-L' or `-l' flags to link against an uninstalled libtool library. Just specify the relative path to the `.la' file, such as `../intl/libintl.la'. This is a design decision to eliminate any ambiguity when linking against uninstalled shared libraries.
And why should we? `main.o' doesn't directly depend on `-lm' after all.
Don't strip static libraries though, or they will be unusable.
Since GNU Automake 1.5, the flags `-dlopen' or `-dlpreopen' (see section Link mode) can be employed with the program_LDADD variable. Unfortunately, older releases didn't accept these flags, so if you are stuck with an ancient Automake, we recommend quoting the flag itself, and setting program_DEPENDENCIES too:
program_LDADD = "-dlopen" libfoo.la program_DEPENDENCIES = libfoo.la |
LT_INIT requires that
you define the `Makefile' variable top_builddir in your
`Makefile.in'. Automake does this automatically, but Autoconf
users should set it to the relative path to the top of your build
directory (`../..', for example).
GNU Image Manipulation Program, for those who haven't taken the plunge. See http://www.gimp.org/.
We used to recommend __P,
__BEGIN_DECLS and __END_DECLS. This was bad advice since
symbols (even preprocessor macro names) that begin with an underscore
are reserved for the use of the compiler.
LIBPATH
on AIX, and SHLIB_PATH on HP-UX.
Some platforms, notably Mac OS X,
differentiate between a runtime library that cannot be opened by
lt_dlopen and a dynamic module that can. For maximum
portability you should try to ensure that you only pass
lt_dlopen objects that have been compiled with libtool's
`-module' flag.
This is used for
the host dependent module loading API - shl_load and
LoadLibrary for example
We used to recommend adding the contents of `ltdl.m4' to
`acinclude.m4', but with aclocal from a modern
Automake (1.8 or newer) and this release of libltdl that is not only
unnecessary but makes it easy to forget to upgrade `acinclude.m4'
if you move to a different release of libltdl.
Even if libltdl is installed, `LTDL_INIT' may fail to detect it if libltdl depends on symbols provided by libraries other than the C library.
All code compiled
for the PowerPC and RS/6000 chips (powerpc-*-*, powerpcle-*-*,
and rs6000-*-*) is position-independent, regardless of the operating
system or compiler suite. So, "regular objects" can be used to build
shared libraries on these systems and no special PIC compiler flags are
required.
| [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on July, 20 2009 using texi2html 1.76.