Alexandre Oliva [Wed, 20 Jan 1999 12:44:50 +0000 (12:44 +0000)]
* ltmain.in (compile): when compiling both PIC and non-PIC, write
the PIC object to .libs/.lo and only rename it to .lo after
compiling the .o, to avoid fooling make dependencies
Alexandre Oliva [Wed, 20 Jan 1999 10:07:04 +0000 (10:07 +0000)]
* ltconfig.in (bsdi4*, netbsd*, uts4*, library_names_spec,
soname_spec): removed duplicate dot before $major
Reported by Steven M. Schultz <sms@wlv.iipo.gtegsc.com> (bsdi4*)
Alexandre Oliva [Wed, 20 Jan 1999 09:06:46 +0000 (09:06 +0000)]
* libltdl/configure.in (libltdl_cv_preloaded_symbols,
HAVE_PRELOADED_SYMBOLS): test whether we support -dl*open
* libltdl/ltdl.c (!HAVE_PRELOADED_SYMBOLS, lt_preloaded_symbols):
define it to an empty list if libtool won't generate it, so as to
avoid link errors. This will cause silent dlopening failures, but
maybe this is better than failing to link the program...
Alexandre Oliva [Mon, 18 Jan 1999 13:30:43 +0000 (13:30 +0000)]
* libtool.m4 (LIBTOOL_DEPS): set it
* libltdl/configure.in (LIBTOOL_DEPS): AC_SUBST it
* libltdl/Makefile.am (libtool): use it
* doc/libtool.texi (AM_PROG_LIBTOOL): document it
Alexandre Oliva [Mon, 18 Jan 1999 13:16:55 +0000 (13:16 +0000)]
* Makefile.am (libltdl.tar.gz): don't create it as part of the
build, since it is likely to become stale if we do
(install-data-hook): create and install libltdl.tar.gz, without
depending on GNU tar
Reported by Manfred Weichel <Manfred.Weichel@pdb.siemens.de>
Alexandre Oliva [Sun, 17 Jan 1999 09:18:54 +0000 (09:18 +0000)]
* ltconfig.in (wlarc): set to either '${wl}' or an empty string,
depending on whether archive_cmds runs CC or LD
(gnu_ld=yes, whole_archive_flag_spec): "$wlarc" instead of '${wl}'
Alexandre Oliva [Sun, 17 Jan 1999 05:47:10 +0000 (05:47 +0000)]
* mdemo/Makefile.am (../libltdl/libltdlc.la): depend on
../libtool, because ../libltdl/libtool depends on it
(mdemo_debug_*): copy from mdemo_*, adding -static to LDFLAGS
Alexandre Oliva [Sun, 17 Jan 1999 04:21:52 +0000 (04:21 +0000)]
* ltconfig.in (need_lib_prefix, need_version,
deplibs_check_method): default to unknown, so that we're
remembered that this needs porting; unknown is interpreted as yes,
yes and none, respectively
(freebsd2*, freebsd3*, sunos4*, need_version): set to yes
(freebsd2*, freebsd3*, library_names_spec): libraries without a
version number are not used by `ld'; add $versuffix;
Reported by Ben Jackson <ben@ben.com>
* ltmain.in (deplibs_check_method): alias unknown to none
(need_version): if vinfo was not provided and release info was,
zero out versuffix only if we don't need_version.
* doc/libtool.texi: document what `unknown' means
Alexandre Oliva [Sun, 17 Jan 1999 04:15:06 +0000 (04:15 +0000)]
* libltdl/ltdl.h (lt_dlpreopen_default): reverted to a macro
without arguments, that calls lt_dlpreopen_default_ with
lt_dlpreloaded_symbols
* libltdl/ltdl.c (lt_dlpreopen_default_): renamed from
lt_dlpreopen_default
Alexandre Oliva [Thu, 14 Jan 1999 19:08:18 +0000 (19:08 +0000)]
* Makefile.am: Moved ltconfig and ltmain.sh back into srcdir, and
add them to the distribution. Added work-around if `mv -f' fails.
fix @AINCLUDE_M4_LIST@ and @DIST_MAKEFILE_LIST@ for relative and
absolute specifications of srcdir
Alexandre Oliva [Wed, 13 Jan 1999 20:48:54 +0000 (20:48 +0000)]
* ltconfig.in (solaris): define `need_version' to no
1999-01-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* ltconfig.in (solaris): Define `deplibs_check_method',
`file_magic_command', `need_lib_prefix' and `sys_lib_search_path'
* ltmain.in (file_magic_regex): Add space before matching pattern,
such that it works on solaris (solaris has a tab between the
library name (including the colon) and the `ELF' and such the
`ELF' will never be matched).
* ltconfig.in (NM): PATH search was not updated like in
libtool.m4, in last Alexandre Oliva's change to it
(sysv4*, ncr): pass all library dependencies
* ltmain.in (dependency_libs, -R): use `dep' instead of `arg' to
iterate, otherwise we'd overwrite `arg'
(convenience, old_libs): if --disable-shared, convenience
libraries are just old archives, as .lo's are of no use
* tests/cdemo-static.test: print --disable-shared here
Alexandre Oliva [Wed, 13 Jan 1999 18:37:25 +0000 (18:37 +0000)]
* libltdl/configure.in (libltdl_cv_shlibext, LTDL_SHLIB_EXT):
system-dependent extension of shared libraries
(libltdl_cv_shlibpath_var, LTDL_SHLIBPATH_VAR): system-dependent
run-time shared library search path
* libltdl/ltdl.c (dldpre_init, dldpre_exit): unrelate init/exit
from add/remove symlists, so one may add dld_preloaded_symbols
from main(), when only a library will call dldpre_init
(lt_dlopen): use LTDL_SHLIBPATH_VAR, if defined, as secondary
search path. Also, if a requested .la file cannot be found, try
with the LTDL_SHLIB_EXTension instead.
Alexandre Oliva [Wed, 13 Jan 1999 10:41:07 +0000 (10:41 +0000)]
* configure.in (AC_CONFIG_DIRS): configure only libltdl, and then,
only if --enable-ltdl-install
(CONF_SUBDIRS): list directories that are configured on demand,
but that must be included in the distribution
(ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS
* Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and
readme-alpha, to handle README-alpha automatically
(EXTRA_DIST): removed README-alpha
(BUILD_SUBDIRS): subdirectories that are always built
(SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL
(DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure
(all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from
configure, and libtool, so that it is built before subdirs
(configure-subdirs): new target
(configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST),
from configure
(@DIST_MAKEFILE_LIST@): create subdir if needed, then run
configure.
On-demand configuration of subdirs at distribution time was
suggested by Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
Alexandre Oliva [Wed, 13 Jan 1999 10:38:45 +0000 (10:38 +0000)]
* libtool.m4, ltconfig.in (NM): search for NM in PATH before
/usr/ccs/bin, /usr/ucb and /bin. However, if the found one isn't
BSD-compat keep searching. If no BSD-compat is found, use the
first we found.
Alexandre Oliva [Mon, 11 Jan 1999 22:31:00 +0000 (22:31 +0000)]
* ltmain.in, NEWS, doc/libtool.texi: Added support for -R flag
* ltmain.in, doc/libtool.texi: documented that -rpath is the same
as -R for programs
* ltmain.in: softened the instructions for linking with installed
libraries, and noted that libtool can be used to link with them;
documented that -rpath is not required for convenience libraries
Alexandre Oliva [Mon, 11 Jan 1999 06:27:08 +0000 (06:27 +0000)]
* ltmain.in (convenience, libobjs): get only .o and .lo files from
the files extract from the convenience library. Some systems,
such as FreeBSD2, will add a SYMDEF file, that is not an object
file, and therefore should not be fed to the linker
Alexandre Oliva [Sun, 10 Jan 1999 19:16:30 +0000 (19:16 +0000)]
* configure.in (AC_CONFIG_SUBDIRS): add libltdl, demo, mdemo and
depdemo commented out, so that `dist' works before `check'
(BUILD_LTDL): will contain libltdl if --enable-ltdl-install
* Makefile.am (DIST_SUBDIRS): expand SUBDIRS and add depdemo,
commented out
(SUBDIRS): add $(BUILT_LTDL)
* libltdl/Makefile.am (EXTRA_LTLIBRARIES): add libtest.la, the
same as libltdl but always a convenience library. Not built by
default. Both libraries now depend on the libtool script, that
depends on ../libtool and is rebuilt when needed
* mdemo/Makefile.am (mdemo, mdemo.debug): depend on and link with
../libltdl/libtest.la, that is rebuilt if needed
(mdemo_LDADD): removed $(LIBADD_M), to avoid silent failures
(foo1.la): renamed from libfoo1.la; test removing the lib prefix
* mdemo/foo1.c: renamed libfoo1_LTX symbols to foo1_LTX
* mdemo/main.c: don't include string.h nor math.h, nor refer to
sin nor cos
* tests/mdemo-exec.test: renamed libfoo1.la to foo1.la
* tests/mdemo-inst.test: ditto
Alexandre Oliva [Sun, 10 Jan 1999 19:15:01 +0000 (19:15 +0000)]
* libltdl/ltdl.c (FILENAME_MAX): use it instead of MAX_FILENAME,
and don't redefine it if already defined; default to 1024, as on
most systems
(LT_SYMBOL_LENGTH): renamed from MAX_SYMBOL_LENGTH
(LT_SYMBOL_OVERHEAD): new macro, that accounts for the size of
the _LTX_ separator and the initial underscore
(lt_dlsym): sym now points to a stack buffer (lsym) if possible,
or is dynamically allocated. If allocation fails, a
buffer_overflow_error is returned.
Alexandre Oliva [Tue, 5 Jan 1999 23:13:44 +0000 (23:13 +0000)]
* ltmain.in (libobjs_save, oldobjs): when building an
old-fashioned archive, use a copy of libobjs saved before
convenience libraries are appended
* libltdl/ltdl.h (_LTDLL_EXPORT, _LTDLL_IMPORT): use cygwin or
unix library import/export primitives; this may be convenient for
people willing to create DLLs
(_LTDLL_EXTERN): select _LTDLL_EXPORT or _LTDLL_IMPORT depending
on _LTDL_COMPILE_
* libltdl/ltdl.h, libltdl/ltdl.c (lt_dlpreopen): new function,
that replaces the current preloaded_symbols list with its
argument, and returns the old value, initially NULL
(dldpre_init): don't refer to dld_preloaded_symbols any more
(dldpre_open, dldpre_sym): search preloaded_symbols
(lt_dlpreopen_default): call lt_dlpreopen with
dld_preloaded_symbols, that is declared as extern; it should be
called from the main program or from some static library without
-no-undefined
(lt_dlerror): new function, that returns the error message for the
last error occurred; the error message is kept in the static
variable last_error
* libltdl/configure.in (enable-ltdl-install): moved back from
enable-install; other packages might use enable-install already,
better have fine grained control over this.
* libltdl/Makefile.am (libltdls.la): discarded
Alexandre Oliva [Tue, 5 Jan 1999 08:51:02 +0000 (08:51 +0000)]
* ltconfig.in (cygwin, archive_cmds, archive_sym_cmds): Moved
ltdll.c into ltmain.in, to avoid its duplication, and added a sed
script to extract it. Also, create def and base files in $objdir,
and don't remove them after the compilation.
(cygwin, library_names_spec): Create static part of the dll with
suffix -dll.a, to avoid conflicts with actual static libraries.
* ltmain.in: Added ltdll.c, as commented out text