* doc/libtool.texi (Distributing libltdl): Document that -static
may cause the same problems on libltdl as -all-static.
* TODO: We might want to fix this in the future.
* libltdl/Makefile.am (ltdl.lo): Add dependencies.
* libltdl/configure.in: Clean up some duplicate defines.
* libltdl/acconfig.h: New file. Add #undefs for defines that
would be duplicated.
Revert last Ossama's patch. autoconf does not use extern "C", so we
shouldn't either, otherwise libtool might think we have dlopening while
libltdl might not be able to deliver it.
Gary V. Vaughan [Thu, 29 Apr 1999 07:38:58 +0000 (07:38 +0000)]
* libtool.m4 (cygwin*|mingw*, DLLTOOL, OBJDUMP, AS): Only expand the
code that makes these configure time checks on hosts that need the
tools *and* if the AC_LIBTOOL_WIN32_DLL macro is used.
The previous ChangeLog entry was wrong. It should have been:
* libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC,
AC_ENABLE_FAST_INSTALL): Do not call AC_BEFORE here, they're
AC_REQUIREd by AC_LIBTOOL_SETUP.
(AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL):
Call AC_BEFORE here, and now with two arguments, since these do
change the default.
(AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Fix calls to
AC_BEFORE.
Gary V. Vaughan [Wed, 28 Apr 1999 14:46:44 +0000 (14:46 +0000)]
* libtool.m4 (ltconfig_enable_win32_dll): pass --enable-win32-dll to
ltconfig if this is set.
(AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt
a dll build on win32 hosts.
* ltconfig.in (--enable-win32-dll): new flag for the cli.
(cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set
to yes, then do not attempt to build shared libraries.
* doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL.
* NEWS: noted new macro.
* libtool.m4 (AC_LIBTOOL_DLOPEN, AC_ENABLE_SHARED,
AC_ENABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_LIBLTDL_CONVENIENCE,
AC_LIBLTDL_INSTALLABLE): Warn if they appear after
AC_PROG_LIBTOOL. AC_LIBTOOL_SETUP, actually.
(AC_LIBTOOL_SETUP): Check whether DLOPEN support is to be enabled
at autoconf time, not configure time. Simplify code and
improve (?) help message about --disable-libtool-lock.
Thomas Tanner [Tue, 27 Apr 1999 17:28:04 +0000 (17:28 +0000)]
* ltconfig.in: set need_version=no on OSF (reported by
Marcus Sundberg <mackan@stacken.kth.se>)
* ltmain.in: allow absolute non-existant -L paths,
always use output_objdir instead of objdir for temporary files
and create the directory before generating symbol lists,
delete generated temporary symbol lists,
don't add .la twice in the pseudo-library header
* ltmain.in (help uninstall): added a missing backslash
after echo (reported by Ossama Othman)
* ltmain.in (old_archive_cmds): Iterate on oldobjs to find out
which links to object files we must create. Do not test for empty
pic_flag to create such links. Use objext when searching for
object files extracted from convenience library.
* ltconfig.in (compiler_c_o): Make sure the compiler does not
create temporaries in the current directory when output should go
elsewhere. We must perform locking if it does.
* ltconfig.in (aix4*, allow_undefined_flag): Set to -berok.
(aix4*, shared_flag): Set to -shared or ${wl}-bM:SRE.
(aix4*, archive_cmds): Use -bexpall.
(aix4*, archive_cmds, archive_expsym_cmds): Use shared_flag and
allow_undefined_flag.
(aix4*, always_export_symbols): Set to yes up to AIX 4.1.*,
because -bexpall is supported from 4.2 on.
Reported by Greg Wooledge
<ic5035%tss1crs.amgreetings.com@rose.amgreetings.com>
* ltconfig.in (hpux*, hardcode_minus_L): Set to yes.
(hpux*, hardcode_libdir_flag_spec): Do not use +s by default.
(hpux*, shlibpath_overrides_runpath): Set to no.
* ltconfig.in (irix*, sys_lib_dlsearch_path_spec): /usr/local/lib
is not searched by default. /usr/lib is searched before /lib.
* ltconfig.in (irix*, sys_lib_search_path_spec): /usr/lib is
searched before /lib.
* ltmain.in (prefer_static_libs): New variable, set to no by
default, but set to yes by -static and -all-static. Used instead
of build_libtool_libs to decide whether to use a shared or static
version of a library, when both versions are available.
Thomas Tanner [Sun, 11 Apr 1999 21:12:46 +0000 (21:12 +0000)]
* libltdl/configure.in: check for shl_load in libdld
* libltdl/ltdl.c (shl_close, shl_sym): use (shl_t *) instead of shl_t
* ltconfig.in (check for gcc): removed a bogus line,
check for shl_load in libdld
* ltmain.in: added a warning to the header of the .la file
to warn users against deleting the file.
* libtool.m4 (AC_PROG_LD, AC_PROG_NM): When looking for programs,
try $ac_exeext too, so that they're found on DJGPP/MS-DOS.
* ltconfig.in: Likewise.
Reported by Robert S. Maier <rsm@math.arizona.edu>
Thomas Tanner [Fri, 9 Apr 1999 18:50:22 +0000 (18:50 +0000)]
* NEWS, README: Motorola System V 4 support
* doc/PLATFORMS: added mk88-motorola-sysv4
* ltconfig.in: installed patch from Brian Ford <ford@vss.fsi.com>
to support mk88-motorola-sysv4
* ltconfig.in (--fallback-echo): Do not put an inline document and
an exec in the same if construct; otherwise the inline document
may not be removed.
* ltmain.in (--fallback-echo): Likewise.
Reported by John David Anglin <dave.anglin@nrc.ca>
* dryrun.test: It would still fail at random times, because `cp'
and `mv' are not guaranteed to preserve the timestamps of the
installed files. Instead of preserving them, just remove them
before the dry uninstall test. Redirect dry-run output to stderr,
so that it can be easily separated from the regular output.
* tests/dryrun.test: The constant modifications of libtool would
cause main.o to be updated at the wrong time; the new approach is
to modify the libtool script so that it enables dry run depending
on whether an environment variable is set or not. I've also moved
`after' and `before' to a directory deep within $objdir, instead
of creating it in ../tests.
* tests/Makefile.am (CLEANFILES): Removed.
* tests/dryrun.test: We cannot rely on setting LIBTOOL, because
automake may use sub-makes, and the setting will not be propagated
to them on some makes. Instead, create a dry version of libtool
and switch between it and the original one before and after dry
runs.
* tests/Makefile.am (CLEANFILES): Added libtool-*, created by
dryrun.test.
* tests/dryrun.test: Use cmp instead of diff.
(before, after): Create them within ../tests.
(libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL,
SHELL and top_builddir from the environment if available. For dry
runs, use "$libtool -n".
* tests/Makefile.am (CLEANFILES): Added before and after.
* ltmain.in: Do not create links to object files in dry runs.
Thomas Tanner [Tue, 6 Apr 1999 22:12:16 +0000 (22:12 +0000)]
* NEWS: improved DJGPP support
* libtool.m4: some DJGPP fixes
* ltconfig.in: ditto, reverted one of my previous patches: we need
to check for NM
* ltmain.in: some DJGPP fixes
* ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by
default, as most a.out platforms use it, and end up in trouble if
we preload it, so it's safer to rule it out by default, and
special case its removal from exclude_expsyms if someone ever
complains.
Thomas Tanner [Mon, 5 Apr 1999 12:34:03 +0000 (12:34 +0000)]
* doc/libtool.texi: reorder tests to reflect execution order,
documented dryrun.test
* ltmain.in (lt_preloaded_symbols): dry-run mode bugfix
* tests/dryrun.test: new test to check whether the dry-run
mode works properly
* ltconfig.in (archive_cmds, sunos4*): Revert to -Bstatic; the
native linker doesn't even support -Bshareable, only GNU ld does.
Do not use `gcc -shared' in archive_cmds, it breaks deplibs.test.
* ltconfig.in: if ld_shlibs=no, set can_build_shared=no too,
otherwise it will just be disregarded. This would cause
netbsd/m68k with GNU ld a.out, and certainly many other platforms,
to incorrectly believe that shared libraries were supported, while
archive_cmds was empty, causing shared libraries not to be created
* ltmain.in (convenience): fixed race condition when more than one
library was linked with the same convenience library by
uniquifying the extract directory. It is now named after the new
library *and* the old one, and lives in the objdir of the new one.
* libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests
that involve linking
* Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto
* tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set
(LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down
Thomas Tanner [Thu, 1 Apr 1999 15:37:39 +0000 (15:37 +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,
* 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:25:44 +0000 (19:25 +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
Alexandre Oliva [Tue, 30 Mar 1999 16:57:14 +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:39:49 +0000 (12:39 +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:22:00 +0000 (13:22 +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:52:00 +0000 (16:52 +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, 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,
don't regenerate the .lai file if it was removed - it should not
happen
Alexandre Oliva [Fri, 26 Mar 1999 00:08:41 +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 22:12:13 +0000 (22:12 +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