mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-12-09 06:40:24 +08:00
7cb0a065a5
* libtool.m4: use $NM to create the symbol list on cygwin, not $ltdll_cmds as on mingw. For all tags, (and host=cygwin) set allow_undefined_flag="" so that the --auto-import magic works properly. For all tags (and host=cygiwn) set always_export_symbols=no -- it is unnecessary thanks to binutils' auto-export magic. * libltdl/ltdl.c: Don't force cygwin to use the LoadLibrary wrapper; use cygwin's builtin implementatino of dl*. * cdemo/Makefile.am: the downside of unsetting 'allow_undefined_flag' -- we must include -no-undefined in the _la_LDFLAGS variable. * depdemo/l1/Makefile.am: ditto. * depdemo/l2/Makefile.am: ditto. * depdemo/l3/Makefile.am: ditto. * depdemo/l4/Makefile.am: ditto. * mdemo/Makefile.am: ditto. * tagdemo/Makefile.am: ditto. * demo/Makefile.am: ditto. But also, we must make special provision to clean up the hell0 wrapper script. * pdemo/Makefile.am: ditto -no-undefined. ditto hell0. And use 'hell_static' instead of 'hell.static'. * tests/pdemo-inst.test: use 'hell_static' instead of 'hell.static'. * tests/pdemo-exec.test: ditto. |
||
---|---|---|
.. | ||
.cvsignore | ||
configure.ac | ||
foo1.c | ||
foo2.c | ||
foo.h | ||
main.c | ||
Makefile.am | ||
README | ||
sub.c |
This is mdemo, an example package that uses GNU libtool with an Automake-generated environment to build two simple modules and a program. It demonstrates how to build both dynamic and static libraries that can be dlopened. mdemo uses libtool's portable dlopen wrapper called "libltdl". All exported symbols are prefixed with "libname_LTX_" to avoid symbols conflicts, especially when linking statically. libltdl will automatically cut the prefix off to get the real name. Note that on Windows, for the purposes of illustrating ltdl, the libraries *are* built as dll's, but do not have the __declspec machinery to make them suitable for loading at link time. This is only for clarity inside this example, look at the example in ../demo to see how the __declspec macros should be set up.