* 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>
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>
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.
* 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.
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.
* doc/libtool.texi (User defined module data): Document it all.
* ltdl.m4: Check for memcpy, or else bcopy.
* ltdl.c (lt_caller_data): New type.
(lt_dl_handle_struct): Add an lt_caller_data field.
(lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): New functions.
(rpl_memcpy): A minimal fallback implementation.
(rpl_realloc): A realloc implemented with lt_dlmalloc and
lt_dlfree.
(LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN):
New memory handling convenience macros. Use them
appropriately throughout the rest of this file.
* ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data,
lt_dlcaller_get_data): Prototyped.
* 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.
for modules. If the named module has no directory component,
always start the search with the user_search_path directories,
and then fall back on the current directory only if that fails.
number to reflect the breakage of binary compatibility.
* doc/libtool.texi (Libltdl interface): Document
LT_NON_POSIX_NAMESPACE.
* libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is
now to use this namespace, so the cpp macro is no longer
necessary.
ending in ``_t'') to deprecated #define compatibility macros.
Also ease up on the namespace pollution, so that only ``lt_''
and ``LT_'' prefixes are taken from the global namespace.
* ltdl.h: ditto.
* ltcf-cxx.sh (archive_cmds, archive_expsym_cmds,
hardcode_libdir_flag_spec, export_dynamic_flag_spec,
whole_archive_flag_spec, with_gnu_ld): Added two default
configurations for GNU g++ (one for g++ with GNU ld, and one for
g++ with native linker). Updated all platform-specific g++
configurations to only be used if GNU ld isn't the backend linker.
Added support for the KCC (Kuck and Associates, Inc. (KAI) C++
Compiler) to the Linux and OSF/1 configurations.
(ac_cv_prog_cc_wl): Added KAI C++ configuration.
(archive_expsym_cmds): Some configurations were missing the
argument that sets the name of the output library.
* libltdl/ltdl.c, libltdl/libltdl.h: Synchronized with HEAD branch
versions.
* ltcf-cxx.sh (whole_archive_flag_spec): Added missing back quotes
(`) around a command that had to be evaluated. This fixes GNU ld
"--whole-archive" support detection.
(wlarc): Fixed usage of $wlarc, which must be $wl in all cases,
but when really using $LD for linking.
* ltmain.in (deplibs): Add the library paths to end of the
deplibs, instead of the beginning, since deplibs is reordered
later on.
(sub): Added tagdemo to list of subdirectories to be
bootstrapped.
* ltcf-cxx.sh (AR): Removed redefinition of $AR to C++ compiler on
Solaris for the Sun C++ and Green Hills C++ compilers. `ar' must
be used to extract object files from the archives, despite the
fact that the archive must be created by the compiler.
Reported by Stephan Kulow <coolo@kde.org>
(predeps, postdeps): Remove any space between "-{L,R}" and the
path. Some compilers, such as HP aCC add space between them.
* ltconfig.in (dlopen, dlopen_support): Merged updates from HEAD
branch.
* ltmain.in: Merged updates from HEAD branch.
(libext): Do not reset $libext to `al' when creating convenience
libraries. Some compilers have problems with such a non-standard
extension.
Reported by Stephan Kulow <coolo@kde.org>
* doc/libtool.texi: Merged updates from HEAD branch.
* libltdl/Makefile.am, libltdl/configure.in, libltdl/ltdl.c,
libltdl/ltdl.h: Merged updates from HEAD branch.
* THANKS: added Olly Betts and Pavel Roskin
* doc/libtool.texi: fix typo
* fix major bugs which rendered libtool virtually
unusable (i.e. not portable):
* ltconfig.in: don't hardcode system dependent variables in ltconfig!!
but set sane defaults
* Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig
* libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG
* ltconfig.in: use old_deplibs for archives, too
remove second occurence of sysv5
* ltmain.in: fix typo, fix the second occurence of -DPIC, too
* libltdl/Makefile.am: increment version number, fix typo
* libltdl/ltdl.c (lt_dlsym): don't report an error if the
libltdl-style symbol name wasn't found
* ltconfig.in: add support for Unixware (sysv4.2uw2*)
* 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
fail if it is unable to physically load the library. Sadly,
LoadLibrary will search the loaded libraries for a match and
return one of them if the path search load fails. Simulate a
failure in this case for compatibility with the other APIs.
Also, LoadLibrary takes the liberty of adding `.dll' to library
names passed without an extension, we now add a trailing `.' to
prevent this from happening.
decided that LoadLibrary returns `0' for success, yet FreeLibrary
returns `0' for failure! The FreeLibrary call used to interpret
`0' as success for both functions.
is no longer needed, as ld reverted to the original format.
* NEWS: Likewise.
* ltconfig.in: When testing self-dlopening, test whether dlclose
crashes. On FreeBSD 3.1, it does. :-(
* libltdl/configure.in: Likewise.
* NEWS: Note work-around.
Reported by Pavel Roskin <pavel_roskin@geocities.com>
(install-data-hook): use libltdl/Makefile.am's local-install files
rule.
* libltdl/Makefile.am (local-install-files): New rule to install
libltdl without creating links or mode 777 directories.
* instutil/*: deleted.
* cdemo/main.c: "Welcome _to_ ..."
* mdemo/main.c: ditto
* libltdl/configure.in: support multiple dlopening mechanisms
at once
* libltdl/ltdl.c: prefix system dependent functions with "sys_"
to avoid symbol conflicts (libdld didn't work)
* libtool.m4 (AC_LIBLTDL_*): set INCLTDL to the path of ltdl.h
* ltconfig.in: check for dlopen with -ldl first