Gary V. Vaughan [Wed, 28 Apr 1999 15:26:14 +0000 (15:26 +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:30:20 +0000 (17:30 +0000)]
* NEWS: new clean mode
* THANKS: added Ossama Othman
* doc/libtool.texi: documented the new `clean' mode
* 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,
delete generated temporary symbol lists,
don't add .la twice in the pseudo-library header,
implemented and documented clean mode (deletes libraries,
programs and object files and the files associated with them),
if build_libtool_libs=no and no static library is available,
try to link the program against the shared library,
don't add a statically linked library to the dependency_libs
* 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:10:04 +0000 (21:10 +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,
link shared against static libraries if
deplibs_check_method == pass_all
* 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:47:16 +0000 (18:47 +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:08:59 +0000 (22:08 +0000)]
* NEWS: improved DJGPP support
* doc/libtool.texi: removed hardcode_into_libs documentation
* libtool.m4: some DJGPP fixes
* ltconfig.in: ditto, reverted one of my previous patches: we need
to check for NM, removed the hardcode_into_libs support since
no platform seems to support it
* ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support
* 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:32:21 +0000 (12:32 +0000)]
* doc/libtool.texi: reorder tests to reflect execution order,
documented dryrun.test and depdemo*
* 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
Thomas Tanner [Sat, 3 Apr 1999 00:36:06 +0000 (00:36 +0000)]
* NEWS: updated
* libtool.m4: check for main in libm instead of cos
* ltmain.in: cosmetic fixes, don't try to link libraries only once
(although it's not necessary on many platforms and looks ugly...),
* 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: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