Commit Graph

358 Commits

Author SHA1 Message Date
Peter Ekberg
32580388c3 * libltdl/ltdl.c: The linker is confused by having one
definition of lt_libltdlc_LTX_preloaded_symbols tagged with
__declspec(dllexport) in ltdl.c and one definition with an
initial value in libltdlcS.c. So, just say extern in ltdl.c.
Fixes the mdemo-exec.test for MinGW.
2005-07-28 10:01:03 +00:00
Ralf Wildenhues
639faa31d0 * libltdl/Makefile.am (libltdl_la_DEPENDENCIES): Depend on
$(BUILT_SOURCES) as well, so that argz.h gets created through
`make libltdlc.la'.
Reported by Sven Verdoolaege <skimo@liacs.nl>.
2005-07-08 16:16:11 +00:00
Olly Betts
7e0238b4f3 * libltdl/argz.c (argz_create_sep): Fix typo. 2005-06-01 19:09:00 +00:00
Gary V. Vaughan
94cc58be06 The FSF are moving offices today. Changed their contact address
in all files from `59 Temple Place, Suite 330, MA 02111-1307' to
`51 Franklin Street, Fifth Floor, MA 02110-1301'.
2005-04-22 10:10:31 +00:00
Gary V. Vaughan
ebb37d1a39 * libltdl/configure.ac (AC_OUTPUT): loaders/Makefile is no longer
used.
2005-04-15 10:31:35 +00:00
Gary V. Vaughan
3f1d9569a7 * libltdl/loaders/Makefile.am: Removed actually. 2005-04-04 12:55:29 +00:00
Gary V. Vaughan
0aa2e304c6 Getting the value of ltdldatafiles from a submake was not
portable, and had problems with GNU make-3.80 at least.  This
changeset pulls the installation rules for libtoolize's copy of
the libltdl sources out of libltdl/Makefile.am so that
ltdldatafiles is defined in the same Makefile that uses it.  Also,
this makes a start at cleaning up libltdl/Makefile.am so that it
is useful in a package that uses `libtoolize --ltdl':

* libltdl/loaders/Makefile.am: Removed entirely.
* libltdl/Makefile.am (dlopen.la, dld_link.la, dyld.la)
(load_add_on.la, loadlibrary.la, shl_load.la): All built from here
now that the loaders submake has gone.
(show-ltdldatafiles): Removed.  No longer required.
(ltdldatadir, ltdldatafiles, install-local): Moved from here...
* Makefile.am (ltdldatadir, ltdldatafiles, install-local): ..to
here.
(libtoolize): Substitute $(ltdldatafiles) directly without calling
make to get the value from libltdl/Makefile.
2005-04-04 12:12:25 +00:00
Gary V. Vaughan
53ee133dbd As a prerequisite for being able to test an uninstalled libtoolize
for copying files correctly from the source tree, we must know
exactly which files should be copied by the --ltdl option to avoid
accidentally picking up compilation objects and other noise when
$builddir == $srcdir:

* libltdl/loaders/Makefile.am (ltdldatadir, ltdldatafiles)
(install-data-local): Removed...
* libltdl/Makefile.am (ltdldatafiles): ...and consolidated here.
(show-ltdldatafiles): New rule...
* Makefile.am (ltdldatafiles, libtoolize): ...used to substitute
exactly which files are installed by libtoolize --ltdl.
(edit): Move pkgvmacro_DATA substitution expression...
(libtoolize): ...to here.
* libtoolize.m4sh: Use func_copy_some_files() instead of
func_copy_all_from_path() to copy the --ltdl option installed
files.
(pkgvltdldirs): New path variable to search for	files installed by
--ltdl option.
(func_massage_pkgvltdl_files): New function to calculate the list
of ltdl installation files.
2005-03-24 11:38:25 +00:00
Ralf Wildenhues
6c7ad0c8a9 * configure.ac, libltdl/configure.ac: s/##/dnl/ for comments
that are meaningless in configure.
Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
2005-03-16 10:04:52 +00:00
Ralf Wildenhues
622c4abcb5 * libltdl/configure.ac: Update version; require Autoconf >= 2.59. 2005-03-15 17:30:00 +00:00
Per Bothner
2b78876d4c * tests/Makefile (clean-local): Only run the testsuite cleanup
if the testsuite has been generated.
2005-03-11 11:39:28 +00:00
Gary V. Vaughan
b2e8ac266b * libltdl/Makefile.am (install-data-local): Don't force v7 tar
format with the `o' flag in create mode.
Set the umask to 0 when untarring to avoid copied files taking
their mode from the installer's umask.
* libltdl/loaders/Makefile.am (install-data-local): Ditto.
* libtoolize.m4sh (func_copy_cb): Ditto.
Ignore errors from failed `cd' in the tar processes, since we
may be running in dryrun mode.
Reported by Noah Misch <noah@cs.caltech.edu>,
	Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2005-03-10 17:25:29 +00:00
Ralf Wildenhues
ba2945ae21 * libltdl/Makefile.am: $(builddir) is not defined, replace by `.'. 2005-03-10 13:49:58 +00:00
Gary V. Vaughan
2bf6c9ba8f * libtoolize.m4sh (func_copy_cb): Use tar chof to avoid symlink
attacks.
* libltdl/Makefile.am, libltdl/loaders/Makefile.am
(install-data-local): Ditto.
2005-03-02 10:36:43 +00:00
Gary V. Vaughan
ceb8d350f4 * libltdl/Makefile.am (install-data-local): cd to $(srcdir) before
tarring up the files for installation to $(DESTDIR)$(ltdldatadir).
Don't remove the destination directory, since that interacts badly
with the multi-Makefile installation.
* libltdl/loaders/Makefile.am (install-data-local): Ditto.
2005-02-27 00:00:42 +00:00
Gary V. Vaughan
e3582515cc I assume that it is okay to have undefined symbols in convenience
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.
2005-02-26 14:44:34 +00:00
Gary V. Vaughan
7687d52ee1 * libltdl/loaders/Makefile.am (install-data-local): Ditto. 2005-02-23 15:57:15 +00:00
Gary V. Vaughan
1e25bb10f1 * libltdl/Makefile.am (install-data-local): Don't forget about
$(DESTDIR).
2005-02-23 15:45:03 +00:00
Gary V. Vaughan
b09356c92d Preserving the installed timestamps for libltdl sources from
`libtoolize --ltdl --copy' is pointless if they are not preserved
from the libtool source tree at install time:

* libltdl/Makefile.am, libltdl/loaders/Makefile.am
(nobase_ltdldata_DATA): Renamed to...
(ltdldatafiles): ...this.
(install-data-local): New rule to install libltdl tree with tar to
preserve timestamps.
2005-02-23 14:40:38 +00:00
Ralf Wildenhues
c94de6d8cb * libltdl/Makefile.am: Add $(AM_LDFLAGS) to all per-target
variables *_LDFLAGS as per CVS Automake semantic change.
2005-01-23 17:10:12 +00:00
Ralf Wildenhues
c8d9340618 * libltdl/ltdl.c: Whitespace cleanup. 2005-01-13 14:48:00 +00:00
Ralf Wildenhues
f420fbd97f * libltdl/libltdl/lt__glibc.h: Move all exported slist
symbols into the lt__* namespace.
* libltdl/libltdl/lt__private.h, libltdl/libltdl/slist.h:
Adjust includes.
2005-01-10 18:49:27 +00:00
Ralf Wildenhues
70f63a304a * libltdl/lt__dirent.c: Include lt__private.h.
* libltdl/libltdl/lt__private.h: Include lt__strl.h.
2004-12-21 22:18:06 +00:00
Ralf Wildenhues
36ce7f4a14 * libltdl/lt__dirent.c [mingw] (opendir): Fix write of constant
strings past end of buffer.
(opendir, readdir): Fix read past end of buffer.
2004-12-18 21:42:08 +00:00
Ralf Wildenhues
445285d9a3 * libltdl/ltdl.c (trim): Return error rather than do bogus
null pointer arithmetic when parsing a malformed .la file.
2004-12-16 12:00:09 +00:00
Bob Friesenhahn
ced1775490 * libltdl/lt__strl.c, libltdl/libltdl/lt__strl.h: New files to
emulate strlcat and strlcpy, which support size-bounded string
copying and concatenation for improved security.
* libltdl/Makefile.am: Optionally build source files
libltdl/lt__strl.c and libltdl/libltdl/lt__strl.h.
* m4/ltdl.m4 (LTDL_INIT): Add checks for strlcat and strlcpy.
2004-12-13 21:09:19 +00:00
Ralf Wildenhues
5272d7fb5e * libltdl/ltdl.c (trim): Use memcpy instead of strncpy here, to
avoid problems with non-conforming strncpy.  This is safe here.
2004-11-29 21:06:24 +00:00
Ralf Wildenhues
60fbf440cb * m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we
have a dlloader to preload.
* libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only
declare preloaded_symbols then.  Fixes libltdl on static platforms.
* NEWS: Updated.
2004-11-29 21:00:20 +00:00
Ralf Wildenhues
13cac3c5db * libltdl/loaders/loadlibrary.c: Remove unneeded
file-static variable.
2004-11-28 19:44:09 +00:00
Gary V. Vaughan
84bd17d1f9 * libltdl/ltdl.h, libltdl/libltdl/ltdl.h: Revert move of this file.
Bloody cvs {add,rm}!
2004-11-23 16:11:01 +00:00
Gary V. Vaughan
11eb79b689 The ltdl.h header is the published interface to libltdl, and
is thus not installed to $prefix/include/libltdl.  It has always
been used with `#include <ltdl.h>', so move just that one file
back to where it was before:

* libltdl/libltdl/ltdl.h: Moved from here...
* libltdl/ltdl.h: ...to here.
* libltdl/Makefile.am: Adjust.
2004-11-23 16:08:56 +00:00
Peter O'Gorman
c3f040fa18 Do not require that libtoolize --ltdl=/some/path end in libltdl. Move
most libltdl headers to libtldl/libltdl to allow
#include <libltdl/ltdl.h> to always work.

* libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for includes
in the new location.
* libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h,
libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/ltdl.h,
libltdl/libltdl/slist.h: Added files, moved from libtdl/.
* libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h,
libltdl/lt__private.h, libltdl/lt_dlloader.h, libltdl/lt_error.h,
libltdl/lt_system.h, libltdl/ltdl.h, libltdl/slist.h: Removed, moved
to libltdl/libltdl.
2004-11-23 12:15:21 +00:00
Gary V. Vaughan
ef758b513c * configure.ac (APIVERSION): New substituted variable.
(pkgvdatadir): Ditto.  Versioned data directory.
(pkgvmacrodir): Ditto.  Versioned aclocal directory.
(LN): New check for LN command.
* Makefile.am (aclocal_DATA): Replaced with...
(pkgvmacro_DATA): ...this.
(install-data-local): Remove old shared resources.
(install-exec-hook): Make versioned links to executables.
(uninstall-hook): Remove versioned files.
* libltdl/Makefile.am (ltdldatadir): Redefine in terms of
pkgvdatadir.
* libltdl/loaders/Makefile.am (ltdldatadir): Ditto.
* libtoolize.m4sh: Copy macro files from versioned macro directory
instead of shared aclocal directory.
* doc/libtool.texi: Document it.
* NEWS: Updated.
2004-11-15 01:03:14 +00:00
Ralf Wildenhues
4d4230a3a6 * libtldl/ltdl.c (parse_dotla_file): Fix memleak. 2004-11-03 14:13:24 +00:00
Ralf Wildenhues
cfd90b5373 * libltdl/ltdl.c (loader_init_callback): Back out broken cast. 2004-11-01 14:04:29 +00:00
Ralf Wildenhues
d8df98d4c5 * libltdl/ltdl.c (loader_init_callback, lt_dlexit): Add casts to
target type.
2004-11-01 11:26:29 +00:00
Ralf Wildenhues
e40add4994 * TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h:
Undo accidental commit.
2004-10-22 13:07:44 +00:00
Ralf Wildenhues
ee81aed37d * Makefile.maint: Fix typo. 2004-10-22 13:02:53 +00:00
Ralf Wildenhues
567c9626d9 * libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks,
free user_search_path on lt_dlexit.
2004-10-08 14:10:33 +00:00
Ralf Wildenhues
ba0dac4a9d * libltdl/ltdl.c (try_dlopen): Move .la file parsing
part.. (parse_dotla_file): ..here.  Adjust.
2004-10-05 12:48:55 +00:00
Ralf Wildenhues
c3d2ada3c6 * libltdl/ltdl.c (load_deplibs, try_dlopen): Revert unnecessary casts
to int from my patch from 2004-10-01.
2004-10-05 12:42:45 +00:00
Gary V. Vaughan
954cd09b64 * libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as
per Ralf's original patch.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2004-10-03 17:22:50 +00:00
Gary V. Vaughan
452cf71bac * libltdl/Makefile.am (libltdlc_la_LIBADD): Don't use
libdlloader_la_OBJECTS, an undocumented Automake internal
variable...
(libltdlc_la_SOURCES): ...use libdlloader_la_SOURCES here
instead.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2004-10-03 17:12:53 +00:00
Gary V. Vaughan
aef90512b5 * libltdl/argz_.h: Forgot to spell lt_system.h with just one `_'. 2004-10-03 16:15:59 +00:00
Gary V. Vaughan
8911deab1b * libltdl/argz_.h: Forgot to include lt__system.h for LT_SCOPE
definition.
2004-10-03 15:44:36 +00:00
Ralf Wildenhues
dc5fbfd041 * libltdl/lt__alloc.h: Declare exported functions with LT_SCOPE
for mingw32.
* libltdl/lt__dirent.h: Ditto.
* libltdl/argz._h: Ditto.  Be careful about not requiring
additional libltdl files when used outside of libltdl.
* libltdl/slist.h: Ditto.
* HACKING: Add a section on libltdl implementation layering.
2004-10-03 13:50:10 +00:00
Ralf Wildenhues
9bc5390549 * libltdl/lt__alloc.c (lt__memdup): Allocation can fail, so we
need to guard against null pointer dereference here.
* libltdl/ltdl.c (lt_dlcaller_register): Ditto.
2004-10-01 10:24:18 +00:00
Ralf Wildenhues
921d06b537 * libltdl/slist.c (slist_foreach): result was declared as
inner variable, shadowing the actually returned value.
2004-10-01 10:03:11 +00:00
Ralf Wildenhues
2b104f6438 * libltdl/ltdl.c (load_deplibs, try_dlopen): Cast argument
to isspace/isalnum to the correct range.  Also, cast to int to
avoid compiler warnings.
2004-10-01 09:57:56 +00:00
Ralf Wildenhues
228e9808f8 * libltdl/ltdl.c (try_dlopen): Fix null pointer dereference in
case the name given to lt_dlopen contains no extension.
2004-10-01 02:55:50 +00:00