Thomas Tanner [Thu, 1 Apr 1999 15:34:13 +0000 (15:34 +0000)]
* demo/Makefile.am: moved testsuite specific declarations to the end,
the deplibs check is now optional
* libltdl/configure.in: read libtool --config only once,
merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4
* libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not
used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN
no longer necessary
* ltconfig.in: NM is already checked in libtool.m4,
* ltmain.in: always link all static dependency_libs
* tests/Makefile.am: added deplibs.test
* tests/demo-exec.test, demo-inst.test: removed hell0
* tests/deplibs.test: new test to test the deplibs_check_method
Thomas Tanner [Tue, 30 Mar 1999 19:22:41 +0000 (19:22 +0000)]
* doc/libtool.texi: fixed a typo
* 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
Alexandre Oliva [Tue, 30 Mar 1999 16:57:28 +0000 (16:57 +0000)]
* ltconfig.in (aix4*, collect2name): make sure collect2 exists
before running string on it, to avoid errors on old gccs
Reported by Erez Zadok <ezk@cs.columbia.edu>
Alexandre Oliva [Tue, 30 Mar 1999 12:40:22 +0000 (12:40 +0000)]
* ltmain.in, ltconfig.in: reverted most of the quoting changes
from 1999-03-25; Gary's delay_variable_subst patch from 1999-02-19
obviates it. Keep only quoting of $PATH, for uniformity with
other systems that already did it
* TODO: comments on hardcoding paths into libraries; problem
with shell meta-characters in filenames
Gary V. Vaughan [Mon, 29 Mar 1999 13:40:01 +0000 (13:40 +0000)]
* libltdl/ltdl.c (lt_dladdsearchdir): Forgot to mallocate the
extra byte of memory for the teminating NUL, and forgot to
strcpy the original path in to the new memory before appending
the new path compononent.
Thomas Tanner [Sat, 27 Mar 1999 16:58:10 +0000 (16:58 +0000)]
* NEWS: updated
* 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,
Alexandre Oliva [Fri, 26 Mar 1999 00:08:49 +0000 (00:08 +0000)]
* demo/Makefile.am: create a static library, link two libtool
archives with it, then link the program hell0 with both
* demo/hell1.c, demo/hell2.c: dummy files used to create the
libtool archives without introducing symbol conflicts
* tests/demo-exec.test, tests/demo-inst.test: run the new program
* ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all
Alexandre Oliva [Thu, 25 Mar 1999 23:00:13 +0000 (23:00 +0000)]
* ltmain.in ($PATH): instead of modifying the PATH, better prevent
its expansion the first time *_cmds variables are eval'ed. Modify
$show within loops that eval them so as to expand variables
* ltconfig.in (*_cmds): quote $ so that they're not expanded by
the first eval
Thomas Tanner [Wed, 24 Mar 1999 22:42:59 +0000 (22:42 +0000)]
* TODO: support -dlopen for libraries
* doc/PLATFORMS: Erez Zadok reported that libtool works on bsdi 4.0.1
* doc/libtool.texi (libltdl): libltdl supports BeOS
* libltdl/ltdl.c: shlib_ext was declared even if LTDL_SHLIB_EXT
didn't exist, partially reverted my previous patch: BeOS will
automatically search in ADDON_PATH
* ltmain.in: don't allow relative run-paths, fixed a typo in a warning,
ignore -dlopen self for libraries and objects,
only accept -L paths that exist, minor cleanups,
bugfix: add -lc for normal libraries, not convenicence libraries
removed offensive warnings/comments
Gary V. Vaughan [Tue, 23 Mar 1999 12:55:43 +0000 (12:55 +0000)]
* libltdl/configure.in: the sed expression for finding the shared
library extension used to think the . in [.] for the cygwin
shared_library_names_spec was the start of the extension!! We now
remove anything in square brackets (assuming that the square
brackets delimit a sed or expr expression which is not part of the
extension) before looking for the extension.
* TODO (cygwin): food for thought re: mutually dependant dlls.
Thomas Tanner [Sat, 20 Mar 1999 21:59:15 +0000 (21:59 +0000)]
* doc/libtool.texi (link mode): documentation for -module updated
* ltconfig.in: fast-install mode doesn't work for
hardcode_into_libs=yes
* ltmain.in: bugfix: "-dlopen self [-all]-static" wouldn't use
dlopen_self_static, automatically enable -export-dynamic when
using "-dlopen self", always make run-paths absolute,
ignore -lc only on platforms that don't have such a library,
cleanups in the ILD code, find even installed libtool libraries
that were moved, before generating the DLL-import library we need
to set libname, improved hardcoding of shlibpath for libraries,
don't generate an installable pseudo-library for convenience
libraries, bugfix: export_symbols would be removed immediately
before it is used
Thomas Tanner [Sat, 20 Mar 1999 00:27:33 +0000 (00:27 +0000)]
* use the same header in all configure.in's and Makefile.am's
* 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)
Alexandre Oliva [Fri, 19 Mar 1999 19:50:49 +0000 (19:50 +0000)]
* ltconfig.in (sunos4*, with_gnu_ld, hardcode_minus_L): remove, we
have -rpath
(aix4*, without_gnu_ld, hardcode_shlibpath_var): unsupported is
default
(hpux9*, hpux10*, hpux11*, archive_cmds): drop +s, unneeded here
(hpux9*, hpux10*, hpux11*, hardcode_libdir_flag_spec): add +s
before +b
(hpux9*, hpux10*, hpux11*, shlibpath_overrides_runpath): since +s
appears before +b, set it to yes
(hardcode_shlibpath_var, hardcode_action): do not use
shlibpath_var to specify the compile-time search path; it loses,
and we may end up linking with pre-installed older versions of
libraries instead of yet-to-be-installed ones
(*, hardcode_direct, hardcode_minus_L): remove entries that set
them to no, that is default
Alexandre Oliva [Fri, 19 Mar 1999 18:43:32 +0000 (18:43 +0000)]
* demo/Makefile.am (hc-direct, hc-libpath, hc-minusL): link with
$$hardcode_libdir_flag_spec, if available, with libdir=$(libdir),
to make sure the hardcode_* variables will produce the expected
results even in the presence of a hardcoding flag; depend on
libhello.la having been installed already
(hc-libflag): link with the installed library, but try to
hard-code the uninstalled one
* doc/libtool.texi: document the changes
Gary V. Vaughan [Fri, 19 Mar 1999 10:18:39 +0000 (10:18 +0000)]
* ltmain.in (dependency_libs): There is no reason to infer that
the pseudo library is invalid if dependency_libs='' at
install-time, or else libltdl/libltdl.la is invalid!!
Thomas Tanner [Thu, 18 Mar 1999 21:57:08 +0000 (21:57 +0000)]
* merged my inter-library dependencies code from the ILD branch:
* 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.
Thomas Tanner [Sun, 14 Mar 1999 11:18:37 +0000 (11:18 +0000)]
* TODO: libltdl is now documented
* 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)
Alexandre Oliva [Sun, 14 Mar 1999 03:14:29 +0000 (03:14 +0000)]
* ltconfig.in (aix3*, aix4*): GNU ld on AIX is very broken: it
cannot create working shared libraries. Print a warning
suggesting the user not to use it and disable shared libraries.
Alexandre Oliva [Sun, 14 Mar 1999 00:34:34 +0000 (00:34 +0000)]
* ltconfig.in (file_magic_test_file): new variable; if set, it
will be used as an argument for $file_magic_cmd to test whether
the regex in deplibs_check_method matches its output
(file_magic_cmd): use full pathnames whenever possible
Alexandre Oliva [Sat, 13 Mar 1999 23:09:57 +0000 (23:09 +0000)]
* ltconfig.in (sys_lib_dlsearch_path_spec): new variable, that
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>
Alexandre Oliva [Thu, 11 Mar 1999 22:55:48 +0000 (22:55 +0000)]
* ltconfig.in: (global_symbol_pipe) extract symbol tag from the
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
Alexandre Oliva [Thu, 11 Mar 1999 16:11:05 +0000 (16:11 +0000)]
* ltconfig.in: set dlopen_* variables to unknown when appropriate
* ltmain.in: only emit warning about lack of AC_LIBTOOL_DLOPEN if
*all* dlopen_* variables are set to unknown
Alexandre Oliva [Thu, 11 Mar 1999 01:13:56 +0000 (01:13 +0000)]
* libtool.m4 (AC_LIBTOOL_DLOPEN): just set lt_dlopen=yes
(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
Alexandre Oliva [Thu, 11 Mar 1999 00:58:19 +0000 (00:58 +0000)]
* libltdl/configure.in (libltdl_cv_need_uscore): do not assume
dlfcn.h and LTDL_LAZY exist; use LTDL_GLOBAL and LTDL_LAZY_OR_NOW.
This test is likely to fail if self-dlopening does not work,
especially because we do not link the program with
-export-dynamic. Let's just hope that platforms whose symbol
names start with underscores will also accept underscores for
dlopen. We should probably use libtool to compile and link this
test, so that we can use -export-dynamic.
Alexandre Oliva [Wed, 10 Mar 1999 21:23:37 +0000 (21:23 +0000)]
* libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE):
avoid introducing multiple --enable options when re-running
config.status
* libltdl/configure.in: if enable_ltdl_* is not set, assume no
* configure.in: if enable_ltdl_install is not set, enable it
Alexandre Oliva [Wed, 10 Mar 1999 20:39:03 +0000 (20:39 +0000)]
* libltdl/configure.in: only assume implicit installation if
libltdl was libtoolized. If not, print a warning message
suggesting the use of --enable-ltdl-install or of one of the
AC_LIBLTDL_* macros.
Alexandre Oliva [Wed, 10 Mar 1999 20:24:40 +0000 (20:24 +0000)]
* libtool.m4 (AC_LIBTOOL_SETUP): new macro, that does all the
configure-work that AC_PROG_LIBTOOL used to do; add
--cache-file=$cache_file to libtool_flags
(AC_PROG_LIBTOOL): call AC_LIBTOOL_SETUP, save the cache, run
ltconfig and reload the cache
* configure.in: run AC_LIBTOOL_SETUP, then set LIBTOOL_FLAGS to
libtool_flags
* ltconfig.in: support --cache-file switch. If it is used, load
the cache in the beginning and save it just before terminating
Alexandre Oliva [Wed, 10 Mar 1999 18:12:02 +0000 (18:12 +0000)]
* configure.in: create ltconfig and ltmain.sh at the end of
config.status, if they do not exist. This fixes the bootstrap
problem reported by Erez Zadok <ezk@cs.columbia.edu>