* NEWS: updated
* TODO: updated
* ltmain.in: rename dlopen to dlopen_support
* ltconfig.in: ditto
* doc/libtool.texi: ditto
* ltmain.in: check whether libraries are moved out of $libdir,
replace .a and .lib with .$libext, .o and .obj with .$objext
* doc/libtool.texi (Libltdl interface): Document new entry
points.
* libltdl/ltdl.c (lt_dladderror): New function to add a user
defined error message to the tables used by lt_dlerror().
(lt_dlseterror): New function to allow setting of last_error by
user modules.
(ltdl_error_strings): New preprocessor generated table of internal
error diagnostic strings.
(user_error_strings): New internal list of registered user error
diagnostic strings.
(throughout!): Use error messages from ltdl_error_strings.
* libltdl/ltdl.h (ltdl_error_table): New macro to tabulate
internal diagnostic error strings alongside enum keys.
* doc/libtool.texi (Libltdl interface): Document new entry
points.
* libltdl/ltdl.c (lt_dltype_t): Use new type definitions for
existing fields.
(lt_dladdtype): New function to add a new ltdl dynamic loader
type to the end of the list of valid types..
(lt_dlgettypes): New function to return the complete list of ltdl
dynamic loader types.
(lt_dlsettypes): New function to replace the list of ltdl dynamic
loader types entirely -- e.g. to prepend a new type to the
existing list.
(sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle..
(sys_shl_open, sys_shl_close, sys_shl_sym): ditto.
(sys_dld_open, sys_dld_close, sys_dld_sym): ditto.
(sys_wll_open, sys_wll_close, sys_wll_sym): ditto.
(sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto.
(presym_open, presym_close, presym_sym): ditto.
(tryall_dlopen): Call lt_lib_open_t functions lt_syshandle
compatibly.
(lt_dlclose): Call lt_lib_close_t functions lt_syshandle
compatibly.
(lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly.
(lt_dltype_t): moved type declaration from here...
* libltdl/ltdl.h (lt_dltype_t): ...to here.
(lt_syshandle): new type for low level system handles passed by
loader functions
(lt_mod_init_t): New type for functions implementing the
initialisation for an ltdl dynamic loader.
(lt_mod_exit_t): Type of exit functions for the same.
(lt_lib_open_t): Type of loader functions for the same.
(lt_lib_close_t): Type of unloader functions for the same.
(lt_find_sym_t): Type of symbol resolver functions for the same.
programs, libraries and objects, allow linking of shared libraries
against static libraries/objects on platforms that support it
but print a warning, fix some typos
* partially revert my previous change and
update only copyright notices of files that were actually modified
* NEWS: update
* libltdl/Makefile.am: version number was wrong
* libltdl/ltdl.c (tryall_dlopen): revert Gary's change
since it breaks dlpreopening
* ltdl.m4: ditto
* libltdl/ltdl.c (sys_search_path): search in the system default
library search path, too
* ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path
* libltdl/ltdl.c (find_module): remove bogus file_not_found_error
* libltdl/ltdl.c (load_deplibs): implement loading of dependency
libraries
* libltdl/ltdl.c (unload_deplibs): implement unloading of dependency
libraries
* libltdl/ltdl.c (lt_dlexit): correctly close all modules and
their dependencies
* libltdl/ltdl.c (lt_dlforeach): new function
* libltdl/ltdl.h: ditto
* doc/libtool.texi (using libltdl): document it
* libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to
INCLTDL
* libtoolize.in: reformatting
* ltconfig.in: reformatting
* ltmain.in: reformatting
* mdemo/configure.in: AC_SUBST INCLTDL
* mdemo/Makefile.am: use INCLTDL
* tests/Makefile.am: reexport OBJEXT and EXEEXT
* tests/dryrun.test: use them for building main.obj and mdemo.exe
* doc/libtool.texi (using libltdl): document new lt_dlinfo struct,
replace NULL with @code{NULL}, document lt_dlsetdata(),
lt_dlgetdata() and lt_dlgetinfo()
* libltdl/Makefile.am: increment interface version number
* libltdl/configure.in: set version number to 1.1
* libltdl/ltdl.c: make some variables public by moving them
to the info struct, add support for application specific data
within module handles, new lt_dlsetdata(), lt_dlgetdata() and
lt_dlgetinfo() functions,
fix memory leaks, minor cleanups
* libltdl/ltdl.h: ditto
* mdemo/main.c: demonstrate use of lt_dlgetinfo,
improved handling of errors
* ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux
and Solaris, only hardcode *all* run-paths if hardcode_into_libs
is set to 'all', otherwise hardcode only user-specified rpaths
into libraries
* ltmain.in: minor cleanups, we don't need to add user-specified
rpaths to compile_rpath, finalize_rpath is sufficient
* ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has
been set! (reported by Bruno Haible <haible@ilog.fr>)
* configure.in: AC_SUBST reload_flag, deplibs_check_method
and file_magic_cmd
* README: use 'libtool --version' instead of 'ltconfig --version'
(suggested by Francios Pinard <pinard@iro.umontreal.ca>
* libltdl/Makefile.am: Use -no-undefined for dll compliance.
* libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll
compliance.
* libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly
export global data symbols from libtldl.dll.
* libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data
symbols as dllexport, dllimport or plain ornary extern depending
in the context in which it is used.
ltdl.m4.
* libltdl/configure.in: Removed header checks, as they are
* libltdl/ltdl.m4: Added header checks from configure.in, so that
AC_LIB_LTDL is sufficient to compile ltdl.c.
Reported by Stephan Kulow <coolo@kde.org>.
* TODO: Note some cleanups that are now needed.
* libltdl/configure.in: Use the new macroised tests.
* libltdl/ltdl.m4: New file, macroised tests formerly in
libltdl/configure.in.
Reported by Stephan Kulow <coolo@kde.org>.
* THANKS: added Olly Betts and Pavel Roskin
* doc/libtool.texi: fix typo
* fix major bugs which rendered libtool virtually
unusable (i.e. not portable):
* ltconfig.in: don't hardcode system dependent variables in ltconfig!!
but set sane defaults
* Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig
* libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG
* ltconfig.in: use old_deplibs for archives, too
remove second occurence of sysv5
* ltmain.in: fix typo, fix the second occurence of -DPIC, too
* libltdl/Makefile.am: increment version number, fix typo
* libltdl/ltdl.c (lt_dlsym): don't report an error if the
libltdl-style symbol name wasn't found
* ltconfig.in: add support for Unixware (sysv4.2uw2*)
* doc/PLATFORMS: GNU/Hurd update
* depdemo: make use of variables
* ltconfig.in: use CC -E when checking for ELF support
on NetBSD (reported by Todd Vierling <tv@pobox.com>),
replace all occurences of 'linkopts' with 'linker_flags'
* ltmain.in: move ltdll.c and impgen.c to ltconfig.in and
only add them to the libtool script if it's necessary
* ltconfig.in: add support for UnixWare 7.X.X
* doc/PLATFORMS: add new platforms
* doc/libtool.texi: document use of noinst_LTLIBRARIES for
convenience libraries
* ltconfig.in: check for freebsdelf3, not just freebsd3.
Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1
* ltmain.in: enable workaround for freebsdelf3.0
* ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS
* libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll
under cygwin/mingw.
probe whether the cygwin/mingw library supplies a stub DllMain
(but this information isn't yet used).
* ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set,
use that to build impgen so we can use it when cross-compiling.
use correct entry points for mingw so static C++ constructors get
called for code in the DLL.
* ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the
system headers.
AC_CHECK_TOOL in AC_LIBTOOL_SETUP.
* libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to
ltconfig.
(AC_PROG_RANLIB): replaced with AC_CHECK_TOOL.
* ltconfig.in (build): new variable to hold the build triplet
which is now checked for unless --no-verify is specified.
(--build): new argument to set the build triplet.
(ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different
to $host.
* doc/libtool.texi (Invoking ltconfig): Document --build option.
* NEWS: Note --build option.
* libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag
* ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags,
fixed the strip check (reported by Keith Bostic <bostic@bostic.com>)
* ltmain.in (compile mode): build only PIC/non-PIC code depending
on pic_mode
* libltdl/README: document the supported dlopen interfaces
* doc/libtool.texi (tests): documented new tests
* tests/Makefile.am: added new tests
* tests/demo-pic.test: new test to test --with-pic
* tests/demo-nopic.test: new test to test --without-pic
* tests/build-relink2.test: variant of build-relink.test that
uses depdemo
* doc/PLATFORMS: 1.3b passes all tests on GNU/Linux,
FreeBSD (2.2.6 and 3.1)
* doc/libtool.texi: it's possible to link libtool libraries
using -L and -l, better documentation of uninstall and clean mode,
rename dummy to force, documented -no-fast-install,
AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL,
documented hardcode_into_libs and striplib/old_striplib,
* ltconfig.in: search for strip program, added hardcode_into_libs
and striplib/old_striplib variables, set strip commands for GNU strip,
on FreeBSD >= 3.2 set hardcode_into_libs to yes,
fast-install mode doesn't work if hardcode_into_libs = yes
* ltmain.in: reimplemented hardcoding into libraries:
new relink mode, preserve all libtool args, relink libraries
when installing if necessary
added -no-fast-install flag, removed unnecessary `dlname'
initialization, use striplib/old_striplib for stripping libraries,
dlname is always soname or in library_names so we don't need
to handle different file names
is no longer needed, as ld reverted to the original format.
* NEWS: Likewise.
* ltconfig.in: When testing self-dlopening, test whether dlclose
crashes. On FreeBSD 3.1, it does. :-(
* libltdl/configure.in: Likewise.
* NEWS: Note work-around.
Reported by Pavel Roskin <pavel_roskin@geocities.com>
* ltconfig.in: set deplibs_check_method=pass_all on FreeBSD,
Linux and Solaris since no one can reproduce the famous deplibs
bug
* ltmain.in: preserve $CC (reported by Tom Tromey),
strip libraries using GNU strip if it's available and the
-s flag was passed to "install"
* TODO: -Wc, -Wl, implemented
* AUTHORS: changed my email address
* doc/libtool.texi: fix "wierd" typo :)
* ltmain.in: linking against convenience libraries was broken,
implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for
compiler and linker-specific flags,
add -lc before we do the deplibs check
* ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags
for $LD, link_all_deplibs=yes on IRIX
* NEWS: insert todays date alongside 1.3.1 release.
* Makefile.in: use gnu not gnits rules
* config.guess: synch with gnu common & apply Takabatake-san's
MIPS *000 patch.
* config.sub: synch with gnu common.
* TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX
4.3.2.0 no longer fails on static dlopening. GNU DLD no longer
has to support .la files, since libltdl already does. Convenience
libraries and reloadable objects should be tested in the
testsuite. We could support some amount of control on the soname
of libraries.
* doc/libtool.texi: Notes about convenience libraries and
automake. Documented INCLTDL.
ltconfig if this is set.
(AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt
a dll build on win32 hosts.
* ltconfig.in (--enable-win32-dll): new flag for the cli.
(cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set
to yes, then do not attempt to build shared libraries.
* doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL.
* NEWS: noted new macro.
* THANKS: added Ossama Othman
* doc/libtool.texi: documented the new `clean' mode
* ltconfig.in: set need_version=no on OSF (reported by
Marcus Sundberg <mackan@stacken.kth.se>)
* ltmain.in: allow absolute non-existant -L paths,
always use output_objdir instead of objdir for temporary files,
delete generated temporary symbol lists,
don't add .la twice in the pseudo-library header,
implemented and documented clean mode (deletes libraries,
programs and object files and the files associated with them),
if build_libtool_libs=no and no static library is available,
try to link the program against the shared library,
don't add a statically linked library to the dependency_libs
* ltmain.in (help uninstall): added a missing backslash
after echo (reported by Ossama Othman)
* doc/libtool.texi: removed hardcode_into_libs documentation
* libtool.m4: some DJGPP fixes
* ltconfig.in: ditto, reverted one of my previous patches: we need
to check for NM, removed the hardcode_into_libs support since
no platform seems to support it
* ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support
* libtool.m4: check for main in libm instead of cos
* ltmain.in: cosmetic fixes, don't try to link libraries only once
(although it's not necessary on many platforms and looks ugly...),
* libtoolize.in: add the libtool scripts to libltdl.tar.gz
* libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE),
AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work
when libltdl is already installed
* *demo/Makefile.am: use LIBM
* *demo/configure.in: AC_SUBST LIBM
* libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of
USE_SYMBOL_UNDERSCORE
* ltconfig.in: added link_all_deplibs variable
* doc/libtool.texi: document it
* ltmain.in: always search for libname.la - don't eval libname_spec,
when linking libraries against static ones just print a warning
and add them to dependency_libs, add -lc before deplibs,
always link all dependencies of a static library or if
link_all_deplibs is yes, hardcode library paths if
hardcode_into_libs is no, don't link against dependency_libs
that already are deplibs
* README: updated (BeOS support, no longer shared libraries
support for AmigaOS), cleanups, we have now two mailing lists
* REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists
* THANKS: added Xavier Pianet
* doc/PLATFORMS: BeOS works
* doc/libtool.texi: we have now to two mailing lists,
updated -dlopen self documentation, documented libltdl's license,
put each author in a separate line,
inter-library dependencies on uninstalled libtool libraries are
now supported, cleanups and minor corrections
* libltdl/COPYING.LIB: new file
* libltdl/ltdl.[ch]: added special exception to the LGPL license
* libtool.spec: removed, it was outdated
* Makefile.am: removed libtool.spec
* ltmain.in: use TMPDIR when possible, create a subdirectory
in the temporary directory, added -export-symbols-regex to the help,
* NEWS: improved support for BeOS and Cygwin
* TODO: ILD branch was merged, all internal variables and macros
are now documented
* demo/Makefile.am: use $(LIBS) instead of -lm
* doc/libtool.texi: documented new variable hardcode_into_libs
and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros
to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN
* libltdl/ltdl.c: added two new error messages (cannot_open_error,
cannot_close_error), use them where approriate,
BeOS support (thanks to Xavier Pianet), on BeOS search modules
additionally in ADDON_PATH
* libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have
libm and *-ncr-sysv4.3* requires libmw
* ltconfig.in: don't check for LoadLibrary, hardcode dlopen
configuration for BeOS and Cygwin
* ltmain.in: fix sourcing of .la files on Solaris
(patch by Raja R Harinath)
* NEWS: inter-library dependencies are now supported
* configure.in: add the depdemo subdirectory
* depdemo/*: new demo to demonstrate inter-library dependencies
* tests/depdemo*: new tests for depdemo
* ltconfig.in: added hardcode_into_libs (whether library paths
should be hardcoded into the libraries),
it currently defaults to 'no'
* ltmain.in: new internal 'relink' mode to relink libraries
on platforms with hardcode_into_libs=yes, save command line
arguments in libtool_args, accept relative -L directories,
ignore -lm on BeOS and Cygwin, always ignore -lc,
handle -l, -L and .la arguments later, always make the library
installation directory (-rpath) absolute, in relink mode don't
delete the not-relinked library and exit immediately after relinking,
try to find already-installed libtool libraries that were specified
using -l, support hardcoding of library paths into libraries too,
export shlibpath before linking libraries, and a lot of other
big changes that I don't want to describe here... please read
the source.
* merged Gary's Win32 code from the ILD branch:
* NEWS: Win32 DLLs are now supported
* TODO: removed .a library namespace clash for win32. It is
now resolved.
* ltconfig.in (cygwin, library_names_spec): removed $libname.a.
Creating a dll with libtool no longer creates an import library.
* ltconfig.in (extract_expsyms_cmds): Create $objdir if it does
not exist -- i.e. we need to generate import an import library
in a directory which has no libs of its own.
* doc/libtool.texi (old_archive_from_expsyms_cmds,
extract_expsyms_cmds): documented these new variables.
* ltconfig.in (extract_expsyms_cmds): New variable. Commands to
extract the exported symbol list from a dll.
(old_archive_from_expsyms_cmds): New variable. Commands to build
an old archive from the extracted expsyms list.
* ltmain.in: run the cmds in extract_expsyms_cmds and
old_archive_from_expsyms_cmds as necessary.
* ltconfig.in (cygwin, old_archive_from_new_cmds): no longer
required.
* ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even
sure whether win32 honours the runpath at all when searching for
a dll to load! Anyway, when set to yes this prevents a gratuitous
warning.
* ltmain.in (deplib): The cygwin environment doesn't actually have
-lm, and although the linker fakes having one, specifiying it to
libtool will break ILD, so we ignore it when generating
dependencies.
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>
new macros
* NEWS: ditto
* libltdl/configure.in: if none of the new macros or configure
arguments are used, warn and build convenience library only
* libltdl/Makefile.am: conditionally build convenience libltdl.la
* mdemo/configure.in: use AC_LIBLTDL_CONVENIENCE
* mdemo/Makefile.am: refer to @LIBLTDL@