Commit Graph

373 Commits

Author SHA1 Message Date
Ralf Wildenhues
5faec2f98a * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_LINKER_SHLIBS): Double-quote unsafe tag variable
descriptions: they are literals.
2005-08-26 09:58:39 +00:00
Bruno Haible
3165a5d2b7 * libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f"
and "rm -f && ln -s" to make a symlink for a shared library: the
former is needed for libraries `ln' depends on, the latter for
Solaris /bin/ln.
Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2005-08-24 15:57:32 +00:00
Ralf Wildenhues
62e9381be4 * libltdl/config/ltmain.sh (cwrappersource): return 127 if exec failed. 2005-08-24 14:49:23 +00:00
Ralf Wildenhues
f24610a07d * libltdl/m4/libtool.m4 (_LT_COMPILER_C_O): Send chmod warning to log. 2005-08-24 14:48:30 +00:00
Ralf Wildenhues
ef9da6d2b3 Updated. 2005-08-24 14:41:27 +00:00
Ralf Wildenhues
cbd5046d65 * libltdl/m4/ltdl.m4 (LT_SYS_SYMBOL_USCORE): Use _LT_EOF, not
EOF.
2005-08-24 11:13:18 +00:00
Peter O'Gorman
9dbbe605b7 * libltdl/config/ltmain.m4sh (inherited_linker_flags): Work when
output is an application too.
Reported by Christopher Egger <Christoph_Egger@gmx.de>
2005-08-24 04:51:41 +00:00
Stepan Kasal
d452d7e4cc * libltdl/m4/ltdl.m4 (LTDL_INIT): Use AH_HEADER if defined.
Compute CONFIG_H only before creating config.status.
Reported by Peter Ekberg <peda@axentia.se>.
2005-08-23 16:04:27 +00:00
Gary V. Vaughan
757d7dc478 Reorganise the libtool tree to create a bootstrapped libltdl for
installation to the libtoolize master tree, so that libltdl is
useable even in the extreme case of when automake and autoconf are
not installed on the developers machine.  Part of this change
requires some duplication of rules between Makefile.am (which
builds libltdl for this distribution) and libltdl/Makefile.am
(which is used by projects that libltoolize --ltdl --copy), so
libtool now really does use a single toplevel Makefile.am, and we
generate libltdl/Makefile.am from that:

* m4, config: Moved from here...
* libltdl/m4, libltdl/config: ...to here, to reduce the amount of
kludging needed in bootstrap for autoreconf to run.
* tests/cdemo/Makefile.am, tests/demo/Makefile.am,
tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am,
tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am,
tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to
compensate.
* tests/cdemo/configure.ac, tests/demo/configure.ac,
tests/depdemo/configure.ac, tests/f77demo/configure.ac,
tests/fcdemo/configure.ac, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/pdemo/configure.ac,
tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto.
* libltdl/m4/ltdl.m4: Increment serial number.
(LTDL_INIT): Accept an optional directory argument to prefix each
of the LD_DLLOADERS locations.  Default to empty for backwards
compatibility.
* Makefile.maint: Adjust to compensate.
* configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust.
(AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS
from in a subdirectory from the amalgamated Makefile.am.
(AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects.
(AC_CONFIG_FILES): Remove libltdl/Makefile.am.
* libltdl/Makefile.am: Removed from repository, and merged into
Makefile.am as we now generate it...
* Makefile.am (libltdl/Makefile.am): ...from here, by extracting
the merged rules, and tweaking paths to accomodate the difference
in directory from Makefile.am to libltdl/Makefile.am.
(nobase_dist_pkgdata_DATA): Automake generated installation rules
change timestamps of installed files, so renamed this...
(configauxfiles): ...to this...
(libtoolize): ...substitute it...
(install-data-local): ...install manually, preserving
timestamps...
(install-data-hook): ...and set execute bit as appropriate.
(uninstall-hook): Not forgetting to remove them at uninstall.
(libltdl/Makefile.in): New rule.  Called from...
* bootstrap: ...here to avoid relying on config.status at
bootstrap time.
(auxdir, m4dir): Extract from configure.ac for ease of future
maintenance.  Adjust all references.
(reconfdirs): Call autoreconf for libltdl too -- even
though we don't use it for the build, libltdl/configure and
friends are installed with `libtoolize --ltdl --copy'.
* libtoolize.m4sh: Add files from the installed config master tree
to libtoolize --ltdl project subdirectory.
Diagnose duplicated files when --ltdl is used in an autotooled
project.
It's perfectly fine to run `libtoolize --ltdl --copy' in a tree
that has no configure.ac or configure.in; we want libltdl to be
useful even to projects that don't use autotools themselves.
(libtoolize_flags): Removed.  Changed all callers.
(func_massage_pkgconfig_files): New function.
* tests/standalone.at: New tests for using libltdl without
supporting configury in the parent project.
* tests/testsuite.at: Run them!
* NEWS: Updated.
2005-08-23 01:49:37 +00:00
Peter Ekberg
6ef9fd6518 * config/.cvsignore, m4/.cvsignore: Moved from here...
* libltdl/config/.cvsignore, libltdl/m4/.cvsignore: ...to here.
2005-08-22 22:36:13 +00:00
Peter Ekberg
efe47e6656 This commit results in a temporary non-building tree, but CVS can't
cope with moving a file and changing it in the same changeset:

* config, m4: Moved from here...
* libltdl/config, libltdl/m4: ...to here.
2005-08-22 22:33:35 +00:00
Gary V. Vaughan
f91f8c703e * libltdl/Makefile.am: revert mistaken commit. 2005-08-21 18:53:15 +00:00
Gary V. Vaughan
499773445e * tests/template.at [darwin]: Some of these tests result in
unresolved symbols on darwin, so don't run those test on that
host!
2005-08-21 18:47:08 +00:00
Peter Ekberg
d3a95f3f9e * libltdl/Makefile.am: Make the LTDLOPEN define controllable
from the configure script.
* m4/ltdl.m4 (LTDL_INIT): Set the LTDLOPEN define according
to libname_spec.
2005-07-28 10:59:32 +00:00
Peter Ekberg
e535901dc1 * libltdl/loaders/loadlibrary.c (vm_open): Set the error mode so
that no dialog is popped up in case the file given to
LoadLibrary is not a dll.
2005-07-28 10:15:57 +00:00
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