* doc/libltdl.texi (linking with installed libtool libraries):
fixed typo
* doc/libltdl.texi (libltdl): added documentation for building
libtool modules and examples how to embed libltdl
* ltmain.in: don't ignore user-specified run-paths (fixed it
at the right place)
lists the system *run-time* search path. Listed directories are
not implicitly hard-coded into executables.
* ltmain.in: use it, but *never* discard -R flags
* doc/libtool.texi: document it
* NEWS: ditto
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
output of NM too
(global_symbol_to_cdecl): new variable; convert the output of
global_symbol_pipe to valid C declarations; on HP/UX, convert
text symbols to function declarations
* libtool.m4: similar modifications
* doc/libtool.texi: document new variable
* ltmain.in: use global_symbol_to_cdecl to generate lt_dlpreopened
symbols; avoid extracting symbol lists from dlpreopened files
twice; do not filter symbols from dlpreopened libraries
* TODO: fixed HP/UX dlpreopening problem
(AC_LIBTOOL_SETUP): if lt_dlopen=yes, add --enable-dlopen to
libtool_flags; drop --enable-dlopen-self
* ltconfig.in: perform all the dirty work of testing for dlopening
support, because we need platform-dependent equivalents for
-export-dynamic, for self dlopening, and -static, for static self
dlopening
(dlopen_self_static): new configuration variable that is set to
yes only if static programs can dlopen themselves
* ltmain.in (-static, -all-static): dlopen_self=dlopen_self_static
then translate them to the export_symbols format. Now it works,
but it appears to be needlessly extracting the symbol list from
dlpreopened libraries twice
* doc/libtool.texi (libltdl interface): removed the line which
promised that lt_dlopen will return NULL if it can't resolve all
symbols
* libltdl/Makefile.am, libltdl/configure.in: fixed build problem:
renamed the convenience library to libltdlc.la and the
installed version to libltdl.la
* ltmain.in (wrapper script): replaced the "T" suffix of the program
file name with a "lt-" prefix
* mdemo/Makefile.am: use libltdlc.la
* tests/Makefile.am, tests/demo-nofast.test: added demo to
test --enable-fast-install=no
need relink; in the other cases, set it to needless
* ltmain.in (fast_install): if needless, set relink_command empty
* doc/libtool.texi (fast_install, shlibpath_overrides_runpath):
document the new behavior
* demo/configure.in: use AC_LIBTOOL_DLOPEN
* libtool.m4: added AC_ENABLE/DISABLE_FAST_INSTALL macro
* ltconfig.in: added --disable-fast-install flag
* ltmain.in: partially reverted Alexandre's patch and implemented
on-demand linking in such a way that the old developer-friendly
linking style is optional,
don't hardcode library paths that are in the system search path,
fixed a typo in lib_search_path,
implemented -export-symbols-regex for programs
and rename it to $progdir/$program only when it's finished, to
avoid race conditions. We can still get the program linked
multiple times, if multiple instances are started simultaneously
and the program does not exist, but they are very unlikely to
interfere with each other. There's still a possibility that one
process removes the $program another has just created, and doesn't
replace it before the other tries to run it, in a system whose
`mv' is not atomic, so it will $rm then $mv, but so what? :-)
Locking files have been avoided to prevent dead-locks in case they
are left over after a reboot or crash.
just warn if it can't be removed; add wrapper code to test whether
the install-executable is newer than the build-executable, to
relink it when it appears to be out-of-date
when dlopening the executable
* libtool.m4 (AC_LIBTOOL_DLOPEN): removed the redundant "yes: "
prefix for lt_cv_dlopen, renamed lt_cv_dlopen_LIBS
to lt_cv_dlopen_libs (more consistent)
* ltmain.in: implemented -dl[pre]open self, necessary for
lt_dlopen(NULL), generation of exported symbols was broken
determines whether LD_LIBRARY_PATH or equivalent can be used to
override a hard-coded library search path; default to unknown
(linux-gnu*): set it to no
(solaris*, sunos4*): set it to yes
* ltmain.in (build_libdirs_flags, build_libdirs, build_rpath): if
shlibpath_overrides_runpath is not yes, arrange that wrapper
scripts create, on demand, programs that use uninstalled libraries
* doc/libtool.texi: document it
export_symbols_cmd.
(cygwin, mingw): Be sure to compile the ltdll.c object before
extracting the exported symbol list. Extract only the names
of the exported symbols from the def file [otherwise we might
run into trouble with -export-symbols-regex].
(archive_expsym_cmds): Regenerate the def file from the symbol
export list.
(delay_variable_subst): New sed expression to allow us to delay
evaluation of $foo in a double_quote_subst evaluated variable by
using $.
* ltmain.in (export_symbols_cmds): evaluate each ~ delimitted cmd
separately.
* doc/libtool.texi (libtool script contents): new paragraph to
explain the difference between _cmd and _cmds suffixes for
variable names.
(export_symbols_cmds): renamed from export_symbols_cmd.
used under win32 to extract a def file (symbol export list) from a
dll that has none. Code to use it might need to wait for the ILD
merge before it will be useful...
* autogen: only libltdl needs autoheader
* doc/libtool.texi (link mode): documented -export-symbols-regex
and updated -export-symbols
* doc/libtool.texi (script contents): documented
always_export_symbols, export_symbols_cmd, exclude_expsyms,
include_expsyms, dlopen and dlopen_self
more detailed description of need_lib_prefix
* ltconfig.in: a "'" was missing in the default value
of export_symbols_cmd
* ltmain.in: implemented -export-symbols-regex
* cdemo/foo1.c: renamed to foo.c
* libltdl/ltdl.c: eliminated lt_dltype, in presym_open():
search for @PROGRAM@ if filename == 0, in lt_dlopen():
fixed bug for filename == 0
* libltdl/ltdl.h: use __P macro for lt_dlmalloc/free
* libtool.m4: new macro AC_LIBTOOL_DLOPEN: checks for dlopen
and dlopen(NULL) support
* ltconfig.in: added new variables dlopen and dlopen_self,
--enable-dlopen[-self] flags for AC_LIBTOOL_DLOPEN
* ltmain.in: use dlopen[_self], dlpreopen files if there's no
dlopen support, build lt_preloaded_symbols only if
-dl[pre]open was used, include program symbols if -export-dynamic
was specified and there's no dlopen(NULL) support
* mdemo/configure.in: use AC_LIBTOOL_DLOPEN
* mdemo/main.c: demonstrate lt_dlopen(0)
* *demo/configure.in: use AC_CHECK_LIBM
* doc/libtool.texi: renamed file_magic_command to file_magic_cmd,
renamed archive_sym_cmds to archive_expsym_cmds
* ltconfig.in: ditto
* ltmain.in: ditto
* libltdl/ltdl.c: use lt_dlmalloc/free
* libltdl/ltdl.h: define lt_dlmalloc/free
* libtool.m4: added AC_CHECK_LIBM macro
* ltconfig.in: renamed archive_sym_cmds to archive_expsym_cmds,
added always_export_symbols, export_symbols_cmd, exclude_expsyms,
include_expsyms, removed archive_cmds for cygwin/mingw and AIX,
on Solaris store the exported symbols list in objdir
* ltmain.in: allow -export-symbols for modules, use thread_safe flag,
add include_expsyms to the exported symbols
* demo/Makefile.am: renamed hell.debug to hell.static
(we're demonstrating static linking, not debugging)
* tests/demo*: ditto
* doc/libtool.texi (libltdl): documented new lt_dlopen(NULL)
feature
* libltdl/acconfig.h: required for config.h
* libltdl/configure.in: use config.h
* libltdl/ltdl.c: use config.h, support lt_dlopen(NULL)
(returns a handle for the program itself)
* ltconfig.in: minor reformatting
* ltmain.in: in lt_preloaded_symbols always define
the program's symbols first, for -export-dynamic list all
program symbols together, -export-symbols was broken for
programs, minor reformatting
* mdemo/Makefile.am: renamed mdemo.debug to mdemo.static
* tests/mdemo*: ditto, mdemo.test was completely broken
*-*-cygwin32. sed -e 's%(cygwin|mingw)32%1%g' ltconfig.in
* ltmain.in: sed -e 's%(cygwin|mingw)32%1%g' ltmain.in
* ltconfig.in (hardcode_libdir_flag_spec, allow_undefined_flag,
archive_cmds, archive_sym_cmds, old_archive_from_new_cmds):
removed duplication of config by assuming that `test $with_gcc =
yes' implies gnu ld, otherwise MSVC++ (which I haven't tested
since I inheritted the code from Ian Lance Taylor btw!) is implied.
1999-01-25; "don't try to use .o instead of .lo just because
there's no PIC flag. It loses if --disable-static, and there's
not much point if we're referring to the same file anyway...",
because not all linkers will accept .lo object names.
* ltmain.in: In the case where --disable-static is specified (as
noted in Alexandre's log entry), we just link some .o files to
prevent the original error.
Reported by Andrey Slepuhin <pooh@msu.ru>
* demo/configure.in: likewise
* depdemo/configure.in: likewise
* libltdl/configure.in: likewise
* mdemo/configure.in: likewise
* libltdl/ltdl.c: in find_module() check whether libdir is defined,
tryall_dlopen(): move deallocation of an already opened handle
to lt_dlopen(), allocate the directory in lt_dlopen() dynamically,
minor cleanups, fixed memory leak (name)
* libtool.m4: renamed all AM_ macros to AC_ and added aliases for
compatibilty, updated AC_SYS_NM_PARSE (no undefined symbols,
don't count the symbols)
* ltconfig.in: added thread_safe_flag_spec (not used yet),
added generic variable for linker options "linkopts" in
all archive_cmds
* ltmain.in: added -thread-safe flag (unused)