Alexandre Oliva [Sun, 20 May 2001 18:09:56 +0000 (18:09 +0000)]
* ltmain.in (exec_cmd): New variable. Don't exec programs within
the big `case'; set the variable instead, and exec the cmd
afterwards, so that the shell gets a chance to clean up here-doc
files.
* NEWS: Update.
Peter Eisentraut [Tue, 24 Apr 2001 23:58:18 +0000 (23:58 +0000)]
* ltcf-c.sh, ltcf-gcj.sh: Support $host_os as /sysv5uw7*/ from
newer config.guess in addition to older /unixware*/. Use
compiler driver, not linker, for linking shared libraries.
Gary V. Vaughan [Tue, 24 Apr 2001 23:03:33 +0000 (23:03 +0000)]
* ltdl.m4 (AC_C_INLINE): No longer required.
* libltdl/ltdl.c (strdup, strcmp, strchr, strrchr, memcpy, trim,
free_vars): Revoke inline keyword from declarations. `static
inline' is not very portable, and in addition Unixware 7.1.1's
compiler says you can't access static variables from inline
functions.
Reported by Peter Eisentraut <peter_e@gmx.net>
Gary V. Vaughan [Tue, 24 Apr 2001 17:16:32 +0000 (17:16 +0000)]
From Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
* tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test
scripts get the same make that was used in the top level
directory.
Gary V. Vaughan [Mon, 23 Apr 2001 20:11:35 +0000 (20:11 +0000)]
From Albert Chin-A-Young <china@thewrittenword.com>
* ltmain.in: `test -L' is not portable, and infact breaks uninstall
mode on Solaris. Fallback to `test -h' and finally `test -f',
but be careful not to let the failure status cause libtool to
stop.
Gary V. Vaughan [Sun, 22 Apr 2001 22:56:18 +0000 (22:56 +0000)]
* ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must
check for that here.
* libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for
the dlopen loader.
Reported by Matthew Schalit <mschalit@pacbell.net>
Gary V. Vaughan [Sun, 22 Apr 2001 22:38:00 +0000 (22:38 +0000)]
* libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for
various releases of UnixWare and OpenServer that support it.
Reported by Matthew Schalit <mschalit@pacbell.net>
* ltcf-cxx.sh: Support creation of C++ shared libraries on
recent versions of FreeBSD (release 3 or later).
* ltconfig.in: On FreeBSD, -lc must not be provided when building
a shared library or else the standard -pthread gcc option is
rendered worthless to later users of the built library.
Gary V. Vaughan [Sun, 8 Apr 2001 11:40:15 +0000 (11:40 +0000)]
* ltcf-c.sh (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl}
to pass -rpath when compiling with gcc.
Reported by Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
Gary V. Vaughan [Sun, 8 Apr 2001 10:44:49 +0000 (10:44 +0000)]
* libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self'
module, since HPUX adds module symbols into the `self' pool if
it is opened later. Return the cached pointer if the caller
subsequently tries to open `self'.
(sys_shl_sym): Diagnose NULL modules.
Gary V. Vaughan [Sun, 8 Apr 2001 10:03:52 +0000 (10:03 +0000)]
From Peter Eisentraut <peter_e@gmx.net>
* ltmain.in (clean,uninstall): test -e is not portable. Well,
neither is -L, but I'm hoping that redirecting error messages
to /dev/null and relying on non-zero exit status will work okay
on the few hosts that don't support -L.
Gary V. Vaughan [Fri, 6 Apr 2001 00:43:31 +0000 (00:43 +0000)]
* tests/Makefile.am (TESTS): Delete references to depdemo-dups.test.
* tests/depdemo-dups.test: Removed, as part of the patch
reversion below.
* ltmain.in: Revert my change from 2001-03-31. Although it
was technically correct, it opens a whole can of worms we don't
want to deal with right now.
Gary V. Vaughan [Fri, 6 Apr 2001 00:29:14 +0000 (00:29 +0000)]
From Ahmed Masud <masud@googgun.com>
* libltdl/ltdl.c (sys_shl_open): Return a NULL module handle
for self opening.
(sys_shl_close): Be careful not to close a NULL module handle.
(sys_shl_sym): Allow shl_findsym() to open NULL modules, but
discard the modified module address it returns.
Gary V. Vaughan [Fri, 6 Apr 2001 00:16:05 +0000 (00:16 +0000)]
* libltdl/ltdl.c (lt_dlopen): When reading the .la file,
reallocate the line buffer size if the line overflows the
original buffer.
Reported by Nick Hudson <skrll@netbsd.org>
* libtool.m4, ltconfig.in, ltcf-c.sh, ltcf-cxx.sh: Fixed
support for Darwin and Rhapsody. Now correctly hardcodes the
library path and adds versioning. Other small fixes.
* ltmain.in: Fixed special cases for libc and libm on Rhapsody and
Darwin. One of them was misplaced. Added version_type case for
Rhapsody and Darwin, named "darwin".
Gary V. Vaughan [Sun, 1 Apr 2001 00:30:34 +0000 (00:30 +0000)]
* ltmain.in: Remove the code for stripping duplicate deplibs
from libtool link lines -- duplicates are somtimes necessary
to satisfy inter-library dependencies, and never cause link to
fail even if they are spurious.
* tests/depdemo-dups.test: New file. Make sure this bug doesn't
creep back in again!
* tests/Makefile.am (TESTS): Use the new test above.
Edward M. Lee [Sat, 31 Mar 2001 11:05:10 +0000 (11:05 +0000)]
* ltconfig.in, ltcf-c.sh, ltcf-gcj.sh: Generate dll/import
libraries for cygwin according to the following: libFOO.a (static
lib), libFOO.dll.a (import lib), cygFOO-version.dll (dll). Update
postinstall_cmds and postuninstall_cmds to reflect this.
* ltmain.in: Generate installed .la files with dlnames set to
../bin/cygFOO-version.dll for normal dlls. dlls for modules
remain with the .la file.
* ltcf-c.sh: Clear ac_cv_prog_cc_pic for DJGPP. Do not add
'-DPIC' to ac_cv_prog_cc_pic for DJGPP.
* ltcf-cxx.sh: Likewise.
* ltcf-gcj.sh: Likewise.
* ltconfig.in: Fix typo.
Alexandre Oliva [Tue, 20 Mar 2001 05:47:28 +0000 (05:47 +0000)]
* ltmain.in (piecewise linking): Make sure we link at least one
object file at a time into a new reloadable object file.
[whole_archive_flag_spec]: Don't link convenience archives
piecewise.
(piecewise archiving): Clear RANLIB except for the last run.
Alexandre Oliva [Tue, 20 Mar 2001 05:44:23 +0000 (05:44 +0000)]
* configure.in (file_magic_cmd, reload_flag): Duplicate `$'s
before SUBSTin in the Makefile.
* ltconfig.in (reload_flag): Prepend a blank if it doesn't start
with one.
Gary V. Vaughan [Wed, 7 Mar 2001 01:51:20 +0000 (01:51 +0000)]
From Tor Lillqvist <tml@iki.fi>
* ltcf-c.sh, ltcf-gcj.sh (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 01:13:22 +0000 (01:13 +0000)]
From Tor Lillqvist <tml@iki.fi>
* ltmain.in (library_names_spec): Use an appropriate filename
prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32.
Gary V. Vaughan [Mon, 5 Mar 2001 21:31:44 +0000 (21:31 +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:48:03 +0000 (01:48 +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:27:19 +0000 (00:27 +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 20:15:26 +0000 (20:15 +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 11:42:38 +0000 (11:42 +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.