mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-12 14:06:37 +08:00
e658105eb9
There was no clean separation of abstraction layers in libltdl. The first step in fixing this is to factor out the memory management abstraction, making a start on removing promiscuity from the underlying portability layer: * doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc, lt_dlrealloc and lt_dlfree references. The memory management layer used by libltdl is now private. * libltdl/lt_system.h: New installed header for system portability abstraction. * libltdl/ltdl.h: Use it. * libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above system portability layer to abstract ltdl's memory management. * libltdl/ltdl.c: Use lt__alloc.h. (closedir): Use free. (opendir): Use malloc/free. (lt__xalloc_die_callback): Report memory failures through lt_dlerror. (lt_dlinit): Use it to initialise memory management. (LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC) (rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc): Removed in favour of... (lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls from libltdl/lt__alloc.h. Changed all callers. (rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part of the portability layer, these functions no longer use libltdl memory management API. (free_vars): Factored out. (LT_DLMEM_REASSIGN): While redoing memory handling, renamed... * libltdl/lt__alloc.h (MEMREASSIGN): ...to this. * libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track dependencies automatically. (pkgincludedir): Override from parent package's setting. (pkginclude_HEADERS): Install lt_system.h. (libltdl_la_SOURCES): Add new files. * NEWS: Updated. Reported by Dalibor Topic <robilad@kaffe.org>
52 lines
1.8 KiB
Makefile
52 lines
1.8 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
##
|
|
## Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004 Free Software Foundation
|
|
##
|
|
## 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
|
|
## the Free Software Foundation; either version 2 of the License, or
|
|
## (at your option) any later version.
|
|
##
|
|
## This program 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 General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU General Public License
|
|
## along with this program; see the file COPYING. If not, write to
|
|
## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
## Boston, MA 02111-1307, USA.
|
|
|
|
AUTOMAKE_OPTIONS = foreign
|
|
ACLOCAL_AMFLAGS = -I ../m4
|
|
AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
|
|
DEFS = -DHAVE_CONFIG_H="<$(CONFIG_H)>"
|
|
|
|
pkgincludedir = $(includedir)/libltdl
|
|
|
|
if INSTALL_LTDL
|
|
include_HEADERS = ltdl.h
|
|
pkginclude_HEADERS = lt_system.h
|
|
lib_LTLIBRARIES = libltdl.la
|
|
endif
|
|
|
|
if CONVENIENCE_LTDL
|
|
noinst_LTLIBRARIES = libltdlc.la
|
|
endif
|
|
|
|
## Make sure these will be cleaned even when they're not built by
|
|
## default.
|
|
CLEANFILES = libltdl.la libltdlc.la
|
|
|
|
libltdl_la_SOURCES = lt__alloc.c lt__alloc.h lt_system.h ltdl.c ltdl.h
|
|
libltdl_la_LDFLAGS = -no-undefined -version-info 5:0:2
|
|
libltdl_la_LIBADD = $(LIBADD_DL)
|
|
|
|
libltdlc_la_SOURCES = $(libltdl_la_SOURCES)
|
|
libltdlc_la_LIBADD = $(LIBADD_DL)
|
|
|
|
## These are installed as a subdirectory of pkgdatadir so that
|
|
## libtoolize --ltdl can find them later:
|
|
ltdldatadir = $(pkgdatadir)/libltdl
|
|
ltdldata_DATA = COPYING.LIB Makefile.am README $(libltdl_la_SOURCES)
|