mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-27 06:09:57 +08:00
d405ede870
The variable, LT_ARGZ_H, can be empty, which causes distclean and maintainer-clean to error as a directory is attempted to be removed instead of a file. When running maintainer-clean for gnulib-tests, the .version file is missing, which is needed by config.status, so the command will error. * configure.ac: Update CONFIG_STATUS_DEPENDENCIES to use dotversion so that the .version file can be generated if needed. * libltdl/ltdl.mk: Add conditional with LTARGZH_EXISTS to append path for LT_ARGZ_H file to BUILT_SOURCES. * m4/ltdl.m4: Add AM_CONDITIONAL for LTARGZH_EXISTS that is set to true if LT_ARGZ_H is non-empty. * NO-THANKS: Add 'Michael Pratt' for bug#73672 contribution. * NEWS: List additional bug fix.
149 lines
5.4 KiB
Makefile
149 lines
5.4 KiB
Makefile
## ltdl.mk -- includable Makefile snippet
|
|
##
|
|
## Copyright (C) 2003-2005, 2007, 2011-2019, 2021-2024 Free Software
|
|
## Foundation, Inc.
|
|
## Written by Gary V. Vaughan, 2003
|
|
##
|
|
## NOTE: The canonical source of this file is maintained with the
|
|
## GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
|
##
|
|
## GNU Libltdl 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 this file under the
|
|
## same distribution terms that you use for the rest of that program.
|
|
##
|
|
## GNU Libltdl 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 LesserGeneral Public
|
|
## License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>.
|
|
#####
|
|
|
|
## DO NOT REMOVE THIS LINE -- make depends on it
|
|
|
|
# -I$(srcdir) is needed for user that built libltdl with a sub-Automake
|
|
# (not as a sub-package!) using 'nostdinc':
|
|
AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \
|
|
-DLTDL -I. -I$(srcdir) -Ilibltdl \
|
|
-I$(srcdir)/libltdl -Ilibltdl/libltdl \
|
|
-I$(srcdir)/libltdl/libltdl
|
|
AM_LDFLAGS += -no-undefined
|
|
LTDL_VERSION_INFO = -version-info 10:2:3
|
|
|
|
noinst_LTLIBRARIES += $(LT_DLLOADERS)
|
|
|
|
if INSTALL_LTDL
|
|
ltdlincludedir = $(includedir)/libltdl
|
|
ltdlinclude_HEADERS = libltdl/libltdl/lt_system.h \
|
|
libltdl/libltdl/lt_error.h \
|
|
libltdl/libltdl/lt_dlloader.h
|
|
include_HEADERS += libltdl/ltdl.h
|
|
lib_LTLIBRARIES += libltdl/libltdl.la
|
|
endif
|
|
|
|
if CONVENIENCE_LTDL
|
|
noinst_LTLIBRARIES += libltdl/libltdlc.la
|
|
endif
|
|
|
|
libltdl_libltdl_la_SOURCES = libltdl/libltdl/lt__alloc.h \
|
|
libltdl/libltdl/lt__dirent.h \
|
|
libltdl/libltdl/lt__glibc.h \
|
|
libltdl/libltdl/lt__private.h \
|
|
libltdl/libltdl/lt__strl.h \
|
|
libltdl/libltdl/lt_dlloader.h \
|
|
libltdl/libltdl/lt_error.h \
|
|
libltdl/libltdl/lt_system.h \
|
|
libltdl/libltdl/slist.h \
|
|
libltdl/loaders/preopen.c \
|
|
libltdl/lt__alloc.c \
|
|
libltdl/lt_dlloader.c \
|
|
libltdl/lt_error.c \
|
|
libltdl/ltdl.c \
|
|
libltdl/ltdl.h \
|
|
libltdl/slist.c
|
|
|
|
EXTRA_DIST += libltdl/lt__dirent.c \
|
|
libltdl/lt__strl.c
|
|
|
|
libltdl_libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS)
|
|
libltdl_libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN)
|
|
libltdl_libltdl_la_LIBADD = $(LTLIBOBJS)
|
|
libltdl_libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS)
|
|
|
|
libltdl_libltdlc_la_SOURCES = $(libltdl_libltdl_la_SOURCES)
|
|
libltdl_libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS)
|
|
libltdl_libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN)
|
|
libltdl_libltdlc_la_LIBADD = $(libltdl_libltdl_la_LIBADD)
|
|
libltdl_libltdlc_la_DEPENDENCIES= $(libltdl_libltdl_la_DEPENDENCIES)
|
|
|
|
## The loaders are preopened by libltdl, itself always built from
|
|
## pic-objects (either as a shared library, or a convenience library),
|
|
## so the loaders themselves must be made from pic-objects too. We
|
|
## use convenience libraries for that purpose:
|
|
EXTRA_LTLIBRARIES += libltdl/dlopen.la \
|
|
libltdl/dld_link.la \
|
|
libltdl/dyld.la \
|
|
libltdl/load_add_on.la \
|
|
libltdl/loadlibrary.la \
|
|
libltdl/shl_load.la
|
|
|
|
libltdl_dlopen_la_SOURCES = libltdl/loaders/dlopen.c
|
|
libltdl_dlopen_la_LDFLAGS = -module -avoid-version
|
|
libltdl_dlopen_la_LIBADD = $(LIBADD_DLOPEN)
|
|
|
|
libltdl_dld_link_la_SOURCES = libltdl/loaders/dld_link.c
|
|
libltdl_dld_link_la_LDFLAGS = -module -avoid-version
|
|
libltdl_dld_link_la_LIBADD = -ldld
|
|
|
|
libltdl_dyld_la_SOURCES = libltdl/loaders/dyld.c
|
|
libltdl_dyld_la_LDFLAGS = -module -avoid-version
|
|
|
|
libltdl_load_add_on_la_SOURCES = libltdl/loaders/load_add_on.c
|
|
libltdl_load_add_on_la_LDFLAGS = -module -avoid-version
|
|
|
|
libltdl_loadlibrary_la_SOURCES = libltdl/loaders/loadlibrary.c
|
|
libltdl_loadlibrary_la_LDFLAGS = -module -avoid-version
|
|
|
|
libltdl_shl_load_la_SOURCES = libltdl/loaders/shl_load.c
|
|
libltdl_shl_load_la_LDFLAGS = -module -avoid-version
|
|
libltdl_shl_load_la_LIBADD = $(LIBADD_SHL_LOAD)
|
|
|
|
## Make sure these will be cleaned even when they're not built by default:
|
|
CLEANFILES += libltdl/libltdl.la \
|
|
libltdl/libltdlc.la \
|
|
libltdl/libdlloader.la
|
|
|
|
## Automake-1.9.6 doesn't clean subdir AC_LIBOBJ compiled objects
|
|
## automatically:
|
|
CLEANFILES += $(LIBOBJS) $(LTLIBOBJS)
|
|
|
|
EXTRA_DIST += libltdl/COPYING.LIB \
|
|
libltdl/README
|
|
|
|
## --------------------------- ##
|
|
## Gnulib Makefile.am snippets ##
|
|
## --------------------------- ##
|
|
|
|
if LTARGZH_EXISTS
|
|
BUILT_SOURCES += libltdl/libltdl/$(LT_ARGZ_H)
|
|
endif
|
|
EXTRA_DIST += libltdl/libltdl/lt__argz_.h \
|
|
libltdl/lt__argz.c
|
|
|
|
# We need the following in order to create an <argz.h> when the system
|
|
# doesn't have one that works with the given compiler.
|
|
all-local $(lib_OBJECTS): libltdl/libltdl/$(LT_ARGZ_H)
|
|
libltdl/libltdl/lt__argz.h: libltdl/libltdl/lt__argz_.h
|
|
$(AM_V_at)$(mkinstalldirs) . libltdl/libltdl
|
|
$(AM_V_GEN)cp $(srcdir)/libltdl/libltdl/lt__argz_.h $@-t
|
|
$(AM_V_at)mv $@-t $@
|
|
MOSTLYCLEANFILES += libltdl/libltdl/lt__argz.h \
|
|
libltdl/libltdl/lt__argz.h-t
|