libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

124-gary-eliminate-libdlloader.patch


From: Gary V. Vaughan
Subject: 124-gary-eliminate-libdlloader.patch
Date: Fri, 25 Feb 2005 18:55:49 +0000
User-agent: Mozilla Thunderbird 0.9 (X11/20041103)

Okay to commit?
-- 
Gary V. Vaughan      ())_.  address@hidden,gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook
Index: ChangeLog
from  Gary V. Vaughan  <address@hidden>
        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.

Index: TODO
===================================================================
RCS file: /cvsroot/libtool/libtool/TODO,v
retrieving revision 1.61
diff -u -p -r1.61 TODO
--- TODO 22 Feb 2005 15:27:07 -0000 1.61
+++ TODO 25 Feb 2005 18:52:57 -0000
@@ -54,8 +54,6 @@ GNU Libtool
 1.2. libtldl
 ------------
 
-* Get rid of the shared libddloader.
-
 * Change libltdl interface: add separate functions for function
   pointers.  This will allow porting to systems where function pointers
   are incompatible with data pointer C-wise.
Index: libltdl/Makefile.am
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/Makefile.am,v
retrieving revision 1.71
diff -u -p -r1.71 Makefile.am
--- libltdl/Makefile.am 23 Feb 2005 15:45:03 -0000 1.71
+++ libltdl/Makefile.am 25 Feb 2005 18:52:57 -0000
@@ -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            = $(pkgvdatadir)/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: libltdl/loaders/Makefile.am
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/loaders/Makefile.am,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile.am
--- libltdl/loaders/Makefile.am 23 Feb 2005 15:57:15 -0000 1.7
+++ libltdl/loaders/Makefile.am 25 Feb 2005 18:52:57 -0000
@@ -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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]