(libtool14.info.gz) Building modules
Info Catalog
(libtool14.info.gz) Dlopened modules
(libtool14.info.gz) Dlpreopening
9.1 Building modules to dlopen
==============================
On some operating systems, a program symbol must be specially declared
in order to be dynamically resolved with the `dlsym' (or equivalent)
function.
Libtool provides the `-export-dynamic' and `-module' link flags
( Link mode), which do this declaration. You need to use these
flags if you are linking an application program that dlopens other
modules or a libtool library that will also be dlopened.
For example, if we wanted to build a shared library, `libhello',
that would later be dlopened by an application, we would add `-module'
to the other link flags:
burger$ libtool gcc -module -o libhello.la foo.lo \
hello.lo -rpath /usr/local/lib -lm
burger$
If symbols from your _executable_ are needed to satisfy unresolved
references in a library you want to dlopen you will have to use the flag
`-export-dynamic'. You should use `-export-dynamic' while linking the
executable that calls dlopen:
burger$ libtool gcc -export-dynamic -o hell-dlopener main.o
burger$
Info Catalog
(libtool14.info.gz) Dlopened modules
(libtool14.info.gz) Dlpreopening
automatically generated byinfo2html