+2004-11-23 Peter O'Gorman <peter@pogma.com>
+
+ 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 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/.
ACLOCAL_AMFLAGS = -I m4
DEFS = -DHAVE_CONFIG_H="<$(CONFIG_H)>" -DLTDL
-AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
+AM_CPPFLAGS = -I$(builddir) -I$(srcdir) -I$(srcdir)/libltdl
AM_LDFLAGS = -no-undefined
VERSION_INFO = -version-info 6:0:0
pkgincludedir = $(includedir)/libltdl
lib_LTLIBRARIES = libdlloader.la
-libdlloader_la_SOURCES = lt_error.h lt_error.c \
- lt__private.h lt_system.h \
- lt__alloc.h lt__alloc.c \
- lt__glibc.h \
- lt__dirent.h \
- slist.h slist.c
+libdlloader_la_SOURCES = libltdl/lt_error.h lt_error.c \
+ libltdl/lt__private.h libltdl/lt_system.h \
+ libltdl/lt__alloc.h lt__alloc.c \
+ libltdl/lt__glibc.h \
+ libltdl/lt__dirent.h \
+ libltdl/slist.h slist.c
libdlloader_la_LDFLAGS = $(VERSION_INFO)
libdlloader_la_LIBADD = $(LTLIBOBJS)
## Libltdl brings it all together:
if INSTALL_LTDL
-include_HEADERS = ltdl.h
-pkginclude_HEADERS = lt_system.h lt_error.h lt_dlloader.h
+include_HEADERS = libltdl/ltdl.h
+pkginclude_HEADERS = libltdl/lt_system.h libltdl/lt_error.h \
+ libltdl/lt_dlloader.h
lib_LTLIBRARIES += libltdl.la
endif
noinst_LTLIBRARIES = libltdlc.la
endif
-libltdl_la_SOURCES = ltdl.h ltdl.c \
- lt_dlloader.h lt_dlloader.c loaders/preopen.c
+libltdl_la_SOURCES = libltdl/ltdl.h ltdl.c \
+ libltdl/lt_dlloader.h lt_dlloader.c loaders/preopen.c
libltdl_la_CPPFLAGS = -DLTDLOPEN=libltdl $(AM_CPPFLAGS)
libltdl_la_LDFLAGS = $(VERSION_INFO) $(LT_DLPREOPEN)
libltdl_la_LIBADD = libdlloader.la
ltdldatadir = $(pkgdatadir)/libltdl
nobase_ltdldata_DATA = COPYING.LIB Makefile.am README configure.ac \
$(libltdl_la_SOURCES) $(libdlloader_la_SOURCES) \
- lt__dirent.c lt__dirent.h argz_.h argz.c
+ lt__dirent.c libltdl/lt__dirent.h \
+ argz_.h argz.c
## Make sure these will be cleaned even when they're not built by default:
CLEANFILES = libltdl.la libltdlc.la libdlloader.la
--- /dev/null
+/* slist.h -- generalised singly linked lists
+ Copyright (C) 2000, 2004 Free Software Foundation, Inc.
+ Written by Gary V. Vaughan <gary@gnu.org>
+
+ NOTE: The canonical source of this file is maintained with the
+ GNU Libtool package. Report bugs to bug-libtool@gnu.org.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+As a special exception to the GNU Lesser General Public License,
+if you distribute this file as part of a program or library that
+is built using GNU libtool, you may include it under the same
+distribution terms that you use for the rest of that program.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA
+
+*/
+
+/* A generalised list. This is deliberately transparent so that you
+ can make the NEXT field of all your chained data structures first,
+ and then cast them to `(SList *)' so that they can be manipulated
+ by this API.
+
+ Alternatively, you can generate raw SList elements using slist_new(),
+ and put the element data in the USERDATA field. Either way you
+ get to manage the memory involved by yourself.
+*/
+
+#if !defined(SLIST_H)
+#define SLIST_H 1
+
+#if defined(LTDL)
+# include <libltdl/lt_system.h>
+#else
+# define LT_SCOPE
+#endif
+
+#if defined(_cplusplus)
+extern "C" {
+#endif
+
+typedef struct slist {
+ struct slist *next; /* chain forward pointer*/
+ const void *userdata; /* for boxed `SList' item */
+} SList;
+
+typedef void * SListCallback (SList *item, void *userdata);
+typedef int SListCompare (const SList *item1, const SList *item2,
+ void *userdata);
+
+LT_SCOPE SList *slist_concat (SList *head, SList *tail);
+LT_SCOPE SList *slist_cons (SList *item, SList *slist);
+
+LT_SCOPE SList *slist_delete (SList *slist, void (*delete) (void *item));
+LT_SCOPE void * slist_remove (SList **phead, SListCallback *find,
+ void *matchdata);
+LT_SCOPE SList *slist_reverse (SList *slist);
+LT_SCOPE SList *slist_sort (SList *slist, SListCompare *compare,
+ void *userdata);
+
+LT_SCOPE SList *slist_tail (SList *slist);
+LT_SCOPE SList *slist_nth (SList *slist, size_t n);
+LT_SCOPE void * slist_find (SList *slist, SListCallback *find,
+ void *matchdata);
+LT_SCOPE size_t slist_length (SList *slist);
+
+LT_SCOPE void * slist_foreach (SList *slist, SListCallback *foreach,
+ void *userdata);
+
+LT_SCOPE SList *slist_box (const void *userdata);
+LT_SCOPE void * slist_unbox (SList *item);
+
+#if defined(_cplusplus)
+}
+#endif
+
+#if !defined(LTDL)
+# undef LT_SCOPE
+#endif
+
+#endif /*!defined(SLIST_H)*/
AUTOMAKE_OPTIONS = foreign
DEFS = -DHAVE_CONFIG_H="<$(CONFIG_H)>" -DLTDL
-AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) \
- -I.. -I$(srcdir)/..
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) \
+ -I.. -I$(srcdir)/.. -I$(srcdir)/../libltdl
AM_LDFLAGS = -no-undefined -module -avoid-version -export-dynamic
pkgincludedir = $(includedir)/libltdl