Alexandre Oliva [Tue, 5 Jan 1999 23:13:44 +0000 (23:13 +0000)]
* ltmain.in (libobjs_save, oldobjs): when building an
old-fashioned archive, use a copy of libobjs saved before
convenience libraries are appended
* libltdl/ltdl.h (_LTDLL_EXPORT, _LTDLL_IMPORT): use cygwin or
unix library import/export primitives; this may be convenient for
people willing to create DLLs
(_LTDLL_EXTERN): select _LTDLL_EXPORT or _LTDLL_IMPORT depending
on _LTDL_COMPILE_
* libltdl/ltdl.h, libltdl/ltdl.c (lt_dlpreopen): new function,
that replaces the current preloaded_symbols list with its
argument, and returns the old value, initially NULL
(dldpre_init): don't refer to dld_preloaded_symbols any more
(dldpre_open, dldpre_sym): search preloaded_symbols
(lt_dlpreopen_default): call lt_dlpreopen with
dld_preloaded_symbols, that is declared as extern; it should be
called from the main program or from some static library without
-no-undefined
(lt_dlerror): new function, that returns the error message for the
last error occurred; the error message is kept in the static
variable last_error
* libltdl/configure.in (enable-ltdl-install): moved back from
enable-install; other packages might use enable-install already,
better have fine grained control over this.
* libltdl/Makefile.am (libltdls.la): discarded
Alexandre Oliva [Tue, 5 Jan 1999 08:51:02 +0000 (08:51 +0000)]
* ltconfig.in (cygwin, archive_cmds, archive_sym_cmds): Moved
ltdll.c into ltmain.in, to avoid its duplication, and added a sed
script to extract it. Also, create def and base files in $objdir,
and don't remove them after the compilation.
(cygwin, library_names_spec): Create static part of the dll with
suffix -dll.a, to avoid conflicts with actual static libraries.
* ltmain.in: Added ltdll.c, as commented out text
Alexandre Oliva [Wed, 16 Dec 1998 06:22:02 +0000 (06:22 +0000)]
* Makefile.am (cvs-dist): our release tags are in lower case
(cvs-diff): ditto
(EXTRA_DIST): added README-alpha
(DIST_SUBDIRS): added depdemo
* README-alpha: minor adaptations
* demo/Makefile.am, mdemo/Makefile.am, depdemo/Makefile.am:
removed comment about special needs for distribution
* depdemo/Makefile.am: don't generate dependencies
* depdemo/configure.in: modified version number
Alexandre Oliva [Wed, 16 Dec 1998 05:42:23 +0000 (05:42 +0000)]
* ltmain.in (-force-static, force_static): removed
* libltdl/Makefile.am (CFLAGS): ditto
* libltdl/configure.in: check for memory.h, rindex() and
dlpreopening. Fixed NEED_USCORE caching policy.
* libltdl/ltdl.h (lt_dlsym): make the name argument const
* libltdl/ltdl.c (types): new variable: head of list of available
dlopening mechanisms
(lt_dltype_t): interface of a dlopening mechanism, with pointers
to functions for init, exit, open, close and sym
(lt_dlhandle_t): added pointer to interface type
(strdup): don't name it strdup; it can be troublesome
(strrchr): ditto; use rindex if available
(LIBTOOL_STATIC): check HAVE_DLPREOPEN instead, and move to the
end of the file, so that it becomes the header of the list
(all): renamed all interface-implementation functions, to avoid
name clashes, and created lt_dltype_t nodes for all of them
(lt_dlinit): initialize all available interfaces; remove those
that fail from the list. Return failure only if no interfaces
could be initialized.
(lt_dlexit): return number of failures
(tryall_dlopen): try to open the library with all available
interfaces
(lt_dlopen): use tryall_dlopen; increased size of fixed buffers.
We should probably make these bound-checked or dynamically
allocated for the final release! Fix bug when filename did not
contain slashes; should we check for `\\' too? Try old_library if
everything else fails.
(lt_dlclose): use the interface type for closing
(lt_dlsym): make `symbol' const, use interface type for looking up
* mdemo/Makefile.am: moved mdemo/modules/* back into mdemo
(SUBDIRS): removed
(libfoo2_la_LDFLAGS): added -static; nice test. However, since it
causes -lm to linked into hell*, it causes tests that should fail
to pass
(noinst_HEADERS): no need to install foo.h
* mdemo/configure.in: remove modules/Makefile
tests/mdemo-exec.test: updated accordingly
Alexandre Oliva [Wed, 16 Dec 1998 05:15:24 +0000 (05:15 +0000)]
* NEWS: Added Thomas Tanner and Gary V. Vaughan to the list of new
maintainers. Detailed expected failures of libtldl+mdemo. Listed
recent ports. Added full URL for the home page. Note that
libtool C program is unusable.
Alexandre Oliva [Wed, 16 Dec 1998 02:36:20 +0000 (02:36 +0000)]
* demo/configure.in (BINARY_HELLDL): test whether dlopen is
supported at configure time
* demo/Makefile.am (helldl): use automake conditionals to build
helldl as a script or as a binary program
Alexandre Oliva [Wed, 16 Dec 1998 02:27:01 +0000 (02:27 +0000)]
* configure.in (AC_CONFIG_SUBDIRS): added libltdl
* Makefile.am (SUBDIRS): build libltdl by default
(DIST_SUBDIRS): simplify distribution of demo and mdemo
(libtool, clibtool, libtoolize, ltconfig, ltmain.sh): add
srcdir where appropriate
(ACINCLUDE_M4_LIST): new rule for maintaining links from
acinclude.m4 to libtool.m4
(*demo/Makefile.in): don't update autoconf/automake files any
more; make check is needed
Alexandre Oliva [Mon, 7 Dec 1998 11:39:16 +0000 (11:39 +0000)]
* doc/libtool.texi (author): listed all the AUTHORS
(Dlopen issues): added reference to libltdl, still undocumented
(C++ libraries): it's not *that* simple, after all :-(
(Inter-library dependencies): they're back!
Alexandre Oliva [Wed, 25 Nov 1998 02:28:38 +0000 (02:28 +0000)]
* ltconfig.in (echo): avoid shell error messages when we're
testing for large command line support
Reported by Axel Thimm <Axel.Thimm@physik.fu-berlin.de>
Alexandre Oliva [Wed, 25 Nov 1998 01:20:59 +0000 (01:20 +0000)]
* doc/PLATFORMS: updated last-tested release for platforms I've
got access to
* THANKS: added Chris P. Ross
* ltconfig.in: added recognition of the dynamic linker on BSD/OS 4.x
* README: added BSD/OS 4.x to the list of supported platforms
* doc/PLATFORMS: added BSD/OS 4.x support for various host id's
Alexandre Oliva [Thu, 19 Nov 1998 19:57:33 +0000 (19:57 +0000)]
* ltmain.in (installed): new variable defined within a .la file,
so that libtool can now link already-installed libraries into a
program.
* NEWS: ditto
* doc/libtool.texi (Linking executables): document it
Alexandre Oliva [Thu, 19 Nov 1998 18:01:07 +0000 (18:01 +0000)]
* ltmain.in (installed): new variable defined within a .la file,
so that libtool can now link already-installed libraries into a
program.
* NEWS: ditto
* doc/libtool.texi (Linking executables): document it
Alexandre Oliva [Wed, 18 Nov 1998 07:29:36 +0000 (07:29 +0000)]
* NEWS: -module and libtldl
* mdemo/Makefile.am: ../libltdl is within $(srcdir)
* libltdl, Makefile.am: added libltdl (a system independent
dlopen wrapper library extracted from mdemo)
* ltmain.in: added -module flag for compiling and linking of
modules. If enabled it compiles always both .o (with -DLT_RENAME)
and .lo files
* mdemo: modified mdemo to work with libltdl
* tests/ltdl*: added tests for libltdl
Steve Price [Mon, 16 Nov 1998 19:39:25 +0000 (19:39 +0000)]
* ltconfig.in: when $host_os is freebsd[23]* determine whether
the current linker format is a.out or ELF
* ltmain.in: add two new $version_type's, freebsd-aout and
freebsd-elf, to support above change
Stephan Kulow [Mon, 16 Nov 1998 13:21:02 +0000 (13:21 +0000)]
* ltconfig.in: extent no_builtin_flag to contain -fno-rtti and
-fno-exceptions in case we compile with a gcc, that supports
this options (egcs and gcc >= 2.8)
Alexandre Oliva [Mon, 16 Nov 1998 08:10:45 +0000 (08:10 +0000)]
* ltmain.in (C_compiler): copy $CC before it is overwritten with
command-line compiler, so that we can use it to compile C sources
generated during the build. This fixes the problem that showed up
with -export-dynamic of C++ programs in egcs 1.1.
* NEWS: ditto
Alexandre Oliva [Wed, 11 Nov 1998 21:12:30 +0000 (21:12 +0000)]
* ltconfig.in: make use of '~' field separator in reload_cmds,
old_archive_from_new_cmds, old_archive_cmds, archive_cmds,
old_postinstall_cmds, postinstall_cmds, old_postuninstall_cmds,
postuninstall_cmds and finish_cmds, so that the semi-colons inside
if/then/else/fi and for/do/done etc. do not break the eval loop in
ltmain.in (below).
* ltmain.in: changed all of the eval loops to use an IFS of `~',
to allow differentiation between the end-of-statement-;
(now `~' is used) and end-of-substatement-; (still `;'). This
fixes AIX and win32 at least.