From: Peter O'Gorman Date: Tue, 23 Nov 2004 12:47:19 +0000 (+0000) Subject: Do not require that libtoolize --ltdl=/some/path end in libltdl. Move X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6315f3c47950f617913104809514e7f8261addfd;p=thirdparty%2Flibtool.git Do not require that libtoolize --ltdl=/some/path end in libltdl. Move most libltdl headers to libtldl/libltdl to allow #include 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. --- diff --git a/ChangeLog b/ChangeLog index 0f1f85915..b0ff5f263 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2004-11-23 Peter O'Gorman + + Do not require that libtoolize --ltdl=/some/path end in libltdl. Move + most libltdl headers to libtldl/libltdl to allow + #include 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 * doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/. diff --git a/libltdl/Makefile.am b/libltdl/Makefile.am index 53d1cc873..160d7f573 100644 --- a/libltdl/Makefile.am +++ b/libltdl/Makefile.am @@ -27,26 +27,27 @@ AUTOMAKE_OPTIONS = foreign 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 @@ -54,8 +55,8 @@ if CONVENIENCE_LTDL 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 @@ -70,7 +71,8 @@ libltdlc_la_LIBADD = $(libdlloader_la_LIBADD) 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 diff --git a/libltdl/lt__alloc.h b/libltdl/libltdl/lt__alloc.h similarity index 100% rename from libltdl/lt__alloc.h rename to libltdl/libltdl/lt__alloc.h diff --git a/libltdl/lt__dirent.h b/libltdl/libltdl/lt__dirent.h similarity index 100% rename from libltdl/lt__dirent.h rename to libltdl/libltdl/lt__dirent.h diff --git a/libltdl/lt__glibc.h b/libltdl/libltdl/lt__glibc.h similarity index 100% rename from libltdl/lt__glibc.h rename to libltdl/libltdl/lt__glibc.h diff --git a/libltdl/lt__private.h b/libltdl/libltdl/lt__private.h similarity index 100% rename from libltdl/lt__private.h rename to libltdl/libltdl/lt__private.h diff --git a/libltdl/lt_dlloader.h b/libltdl/libltdl/lt_dlloader.h similarity index 100% rename from libltdl/lt_dlloader.h rename to libltdl/libltdl/lt_dlloader.h diff --git a/libltdl/lt_error.h b/libltdl/libltdl/lt_error.h similarity index 100% rename from libltdl/lt_error.h rename to libltdl/libltdl/lt_error.h diff --git a/libltdl/lt_system.h b/libltdl/libltdl/lt_system.h similarity index 100% rename from libltdl/lt_system.h rename to libltdl/libltdl/lt_system.h diff --git a/libltdl/ltdl.h b/libltdl/libltdl/ltdl.h similarity index 100% rename from libltdl/ltdl.h rename to libltdl/libltdl/ltdl.h diff --git a/libltdl/libltdl/slist.h b/libltdl/libltdl/slist.h new file mode 100644 index 000000000..4906145cb --- /dev/null +++ b/libltdl/libltdl/slist.h @@ -0,0 +1,92 @@ +/* slist.h -- generalised singly linked lists + Copyright (C) 2000, 2004 Free Software Foundation, Inc. + Written by Gary V. Vaughan + + 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 +#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)*/ diff --git a/libltdl/loaders/Makefile.am b/libltdl/loaders/Makefile.am index 91ece9d91..6663b86c2 100644 --- a/libltdl/loaders/Makefile.am +++ b/libltdl/loaders/Makefile.am @@ -24,8 +24,8 @@ EXTRA_DIST = 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