]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
I assume that it is okay to have undefined symbols in convenience
authorGary V. Vaughan <gary@gnu.org>
Sat, 26 Feb 2005 22:51:28 +0000 (22:51 +0000)
committerGary V. Vaughan <gary@gnu.org>
Sat, 26 Feb 2005 22:51:28 +0000 (22:51 +0000)
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.

ChangeLog
libltdl/Makefile.am
libltdl/loaders/Makefile.am

index e0824e69ad12d7ab3f0258a2798f7fd68579996f..de6e0207f551af9bf2306e92b363a19512b16e12 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2005-02-26  Gary V. Vaughan  <gary@gnu.org>
+
+       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-25  Gary V. Vaughan  <gary@gnu.org>
 
        * libtoolize.m4sh (func_copy): Split arguments to func_copy_cb
 
 2005-02-24  Peter O'Gorman  <peter@pogma.com>
 
-       * m4/libtool.m4 (_LT_LINKER_SHLIBS): The Portland group's 
-       compiler does not pass --whole-archive. Move gnu ld check for 
+       * m4/libtool.m4 (_LT_LINKER_SHLIBS): The Portland group's
+       compiler does not pass --whole-archive. Move gnu ld check for
        the flag to the top so it can be overridden.
-       (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Unset 
+       (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Unset
        whole_archive_flag_spec for the portland group's c++ compiler too.
        Reported by Jeff Squyres <jsquyres@lam-mpi.org>
 
index 2d5b9e06aeeda1a1122304349a25e2bf9d93f583..7707c7908613f5f8b995f4c0679bef720c9c7317 100644 (file)
@@ -1,6 +1,7 @@
 ## Process this file with automake to produce Makefile.in
 ##
-## Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation
+## Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
+## Free Software Foundation, Inc.
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -33,46 +34,41 @@ VERSION_INFO                = -version-info 6:0:0
 
 pkgincludedir          = $(includedir)/libltdl
 
-lib_LTLIBRARIES                = libdlloader.la
-libdlloader_la_SOURCES  = libltdl/lt_error.h lt_error.c \
-                         libltdl/lt__private.h \
-                          libltdl/lt__strl.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 = $(AM_LDFLAGS) $(VERSION_INFO)
-libdlloader_la_LIBADD  = $(LTLIBOBJS)
-
-## Libltdl brings it all together:
 if INSTALL_LTDL
 include_HEADERS                = ltdl.h
 pkginclude_HEADERS     = libltdl/lt_system.h libltdl/lt_error.h \
                          libltdl/lt_dlloader.h
-lib_LTLIBRARIES                += libltdl.la
+lib_LTLIBRARIES                = libltdl.la
 endif
 
 if CONVENIENCE_LTDL
 noinst_LTLIBRARIES     = libltdlc.la
 endif
 
-libltdl_la_SOURCES     = ltdl.h ltdl.c \
-                         libltdl/lt_dlloader.h lt_dlloader.c loaders/preopen.c
+libltdl_la_SOURCES     = ltdl.c ltdl.h \
+                         lt_error.c libltdl/lt_error.h \
+                         libltdl/lt__private.h \
+                         libltdl/lt__strl.h \
+                         libltdl/lt_system.h \
+                         lt__alloc.c libltdl/lt__alloc.h \
+                         libltdl/lt__glibc.h \
+                         libltdl/lt__dirent.h \
+                         slist.c libltdl/slist.h \
+                         lt_dlloader.c libltdl/lt_dlloader.h loaders/preopen.c
 libltdl_la_CPPFLAGS    = -DLTDLOPEN=libltdl $(AM_CPPFLAGS)
 libltdl_la_LDFLAGS     = $(AM_LDFLAGS) $(VERSION_INFO) $(LT_DLPREOPEN)
-libltdl_la_LIBADD      = libdlloader.la
+libltdl_la_LIBADD      = $(LTLIBOBJS)
 
-libltdlc_la_SOURCES    = $(libltdl_la_SOURCES) $(libdlloader_la_SOURCES)
+libltdlc_la_SOURCES    = $(libltdl_la_SOURCES)
 libltdlc_la_CPPFLAGS   = -DLTDLOPEN=libltdlc $(AM_CPPFLAGS)
-libltdlc_la_LDFLAGS    = $(AM_LDFLAGS) -weak libdlloader.la $(LT_DLPREOPEN)
-libltdlc_la_LIBADD     = $(libdlloader_la_LIBADD)
+libltdlc_la_LDFLAGS    = $(AM_LDFLAGS) $(LT_DLPREOPEN)
+libltdlc_la_LIBADD     = $(libltdl_la_LIBADD)
 
 ## These are installed as a subdirectory of pkgdatadir so that
 ## libtoolize --ltdl can find them later:
 ltdldatadir            = $(pkgdatadir)/libltdl
 ltdldatafiles          = COPYING.LIB Makefile.am README configure.ac \
-                         $(libltdl_la_SOURCES) $(libdlloader_la_SOURCES) \
+                         $(libltdl_la_SOURCES) \
                          lt__dirent.c libltdl/lt__dirent.h \
                           lt__strl.c libltdl/lt__strl.h \
                          argz_.h argz.c
index 8333cbeca728c0e255a827e2f183a72c3c4756ce..db3446ae0b3de74cbd11ba6515fa44b242dd44d0 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 ##
-## Copyright (C) 2004, 2005 Free Software Foundation
+## Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -26,7 +26,7 @@ AUTOMAKE_OPTIONS      = foreign
 DEFS                   = -DHAVE_CONFIG_H="<$(CONFIG_H)>" -DLTDL
 AM_CPPFLAGS            = -I$(top_builddir) -I$(top_srcdir)  \
                          -I.. -I$(srcdir)/.. -I$(srcdir)/../libltdl
-AM_LDFLAGS             = -no-undefined -module -avoid-version -export-dynamic
+AM_LDFLAGS             = -module -avoid-version
 
 pkgincludedir          = $(includedir)/libltdl
 
@@ -39,13 +39,9 @@ noinst_LTLIBRARIES   = $(LT_DLLOADERS)
 EXTRA_LTLIBRARIES      = dlopen.la dld_link.la dyld.la load_add_on.la \
                          loadlibrary.la shl_load.la
 
-## Build loaders (other than preopen) as modules:
-dlopen_la_LIBADD       = ../libdlloader.la $(LIBADD_DLOPEN)
-shl_load_la_LIBADD     = ../libdlloader.la $(LIBADD_SHL_LOAD)
-dyld_la_LIBADD         = ../libdlloader.la
-load_add_on_la_LIBADD  = ../libdlloader.la
-loadlibrary_la_LIBADD  = ../libdlloader.la
-dld_link_la_LIBADD     = ../libdlloader.la -ldld
+dlopen_la_LIBADD       = $(LIBADD_DLOPEN)
+shl_load_la_LIBADD     = $(LIBADD_SHL_LOAD)
+dld_link_la_LIBADD     = -ldld
 
 
 ## These are installed as a subdirectory of pkgdatadir so that
@@ -61,6 +57,3 @@ install-data-local:
        $(mkinstalldirs) $(DESTDIR)$(ltdldatadir)
        $(AMTAR) cf - $(ltdldatafiles) \
          | ( cd $(DESTDIR)$(ltdldatadir) && $(AMTAR) xf -; )
-
-../libdlloader.la:
-       cd ..; $(MAKE) $(AM_MAKEFLAGS) libdlloader.la