mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-27 06:09:57 +08:00
* libltdl/Makefile.inc: New file, factored out of Makefile.am for
use in non-recursive libltdl installations. * bootstrap: Adjust. * Makefile.am: include it. (libltdl/Makefile.am): Adjust to build from the new libltdl/Makefile.inc. (SUBDIR_LIBOBJS): Renamed from this... (LTDL_SUBDIR_LIBOBJS): ...to this. * configure.ac: Adjust. * doc/libtool.texi (Invoking libtoolize): Document the new modes and libtoolize option to select them. * libtoolize.m4sh: Parse new options, --nonrecursive, --recursive and --subproject. Install the appropriate files with --ltdl according to the selected mode. (func_scan_files): If --subproject, --recursive or --nonrecursive options were not given, use the value from LT_CONFIG_LTDL_DIR; if a mode was given, and there is also an argument to LT_CONFIG_LTDL_DIR, ensure they are the same. * NEWS: Updated.
This commit is contained in:
parent
58f074beb4
commit
e1454ec7b4
22
ChangeLog
22
ChangeLog
@ -1,3 +1,25 @@
|
||||
2005-10-26 Gary V. Vaughan <gary@gnu.org>
|
||||
|
||||
* libltdl/Makefile.inc: New file, factored out of Makefile.am for
|
||||
use in non-recursive libltdl installations.
|
||||
* bootstrap: Adjust.
|
||||
* Makefile.am: include it.
|
||||
(libltdl/Makefile.am): Adjust to build from the new
|
||||
libltdl/Makefile.inc.
|
||||
(SUBDIR_LIBOBJS): Renamed from this...
|
||||
(LTDL_SUBDIR_LIBOBJS): ...to this.
|
||||
* configure.ac: Adjust.
|
||||
* doc/libtool.texi (Invoking libtoolize): Document the new modes
|
||||
and libtoolize option to select them.
|
||||
* libtoolize.m4sh: Parse new options, --nonrecursive, --recursive
|
||||
and --subproject. Install the appropriate files with --ltdl
|
||||
according to the selected mode.
|
||||
(func_scan_files): If --subproject, --recursive or --nonrecursive
|
||||
options were not given, use the value from LT_CONFIG_LTDL_DIR; if
|
||||
a mode was given, and there is also an argument to
|
||||
LT_CONFIG_LTDL_DIR, ensure they are the same.
|
||||
* NEWS: Updated.
|
||||
|
||||
2005-10-26 Gary V. Vaughan <gary@gnu.org>
|
||||
|
||||
* libtoolize.m4sh: Don't use func_serial_update as a copy
|
||||
|
144
Makefile.am
144
Makefile.am
@ -24,7 +24,11 @@
|
||||
|
||||
ACLOCAL_AMFLAGS = -I libltdl/m4
|
||||
|
||||
AM_CPPFLAGS =
|
||||
AM_LDFLAGS =
|
||||
|
||||
DIST_SUBDIRS = .
|
||||
EXTRA_DIST =
|
||||
|
||||
BUILT_SOURCES = libtool
|
||||
|
||||
@ -32,15 +36,9 @@ CLEANFILES =
|
||||
MOSTLYCLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
|
||||
EXTRA_DIST = libltdl/COPYING.LIB \
|
||||
libltdl/Makefile.am \
|
||||
libltdl/Makefile.in \
|
||||
libltdl/README \
|
||||
libltdl/config-h.in \
|
||||
libltdl/configure \
|
||||
libltdl/configure.ac \
|
||||
libltdl/aclocal.m4 \
|
||||
libltdl/m4/lt~obsolete.m4
|
||||
noinst_LTLIBRARIES =
|
||||
lib_LTLIBRARIES =
|
||||
EXTRA_LTLIBRARIES =
|
||||
|
||||
auxdir = libltdl/config
|
||||
m4dir = libltdl/m4
|
||||
@ -196,19 +194,24 @@ $(srcdir)/$(auxdir)/ltmain.sh: $(sh_files) $(auxdir)/ltmain.m4sh configure.ac \
|
||||
chmod a-w $(auxdir)/ltmain.tmp; \
|
||||
mv -f $(auxdir)/ltmain.tmp $(auxdir)/ltmain.sh
|
||||
|
||||
$(srcdir)/libltdl/Makefile.am: Makefile.am
|
||||
$(srcdir)/libltdl/Makefile.am: $(srcdir)/libltdl/Makefile.inc
|
||||
cd $(srcdir); \
|
||||
in=Makefile.am; out=libltdl/Makefile.am; \
|
||||
in=libltdl/Makefile.inc; out=libltdl/Makefile.am; \
|
||||
rm -f $$out; \
|
||||
$(SED) -n '/^.. Makefile.am -- /,/^.. Boston, MA/p' $$in > $$out; \
|
||||
{ echo 'ACLOCAL_AMFLAGS = -I m4'; \
|
||||
echo 'AUTOMAKE_OPTIONS = foreign'; \
|
||||
echo 'AM_CPPFLAGS ='; \
|
||||
echo 'AM_LDFLAGS ='; \
|
||||
echo 'BUILT_SOURCES ='; \
|
||||
echo 'noinst_LTLIBRARIES ='; \
|
||||
echo 'lib_LTLIBRARIES ='; \
|
||||
echo 'EXTRA_LTLIBRARIES ='; \
|
||||
echo 'EXTRA_DIST ='; \
|
||||
echo 'CLEANFILES ='; \
|
||||
echo 'MOSTLYCLEANFILES ='; \
|
||||
} >> $$out; \
|
||||
$(SED) -n '/^. %%% BEGIN /,/^. %%% END / \
|
||||
$(SED) -n '/^.. DO NOT REMOVE THIS LINE -- /,$$ \
|
||||
{ s,libltdl_,,; s,libltdl/,,; s,: libltdl/,: ,; \
|
||||
s,\$$(libltdl_,$$(,; p; }' $$in >> $$out;
|
||||
chmod a-w $(srcdir)/libltdl/Makefile.am
|
||||
@ -224,121 +227,9 @@ all-local: $(srcdir)/libltdl/Makefile.in
|
||||
## Libltdl. ##
|
||||
## -------- ##
|
||||
|
||||
# %%% BEGIN libltdl/Makefile.am
|
||||
include libltdl/Makefile.inc
|
||||
|
||||
DEFS = -DLTDL -DHAVE_CONFIG_H -DLT_CONFIG_H='<$(LT_CONFIG_H)>'
|
||||
|
||||
# -I$(srcdir) is needed for user that built libltdl with a sub-Automake
|
||||
# (not as a sub-package!) using 'nostdinc':
|
||||
AM_CPPFLAGS = -I. -I$(srcdir) -Ilibltdl -I$(srcdir)/libltdl \
|
||||
-I$(srcdir)/libltdl/libltdl
|
||||
AM_LDFLAGS = -no-undefined
|
||||
VERSION_INFO = -version-info 7:0:0
|
||||
|
||||
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
|
||||
|
||||
libltdl_libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS)
|
||||
libltdl_libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(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)
|
||||
|
||||
|
||||
## --------------------------- ##
|
||||
## Gnulib Makefile.am snippets ##
|
||||
## --------------------------- ##
|
||||
|
||||
BUILT_SOURCES += libltdl/$(ARGZ_H)
|
||||
EXTRA_DIST += libltdl/argz_.h
|
||||
|
||||
# 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/$(ARGZ_H)
|
||||
libltdl/argz.h: libltdl/argz_.h
|
||||
cp $(srcdir)/libltdl/argz_.h $@-t
|
||||
mv $@-t $@
|
||||
MOSTLYCLEANFILES += libltdl/argz.h \
|
||||
libltdl/argz.h-t
|
||||
|
||||
# %%% END libltdl/Makefile.am
|
||||
|
||||
if ! SUBDIR_LIBOBJS
|
||||
if ! LTDL_SUBDIR_LIBOBJS
|
||||
## workaround for Autoconf 2.59, Automake 1.9.6:
|
||||
## we include these files twice, because of missing LIBOBJDIR support.
|
||||
EXTRA_DIST += \
|
||||
@ -383,6 +274,7 @@ aclocalfiles = m4/argz.m4 m4/libtool.m4 m4/ltdl.m4 m4/ltoptions.m4 \
|
||||
## libtoolize --ltdl can find them later:
|
||||
ltdldatafiles = libltdl/COPYING.LIB \
|
||||
libltdl/README \
|
||||
libltdl/Makefile.inc \
|
||||
libltdl/Makefile.am \
|
||||
libltdl/configure.ac \
|
||||
libltdl/aclocal.m4 \
|
||||
|
4
NEWS
4
NEWS
@ -4,6 +4,10 @@ New in 1.9h: 2005-??-??; CVS version 2.1a, Libtool team:
|
||||
* New tests for support of Automake subdir-objects.
|
||||
* Fix libltdl on static platforms.
|
||||
* New LT_CONFIG_LTDL_DIR macro.
|
||||
* New libtoolize options: --non-recursive, --recursive, --subproject. These
|
||||
options control the way libltdl is installed by libtoolize.
|
||||
* New recursive and non-recursive build modes for libltdl that don't require
|
||||
a subconfigure.
|
||||
* New multi-module-loader safe libltdl handle iteration APIs:
|
||||
lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map.
|
||||
* New lt_dlinterface_register to maintain separation of concerns between
|
||||
|
@ -89,8 +89,9 @@ set dummy `$SED -n '/AC_INIT/{s/[][,()]/ /g; p;}' configure.ac`
|
||||
shift
|
||||
|
||||
# Whip up a dirty Makefile:
|
||||
test -f Makefile \
|
||||
|| $SED '/^if /,/^endif$/d;/^else$/,/^endif$/d' Makefile.am > Makefile
|
||||
makes='Makefile.am libltdl/Makefile.inc'
|
||||
test -f Makefile ||
|
||||
$SED '/^if /,/^endif$/d;/^else$/,/^endif$/d;/^include /d' $makes > Makefile
|
||||
|
||||
# Building distributed files from configure is bad for automake, so we
|
||||
# generate them here, and have Makefile rules to keep them up to date.
|
||||
|
@ -126,7 +126,7 @@ AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/stamp-vcl'])
|
||||
dnl automake-1.9.x or autoconf-2.59 don't support subdir libobjs
|
||||
AC_MSG_CHECKING([whether subdir libobjs are useable])
|
||||
test -f $srcdir/argz.c || sublibobjs_supported=yes
|
||||
AM_CONDITIONAL([SUBDIR_LIBOBJS], test x"${sublibobjs_supported-no}" != xno)
|
||||
AM_CONDITIONAL([LTDL_SUBDIR_LIBOBJS], test x"${sublibobjs_supported-no}" != xno)
|
||||
AC_MSG_RESULT([${sublibobjs_supported-no}])
|
||||
|
||||
|
||||
|
@ -2249,11 +2249,77 @@ also specify a subdirectory name here if you are not using Autoconf
|
||||
for example. If @command{libtoolize} can't determine the target
|
||||
directory, @samp{libltdl} is used as the default.
|
||||
|
||||
@item --nonrecursive
|
||||
If passed in conjunction with @option{--ltdl}, this option will cause
|
||||
the @command{libltdl} installed by @samp{libtoolize} to be set up for
|
||||
use with a non-recursive @command{automake} build. To make use of it,
|
||||
you will need to add the following to the @file{Makefile.am} of the
|
||||
parent project:
|
||||
|
||||
@example
|
||||
## libltdl/Makefile.inc @r{appends to the following variables}
|
||||
## @r{so we set them here before including it:}
|
||||
BUILT_SOURCES =
|
||||
|
||||
AM_CPPFLAGS =
|
||||
AM_LDFLAGS =
|
||||
|
||||
noinst_LTLIBRARIES =
|
||||
lib_LTLIBRARIES =
|
||||
EXTRA_LTLIBRARIES =
|
||||
|
||||
EXTRA_DIST =
|
||||
|
||||
CLEANFILES =
|
||||
MOSTLYCLEANFILES =
|
||||
|
||||
include libltdl/Makefile.inc
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
The @file{Makefile.inc} included here requires that the libltdl
|
||||
sources are in a subdirectory named @file{libltdl}, and you cannot use
|
||||
a different directory name for a @samp{nonrecursive} build.
|
||||
|
||||
@item --quiet
|
||||
@itemx -q
|
||||
Work silently. @samp{libtoolize --quiet} is used by @sc{gnu} Automake
|
||||
to add libtool files to your package if necessary.
|
||||
|
||||
@item --recursive
|
||||
If passed in conjunction with @option{--ltdl}, this option will cause
|
||||
the @command{libtoolize} installed @samp{libltdl} to be set up for use
|
||||
with a recursive @command{automake} build. To make use of it, you
|
||||
will need to adjust the parent project's @file{configure.ac}:
|
||||
|
||||
@example
|
||||
AC_CONFIG_FILES([libltdl/Makefile])
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
and @file{Makefile.am}:
|
||||
|
||||
@example
|
||||
SUBDIRS += libltdl
|
||||
@end example
|
||||
|
||||
@item --subproject
|
||||
If passed in conjunction with @option{--ltdl}, this option will cause
|
||||
the @command{libtoolize} installed @samp{libltd} to be set up for
|
||||
independent configuration and compilation as a self-contained
|
||||
subproject. To make use of it, you should arrange for your build to
|
||||
call @command{libltdl/configure}, and then run @command{make} in the
|
||||
@file{libltdl} directory (or the subdirectory you put libltdl into).
|
||||
If your project uses Autoconf, you can use the supplied
|
||||
@samp{LT_WITH_LTDL} macro, or else call @samp{AC_CONFIG_SUBDIRS}
|
||||
directly.
|
||||
|
||||
Previous releases of @samp{libltdl} built exclusively in this mode,
|
||||
but now it is the default mode both for backwards compatibility and
|
||||
because, for example, it is suitable for use in projects that wish to
|
||||
use @samp{libltdl}, but not use the Autotools for their own build
|
||||
process.
|
||||
|
||||
@item --verbose
|
||||
@itemx -v
|
||||
Work noisily! Give a blow by blow account of what
|
||||
|
144
libltdl/Makefile.inc
Normal file
144
libltdl/Makefile.inc
Normal file
@ -0,0 +1,144 @@
|
||||
## Makefile.am -- Process this file with automake to produce Makefile.in
|
||||
##
|
||||
## Copyright (C) 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
|
||||
## 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 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., 51 Franklin Street, Fifth Floor,
|
||||
## Boston, MA 02110-1301, USA.
|
||||
|
||||
## 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 += -DHAVE_CONFIG_H -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \
|
||||
-DLTDL -I. -I$(srcdir) -Ilibltdl \
|
||||
-I$(srcdir)/libltdl -I$(srcdir)/libltdl/libltdl
|
||||
AM_LDFLAGS += -no-undefined
|
||||
LTDL_VERSION_INFO = -version-info 7:0:0
|
||||
|
||||
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
|
||||
|
||||
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/Makefile.am \
|
||||
libltdl/Makefile.in \
|
||||
libltdl/Makefile.inc \
|
||||
libltdl/README \
|
||||
libltdl/config-h.in \
|
||||
libltdl/configure \
|
||||
libltdl/configure.ac \
|
||||
libltdl/aclocal.m4 \
|
||||
libltdl/m4/lt~obsolete.m4
|
||||
|
||||
## --------------------------- ##
|
||||
## Gnulib Makefile.am snippets ##
|
||||
## --------------------------- ##
|
||||
|
||||
BUILT_SOURCES += libltdl/$(ARGZ_H)
|
||||
EXTRA_DIST += libltdl/argz_.h
|
||||
|
||||
# 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/$(ARGZ_H)
|
||||
libltdl/argz.h: libltdl/argz_.h
|
||||
cp $(srcdir)/libltdl/argz_.h $@-t
|
||||
mv $@-t $@
|
||||
MOSTLYCLEANFILES += libltdl/argz.h \
|
||||
libltdl/argz.h-t
|
@ -40,7 +40,10 @@ m4_divert_push([SCRIPT])#! /bin/sh
|
||||
# -f, --force replace existing files
|
||||
# -i, --install copy missing auxiliary files
|
||||
# --ltdl[=DIR] install libltdl sources [default: libltdl]
|
||||
# --nonrecursive prepare ltdl for non-recursive make
|
||||
# -q, --quiet work silently
|
||||
# --recursive prepare ltdl for recursive make
|
||||
# --subproject prepare ltdl to configure and build independently
|
||||
# -v, --verbose verbosely report processing
|
||||
# --version print version information and exit
|
||||
# -h, --help print short or long help message
|
||||
@ -78,6 +81,11 @@ seen_autoconf=false
|
||||
seen_libtool=false
|
||||
seen_ltdl=false
|
||||
|
||||
# ltdl can be installed to be self-contained (subproject, the default);
|
||||
# or to be configured by a parent project, either with a recursive or
|
||||
# nonrecursive automake driven make:
|
||||
ltdl_mode=
|
||||
|
||||
# Locations for important files:
|
||||
prefix=@prefix@
|
||||
datadir=@datadir@
|
||||
@ -135,10 +143,18 @@ configure_ac=configure.in
|
||||
fi
|
||||
;;
|
||||
|
||||
--nonrecursive|--non-recursive)
|
||||
ltdl_mode=nonrecursive
|
||||
;;
|
||||
|
||||
--quiet|--automake|-q) # --automake is for 1.5 compatibility
|
||||
opt_quiet=:
|
||||
;;
|
||||
|
||||
--recursive) ltdl_mode=recursive ;;
|
||||
|
||||
--subproject) ltdl_mode=subproject ;;
|
||||
|
||||
--verbose|-v) opt_verbose=: ;;
|
||||
|
||||
# Separate optargs to long options:
|
||||
@ -386,7 +402,9 @@ func_scan_files ()
|
||||
};
|
||||
/_LT_CONFIG_LTDL_DIR(/d;
|
||||
/LT_CONFIG_LTDL_DIR(/ {
|
||||
s,^.*LT_CONFIG_LTDL_DIR([[[ ]*\([^])]]*\).*$,ac_ltdldir=\1,; p;
|
||||
s/^.*LT_CONFIG_LTDL_DIR([[[ ]*\([^]),]*\)[^,]]*/ac_ltdldir=\1%%/;
|
||||
s/%%[[[, ]*\([^])]]*\).*$/ ac_ltdl_mode=\1%%/;
|
||||
s/%%.*$//; p;
|
||||
};
|
||||
/A[[CM]]_PROG_LIBTOOL/ { s,^.*$,seen_libtool=:,; p; };
|
||||
/LT_INIT/ { s,^.*$,seen_libtool=:,; p; };
|
||||
@ -404,9 +422,9 @@ func_scan_files ()
|
||||
|
||||
ac_ltdldir=`$ECHO "X$ac_ltdldir" | $Xsed -e 's,/*$,,'`
|
||||
|
||||
# If $configure_ac contains AC_CONFIG_AUX_DIR, check that it was
|
||||
# not given in terms of a shell variable!
|
||||
case "$ac_ltdldir" in
|
||||
# If $configure_ac contains AC_CONFIG_LTDL_DIR, check that its
|
||||
# arguments were not given in terms of a shell variable!
|
||||
case "$ac_ltdldir$ac_ltdl_mode" in
|
||||
*\$*)
|
||||
func_fatal_error "can not handle variables in LT_CONFIG_LTDL_DIR"
|
||||
;;
|
||||
@ -427,6 +445,26 @@ func_scan_files ()
|
||||
esac
|
||||
|
||||
|
||||
# ------------------- #
|
||||
# Validate ltdl_mode. #
|
||||
# ------------------- #
|
||||
|
||||
test -n "$ac_ltdl_mode" && seen_ltdl=:
|
||||
|
||||
# If neither --ltdl nor LT_CONFIG_LTDL_DIR are specified, default to
|
||||
# `subproject'. If both are specified, they must be the same. Otherwise,
|
||||
# take the one that is given!
|
||||
case x$ac_ltdl_mode,x$ltdl_mode in
|
||||
x,x) ltdl_mode=subproject ;;
|
||||
x*,x) ltdl_mode=$ac_ltdl_mode ;;
|
||||
x,x*) ltdl_mode=$ltdl_mode ;;
|
||||
*)
|
||||
test x"$ac_ltdl_mode" = x"$ltdl_mode" || \
|
||||
func_fatal_error "--$ltdl_mode does not match LT_CONFIG_LTDL_DIR($ac_ltdldir, $ac_ltdl_mode)"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# ---------------- #
|
||||
# Validate auxdir. #
|
||||
# ---------------- #
|
||||
@ -987,7 +1025,19 @@ func_nonemptydir_p ()
|
||||
func_nonemptydir_p pkgdatadir
|
||||
func_nonemptydir_p aclocaldir
|
||||
|
||||
func_massage_pkgltdl_files
|
||||
func_scan_files
|
||||
|
||||
# These files are handled specially, depending on ltdl_mode:
|
||||
case $ltdl_mode in
|
||||
*recursive)
|
||||
glob_exclude_pkgltdl_files='Makefile.am|Makefile.in*|aclocal.m4|config*'
|
||||
;;
|
||||
*)
|
||||
glob_exclude_pkgltdl_files='Makefile.inc'
|
||||
;;
|
||||
esac
|
||||
|
||||
func_massage_pkgltdl_files "$glob_exclude_pkgltdl_files"
|
||||
func_massage_pkgconfig_files
|
||||
|
||||
# libtool.m4 and ltdl.m4 are handled specially below
|
||||
@ -995,11 +1045,16 @@ func_nonemptydir_p ()
|
||||
|
||||
glob_exclude_pkgaux_files='config.guess|config.sub|install-sh|ltmain.sh'
|
||||
|
||||
func_scan_files
|
||||
|
||||
# Copy all the files from installed libltdl to this project, if the
|
||||
# user specified `--ltdl'.
|
||||
if $opt_ltdl; then
|
||||
|
||||
# For recursive ltdl modes, copy a suitable Makefile.{am,inc}:
|
||||
case $ltdl_mode in
|
||||
recursive) pkgltdl_files="Makefile.am:$pkgltdl_files" ;;
|
||||
nonrecursive) pkgltdl_files="Makefile.inc:$pkgltdl_files" ;;
|
||||
esac
|
||||
|
||||
func_copy_some_files "$pkgltdl_files" "$pkgltdldir/libltdl" "$ltdldir"
|
||||
|
||||
# Unless we share CONFIG_MACRO_DIR with our parent project,
|
||||
|
Loading…
Reference in New Issue
Block a user