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.
* tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on
`. /dev/null'. Set CONFIG_SITE to /dev/null/config/site, to make
sure we pick a non-existent file.
* ltconfig.in: Get rid of hardcode_into_libs=all; use
hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes
instead.
[FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no.
* ltmain.in: Likewise.
* tests/build-relink.test, tests/build-relink2.test: Adjust.
* ltconfig.in [with_gnu_ld] (archive_cmds, archive_expsym_cmds)
<solaris*, sysv5*, beos*>: Use compiler_flags instead of linker
flags.
Reported by Alex Hornby <alex@anvil.co.uk>
Gary V. Vaughan [Thu, 31 Aug 2000 17:23:44 +0000 (17:23 +0000)]
Move the echo detection code to a macro in libtool.m4. The code
at the top ofltconfig.in is ugly, but will go away when the rest
of ltconfig is migrated.
* Makefile.am (libtool): Pass the value of $ECHO to ltconfig as
an environment variable.
* libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value
correctly so that it inserts the correct code into configure.in
suitably quoted for M4 expansion. This code needs to be near
the top of configure.in as it calls itself recursively, so I
am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS
Autoconf). The value of ECHO is also substitued into the
Makefile to be used when Make calls ltconfig to generate
libtool, so another layer of quotation is required for the
Makefile.
(AC_LIBTOOL_SETUP): Use it.
* ltconfig.in: Accept a value for ECHO from the environment, and
carefully substitue for $0 if it is present in the ECHO value.
Because ECHO was quoted for Make, when ltconfig is called by
configure, it is overquoted, and one layer of quotes must be
stripped.
Gary V. Vaughan [Sun, 27 Aug 2000 10:50:23 +0000 (10:50 +0000)]
* ltconfig.in (with_gcc): Make the value of this option
available to the generated libtool script.
* ltmain.in (compile_command, finalize_command): The native C
and C++ compilers on IRIX require the -LANG:std in order to to
compile correctly. The same options should _not_ be passed
through to gcc on IRIX, or at all on other architectures for
backwards compatibility (among others).
Reported by Bob Freisenhahn <bfreisen@simple.dallas.tx.us>
Reported by Albert Chin-A-Young <china@thewrittenword.com>