Gary V. Vaughan [Wed, 7 Mar 2001 01:43:27 +0000 (01:43 +0000)]
From Tor Lillqvist <tml@iki.fi>
* libtool.m4 (export_symbols): On Windows, if the export_symbols
file (which has been passed to libtool with the -export-symbols
command line switch) already is a .def file, use it as is.
Gary V. Vaughan [Wed, 7 Mar 2001 00:58:09 +0000 (00:58 +0000)]
* libtool.m4 (library_names_spec): Use an appropriate filename
prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32.
From Tor Lillqvist <tml@iki.fi>
Gary V. Vaughan [Fri, 23 Feb 2001 22:58:20 +0000 (22:58 +0000)]
* NEWS: Updated.
* doc/libtool.texi (Thread Safety in libltdl): New node describing
the application the new MT API.
* libltdl/ltdl.h: Prototypes.
* libltdl/ltdl.c: Use these functions throughout the rest of
the file to provide thread locking.
(lt_dlmutex_register): New function to set callbacks for
multi-threaded calls into libltdl.
(lt_dl_mutex_lock): Type of a locking callback function.
(lt_dl_mutex_lock): Type of an unlocking callback function.
(lt_dl_mutex_seterror): Type of a callback function to save the
last libltdl error message in thread local storage.
(lt_dl_mutex_geterror): Type of a callback function to retrieve
the last saved error message from thread local storage.
Gary V. Vaughan [Tue, 20 Feb 2001 01:51:50 +0000 (01:51 +0000)]
* libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned
type to a negative number.
Reported by Guenter Millahn <Guenter.Millahn@Informatik.TU-Cottbus.DE>
Gary V. Vaughan [Mon, 5 Feb 2001 00:24:55 +0000 (00:24 +0000)]
From Nick Hudson <skrll@netbsd.org>
* ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to
automatically load module deplibs without assistance from
libltdl.
Gary V. Vaughan [Fri, 2 Feb 2001 19:02:38 +0000 (19:02 +0000)]
* ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host
architecture automatically loads deplibs, then...
* libltdl/ltdl.c (load_deplibs): ...don't manually load each one.
Gary V. Vaughan [Wed, 31 Jan 2001 00:07:32 +0000 (00:07 +0000)]
* libltdl/ltdl.c (load_deplibs): If loading a deplib fails,
don't sweat -- it may be a lib that is already statically linked
into the loading application.
* libltdl/ltdl.c: Clean up the shadowing of the global handles
variable.
(LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall.
(load_deplibs): Cast isspace() argument to an int to satisfy
-Wall.
Gary V. Vaughan [Fri, 5 Jan 2001 09:33:39 +0000 (09:33 +0000)]
* NEWS: Updated.
* doc/libtool.texi (User defined module data): Document it all.
* ltdl.m4: Check for memcpy, or else bcopy.
* ltdl.c (lt_caller_data): New type.
(lt_dl_handle_struct): Add an lt_caller_data field.
(lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): New functions.
(rpl_memcpy): A minimal fallback implementation.
(rpl_realloc): A realloc implemented with lt_dlmalloc and
lt_dlfree.
(LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN):
New memory handling convenience macros. Use them
appropriately throughout the rest of this file.
* ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): Prototyped.
Gary V. Vaughan [Sat, 23 Dec 2000 16:30:43 +0000 (16:30 +0000)]
From vvv@vsu.ru:
* doc/fdl.texi (GNU Free Documentation License): contained @bye
command which prevented part of document to be generated (indices,
etc).
* doc/libtool.texi (Dlpreopening): the @deftypevar did not contain
a space after a type.
Gary V. Vaughan [Wed, 20 Dec 2000 22:40:59 +0000 (22:40 +0000)]
* ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch
below can detect preopened library deplibs correctly in libltdl,
we need to ensure that libtool library deplibs are also preloaded
into the binary for that phase to work.
Michael Schmitz [Thu, 14 Dec 2000 02:53:45 +0000 (02:53 +0000)]
* libtool.m4: Port to *-sni-sysv4 (Reliant Unix)
* README: added Reliant Unix to hte list of supported platforms
* doc/PLATFORMS: added note on tests on Reliant Unix
Gary V. Vaughan [Thu, 14 Dec 2000 00:34:20 +0000 (00:34 +0000)]
* libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't empty
out ac_cv_global_symbol_to_cdecl inside the loop, incase we
need to go around again and try with underscore prefix.
(_LT_AC_TRY_DLOPEN_SELF): On some hosts (cygwin for instance)
self dlclosing unloads the main program and causes a SIGSEGV. So
don't do it for now.
Gary V. Vaughan [Tue, 5 Dec 2000 18:33:07 +0000 (18:33 +0000)]
Oh My! Cygwin support has bitrotted while I was looking the other
way. This should fix it some:
* libtool.m4 (extract_expsyms_cmds): There is a quoting problem
with autoconf-2.13 that prevents [$]0 from expanding. Use shell
quotes instead to delay eval of $0.
(impgen.c) The '# ' sequence stripped by sed works again.
Gary V. Vaughan [Sat, 2 Dec 2000 23:50:54 +0000 (23:50 +0000)]
* doc/libtool.texi (Libltdl interface): Add documentation.
* libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add
prototypes.
(LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status.
* libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow
making and testing of resident module status, which prevents a
module from being lt_dlclosed.
(lt_dlopen): If lt_dlopen()ing self, make the module resident.
(lt_dlclose): Return an error if the module is resident.
Gary V. Vaughan [Fri, 1 Dec 2000 19:13:20 +0000 (19:13 +0000)]
* libtool.m4 (_LT_AC_LTCONFIG_HACK): Move the tests for dlopen
from here...
(AC_LTDL_DLOPEN_SELF): ...to here.
(_LTDL_AC_CHECK_DLFCN): Factor out repeated code for dlfcn.h
(_LT_AC_TRY_DLOPEN_SELF): Factor out repeated code for
checking dlopen status.
* ltdl.m4 (AC_LIB_LTDL): Use _LTDL_AC_CHECK_DLFCN.
dlopen compile time checking. Use _LTDL_AC_CHECK_DLFCN.
(AC_LTDL_DLSYM_USCORE): Use _LTDL_AC_TRY_DLOPEN_SELF.
Gary V. Vaughan [Wed, 29 Nov 2000 01:33:24 +0000 (01:33 +0000)]
* libltdl/ltdl.c (lt_dlopen): Change the default search order
for modules. If the named module has no directory component,
always start the search with the user_search_path directories,
and then fall back on the current directory only if that fails.
Gary V. Vaughan [Tue, 21 Nov 2000 08:53:34 +0000 (08:53 +0000)]
* libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version
number to reflect the breakage of binary compatibility.
* doc/libtool.texi (Libltdl interface): Document
LT_NON_POSIX_NAMESPACE.
* libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is
now to use this namespace, so the cpp macro is no longer
necessary.
Gary V. Vaughan [Sun, 19 Nov 2000 01:23:17 +0000 (01:23 +0000)]
* ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those
ending in ``_t'') to deprecated #define compatibility macros.
Also ease up on the namespace pollution, so that only ``lt_''
and ``LT_'' prefixes are taken from the global namespace.
* ltdl.h: ditto.
Gary V. Vaughan [Sat, 11 Nov 2000 13:19:53 +0000 (13:19 +0000)]
* ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Use $ac_ext for conftest
sourcefile.
* libtool.m4: Use $ac_ext and $ac_objext respectively for conftest
sources and objects.
Reported by Carlo Wood <carlo@alinoe.com>
Akim Demaille [Tue, 31 Oct 2000 23:22:41 +0000 (23:22 +0000)]
* libtool.m4: Adjust the copyright notice.
Quote all the macro names when defined.
Some minor formatting changes.
(AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC)
(AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM):
Don't use indir when useless. Don't add trailing `dnl' either.
* libtool.m4 (archive_expsym_cmds): Support for -export-symbol
option on Tru64.
(hardcode_libdir_flag_spec): Fixed cxx throwing error while using
libtool. Done by passing -rpath directlty to the compiler.
* libtool.m4 [netbsd*] (deplibs_check_method, file_magic_cmd,
file_magic_test_file): Removed inappropriate duplicate
definitions; these variables are set in AC_DEPLIBS_CHECK_METHOD.
* libtool.m4 (lt_cv_file_magic_cmd): Don't use '${MAGIC_CMD}' or
'${OBJDUMP}'; Solaris' /bin/sh loses with `}' in cache files.
(ac_cv_path_MAGIC_CMD): Renamed to lt_cv_path_MAGIC_CMD.
Gary V. Vaughan [Fri, 29 Sep 2000 20:41:39 +0000 (20:41 +0000)]
* libtool.m4 (MAGIC_CMD): Don't use MAGIC, since BSD versions of
the file command use this environment variable to hold the
location of the magic database.
Reported by Marc Espie <Marc.Espie@liafa.jussieu.fr>
Gary V. Vaughan [Thu, 21 Sep 2000 00:10:41 +0000 (00:10 +0000)]
* doc/PLATFORMS: Updated.
* demo/configure.in: Revert to the `libtool --features' test.
* Makefile.am (libtool): This needs to rerun configure now that
libtool is generated entirely by AC_PROG_LIBTOOL again.
(ltconfig): Removed.
(ltmain.sh): Is now regenerated when ltmain.in changes.
* libtool.m4 (_LT_AC_LTCONFIG_HACK): Now does all of the work for
generating libtool immediately in configure.in, rather than
deferring part of the creation until config.status runs.
Gary V. Vaughan [Sun, 17 Sep 2000 00:44:49 +0000 (00:44 +0000)]
* bootstrap: Backed out yesterdays patch which is no longer
necessary.
* Makefile.am (libtool): Reworked rule for regeneration of libtool,
now that it is built entirely withing config.status.
(libtoolize): Tidied for orthogonality with the other generation
rules.
(ltconfig): This is now generated by AC_PROG_LIBTOOL, called from
make by running config.status --recheck.
(ltmain.sh): Moved primary generation of this file into here...
* configure.in (AC_OUTPUT): ...instead of here.
* libtool.m4 (AC_OUTPUT_COMMANDS): Write the config to ltconfig
where it can be reused, rather than directly to libtool.
* demo/configure.in: libtool is no longer present immediately
after AC_LIBTOOL_M4 has completed, so the tests now grep through
ltconfig instead -- which *will* be present.
Gary V. Vaughan [Sat, 16 Sep 2000 20:08:07 +0000 (20:08 +0000)]
* TODO: Removed the item describing the change below, and added a
similar item to remind us to change the ltdl.m4 macros again when
_LT_AC_LTCONFIG_HACK is divided into proper macros.
* ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required
now that ltconfig has migrated to libtool.m4.
(AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK.
(AC_LTDL_SHLIBPATH): ditto.
(AC_LTDL_SYSSEARCHPATH): ditto.
Gary V. Vaughan [Sat, 16 Sep 2000 17:55:00 +0000 (17:55 +0000)]
* ltdl.m4 (AC_LTDL_DLPREOPEN): require the libtool.m4 symbol_pipe
macro.
(AC_LTDL_SYMBOL_USCORE): ditto.
(AC_LTDL_GLOBAL_SYMBOL_PIPE): Removed, since it is a duplicate
of...
* libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): ...this new
macro, extracted from _LT_AC_LTCONFIG_HACK.
Gary V. Vaughan [Sat, 16 Sep 2000 16:09:39 +0000 (16:09 +0000)]
* ltdl.m4 (changequote): An audit of changequote and m4
quote usage -- all changequotes have been removed, and some
latent unquoted `[' and `]' bugs have been fixed.
Gary V. Vaughan [Sat, 16 Sep 2000 00:52:20 +0000 (00:52 +0000)]
* configure.in: Replace `dnl' comments with `#' comments for
more conformity with cvs autoconf.
Removed emacs hack-local-variables, since there is now a
proper Autoconf major mode.
Removed a couple of changequote()s.
Gary V. Vaughan [Sat, 16 Sep 2000 00:33:37 +0000 (00:33 +0000)]
* bootstrap (ltconfig): When bootstrapping libtool with a
stock automake (i.e. without the README patch applied),
references to ltconfig are manually removed from the generated
Makefile.in files.
Gary V. Vaughan [Fri, 15 Sep 2000 02:10:27 +0000 (02:10 +0000)]
From Paul Sokolovsky <Paul.Sokolovsky@technologist.com>
* libtool.m4 (pw32): Initial support for pw32, assuming that
libtool's behaviour in this environment is identical to under
cygwin.
* ltmain.in (pw32): ditto.
* NEWS: Updated.
Gary V. Vaughan [Thu, 14 Sep 2000 21:29:24 +0000 (21:29 +0000)]
* libtool.m4 (changequote): An audit of changequote and m4
quote usage -- all changequotes (except a few with non-nesting
square brackets) have been removed.
Michael Matz [Tue, 12 Sep 2000 23:26:49 +0000 (23:26 +0000)]
* ltmain.in: Be careful about filenames with multiple `.'s in
them when calculating file extensions.
Reported by Joel Reed <jreed@support.ddiworld.com>
Gary V. Vaughan [Tue, 12 Sep 2000 20:02:16 +0000 (20:02 +0000)]
libtool.m4 (AC_PROG_LIBTOOL): Removed, as it was triggering a
bug in Autoconf-2.13 AC_REQUIRE implementation which inserted
some of the expanded tests too early in the generaated configure.
(_AC_PROG_LIBTOOL): renamed to AC_PROG_LIBTOOL, and defines
itself to an empty expansion to prevent multiple expansions.
configure.in (AC_LIBTOOL_SETUP): Replaced by a call to
AC_PROG_LIBTOOL now that the AC_REQUIRE bug has been worked
around.
Gary V. Vaughan [Sat, 9 Sep 2000 12:12:56 +0000 (12:12 +0000)]
configure.in (AC_PROG_LIBTOOL): Using this in libtools own
configure.in interacts badly with the AC_PROVIDE calls and
results in several tests being inserted into configure too
early. Use AC_LIBTOOL_SETUP instead.
Gary V. Vaughan [Fri, 8 Sep 2000 17:04:24 +0000 (17:04 +0000)]
libtool.m4 (_LT_AC_LTCONFIG_HACK): The ltconfig.in code I
ported from ltconfig.in was incomplete -- this is a backport
of the missing code taken from the multi-language branch.
Gary V. Vaughan [Thu, 7 Sep 2000 21:25:03 +0000 (21:25 +0000)]
* NEWS: Updated.
* TODO: Add a reminder to get rid of ltconfig in mlb.
* README: Until things even out, I have added a note and a
patch to make the installed automake cooperate with the new
ltconfig free libtool.
Gary V. Vaughan [Thu, 7 Sep 2000 00:38:04 +0000 (00:38 +0000)]
* libtoolize.in (files): Don't try to install ltconfig -- it
doesn't exist!!
* bootstrap: Fake an ltconfig incase the installed automake
calls an installed libtoolize (as part of its --add-missing
process) which thinks ltconfig should be there.
Gary V. Vaughan [Wed, 6 Sep 2000 17:31:09 +0000 (17:31 +0000)]
libtool.m4 now contains a version of the code that used to run
from ltconfig, so that ltmain.sh and then libtool are
generated at configure time.
* Makefile.am: Don't generate ltmain.sh or ltconfig anymore.
* bootstrap: ltconfig is no more!
* configure.in: Call AC_PROG_LIBTOOL directly.
(AC_OUTPUT): Generate tmain.sh.
* libtool.m4: Don't build an argument list for ltconfig.
(_LT_AC_LTCONFIG_HACK): Refactoring of the former contents of
ltconfig.in to take advantage of the m4 macros from autoconf.
* ltmain.in: Don't do a version check against ltconfig.
* tests/assign.test: Remove reference to ltconfig.
* tests/hardcode.test: ditto.
* tests/sh.test: ditto.
* ltconfig.in: Removed all references to what used to be
hardcode_into_libs=all. 2000-09-03's patch was wrong.
* ltmain.in: Likewise.
* tests/build-relink.test, tests/build-relink2.test: Adjust.
* mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before
libfoo2.la, so that they're installed in the right order.