libraries that will be used as modules -- the pic objects are
built normally, and are not expected to resolve all their symbols
until they are linked into a library; convenience libraries are
then rolled using 'ar' and 'ranlib' (or equivalent) which also do
not check whether symbols are resolved. We now build each of the
loaders as a convenience library module under these assumptions,
and link libltdl.la with selected modules, at which time all of
the symbols *are* resolved:
* TODO: Remove item addressed by this changeset.
* libltdl/Makefile.am (lib_LTLIBRARIES): Remove libdlloader.la.
(libdlloader_la_SOURCES): Declaration removed. Changed all
clients. Source files..
(libltdl_la_SOURCES): ...added back in here.
(libdlloader_LDFLAGS, libdlloader_la_LIBADD): Removed.
(libltdl_la_LIBADD): Remove libdlloader.la; add $(LTLIBOBJS).
* libltdl/loaders/Makefile.am: Removed all references to
libdlloader.la.
parts of the autoconf bootstrap would be rerun spuriously after
the files had been copied into the source tree:
* libtoolize.m4sh (TAR): New default tar command.
(func_copy_cb): Move the core copying internals to here, using
$TAR to transfer files if possible when --copy was specified.
(func_copy): Adjust to call func_copy_cb.
* TODO: Remember to refactor this fix in due course.
Reported by Jeff Squyres <jsquyres@lam-mpi.org>
subdir-objects builds. This marks the beginning of a move to an
Autotest driven test framework, which will eventually allow us to
trim away many of the generated files in the current test demo
subdirectories:
* configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out
Autotest macros.
(AUTOTEST, M4SH): Use --language long hand.
* bootstrap: Generate tests/testsuite, and by implication
tests/package.m4.
* Makefile.am (edit): Add substitutions needed to generate
tests/package.m4 from bootstrap.
(check-recursive): Add tests/testsuite.
(TESTSUITE): The new Autotest testsuite target.
(TESTSUITE_AT): The Autotest sources.
(EXTRA_DIST): Distribute the generated testsuite and sources.
(tests/package.m4): Use $(edit) to propagate package metadata to
the new tests.
(tests/testsuite): Build the testsuite.
(tests/atconfig): How to regenerate the file.
(check-local): Hook Autotest into `make check'.
(installcheck-local): Run the testsuite on the installed tree.
(clean-local): Tidy our file droppings.
* tests/Makefile.am: Remove bitrotted code from Autotest
experiments in Autoconf 2.52 era. Updated the rest and moved into
Makefile.am.
* tests/testsuite.at: New container for Autotest test groups.
* tests/am-subdir.at: New test group for compatibility with
Automake's subdir-objects builds. Currently holds two tests, one
for a C project and another similar project in C++.
* TODO: Add an entry to remind us that these new tests expose a
bug in libtool.
* NEWS: Updated.
workstation doesn't hardcode the shared library path, although it
used to, so this is more likely a function of the binutils and/or
gcc I am using at the moment. The hardcode value setting code for
the configure script sucks at the moment though...
* (TODO): ...and needs to do a test compile instead of a table
lookup before 2.0 final.
preamble.
* tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible'
preamble in here too.
* HACKING: Note that tests/defs needs synching with m4sh.m4 too.
* TODO: Add new item.
are being used.
* Makefile.am (m4/ltversion.m4): New rule to create it from
m4/ltversion.in.
(nodist_pkgmacro_DATA): Add m4/ltversion.m4.
(EXTRA_DIST): Add m4/ltversion.in.
* m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION
from ltversion.m4.
* bootstrap: Call the Makefile.am to create an initial
m4/ltversion.m4.
* ltmain.in: Diagnose version mismatches of various flavours.
* TODO: Remove mismatch item.
* NEWS: Updated.
Changes for darwin building. Warn if linking against libs linked
with -module. Use module_cmds if available and building a module,
move convenience double lib check,
* libltdl/ltdl.c: ltdl support for darwin (first blush)
* libltdl/README: note that darwin is supported
* ltdl.m4: Changes for darwin, and for new shrext
* libtool.m4: Changed the way darwin builds stuff (make check passes)
added module_cmds, module_expsym_cmds and hardcode_automatic and put
them in the libtool script. check for zsh's removal of escapes. Allow
libraries to be stripped on darwin.
* TODO: Remove the todo about zsh's removal of excapes. note that zsh
echo works perfectly well, eval is screwed up. Seems to be fixed in
latest zsh.
* THANKS: added self :)
* f77demo/configure.ac: Use config.h or it doesn't work.
* ltmain.in (ILD): tidy up, add comments, remove dead code,
merge duplicate code
* ltmain.in (ILD): don't touch newdependency_libs after scan or
dlopen pass
* ltmain.in (ILD): don't dlpreopen dependency_libs of a dlopened
module (remove absolutely wrong quick hack)
* ltmain.in (ILD): remove wrong comments about duplicate removal
* ltmain.in (ILD): build a static-only module if it has
static libraries in its dependencies (so that libltdl can
safely load dependency_libs)
* ltmain.in (argument parsing): prefix comparsions of -l args with X,
replace -lc with `-framework System' _after_ the ILD passes
* ltmain.in (argument parsing): support dl[pre]open
for both .o and .lo files
* ltmain.in (deplibs_check): use portable test syntax
* ltmain.in (help): document -prefer-[non-]pic flags
* ltmain.in: improve readablity by adding some comments,
rename uninst_* to notinst_* (more adequate name)
* libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add
prototypes.
(LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status.
* libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow
making and testing of resident module status, which prevents a
module from being lt_dlclosed.
(lt_dlopen): If lt_dlopen()ing self, make the module resident.
(lt_dlclose): Return an error if the module is resident.
similar item to remind us to change the ltdl.m4 macros again when
_LT_AC_LTCONFIG_HACK is divided into proper macros.
* ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required
now that ltconfig has migrated to libtool.m4.
(AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK.
(AC_LTDL_SHLIBPATH): ditto.
(AC_LTDL_SYSSEARCHPATH): ditto.
* TODO: Add a reminder to get rid of ltconfig in mlb.
* README: Until things even out, I have added a note and a
patch to make the installed automake cooperate with the new
ltconfig free libtool.
* NEWS: updated
* TODO: updated
* ltmain.in: rename dlopen to dlopen_support
* ltconfig.in: ditto
* doc/libtool.texi: ditto
* ltmain.in: check whether libraries are moved out of $libdir,
replace .a and .lib with .$libext, .o and .obj with .$objext
* TODO: Note some cleanups that are now needed.
* libltdl/configure.in: Use the new macroised tests.
* libltdl/ltdl.m4: New file, macroised tests formerly in
libltdl/configure.in.
Reported by Stephan Kulow <coolo@kde.org>.
* libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag
* ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags,
fixed the strip check (reported by Keith Bostic <bostic@bostic.com>)
* ltmain.in (compile mode): build only PIC/non-PIC code depending
on pic_mode
* libltdl/README: document the supported dlopen interfaces
* doc/libtool.texi (tests): documented new tests
* tests/Makefile.am: added new tests
* tests/demo-pic.test: new test to test --with-pic
* tests/demo-nopic.test: new test to test --without-pic
* tests/build-relink2.test: variant of build-relink.test that
uses depdemo
* TODO: -Wc, -Wl, implemented
* AUTHORS: changed my email address
* doc/libtool.texi: fix "wierd" typo :)
* ltmain.in: linking against convenience libraries was broken,
implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for
compiler and linker-specific flags,
add -lc before we do the deplibs check
* ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags
for $LD, link_all_deplibs=yes on IRIX
* NEWS: insert todays date alongside 1.3.1 release.
* Makefile.in: use gnu not gnits rules
* config.guess: synch with gnu common & apply Takabatake-san's
MIPS *000 patch.
* config.sub: synch with gnu common.
* TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX
4.3.2.0 no longer fails on static dlopening. GNU DLD no longer
has to support .la files, since libltdl already does. Convenience
libraries and reloadable objects should be tested in the
testsuite. We could support some amount of control on the soname
of libraries.
* doc/libtool.texi: Notes about convenience libraries and
automake. Documented INCLTDL.
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
* 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
* 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)
* 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.
* 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)
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
* doc/libtool.texi (libltdl interface): removed the line which
promised that lt_dlopen will return NULL if it can't resolve all
symbols
* libltdl/Makefile.am, libltdl/configure.in: fixed build problem:
renamed the convenience library to libltdlc.la and the
installed version to libltdl.la
* ltmain.in (wrapper script): replaced the "T" suffix of the program
file name with a "lt-" prefix
* mdemo/Makefile.am: use libltdlc.la
* tests/Makefile.am, tests/demo-nofast.test: added demo to
test --enable-fast-install=no
* demo/configure.in: use AC_LIBTOOL_DLOPEN
* libtool.m4: added AC_ENABLE/DISABLE_FAST_INSTALL macro
* ltconfig.in: added --disable-fast-install flag
* ltmain.in: partially reverted Alexandre's patch and implemented
on-demand linking in such a way that the old developer-friendly
linking style is optional,
don't hardcode library paths that are in the system search path,
fixed a typo in lib_search_path,
implemented -export-symbols-regex for programs