mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-12-15 06:49:57 +08:00
* configure.ac (APIVERSION): New substituted variable.
(pkgvdatadir): Ditto. Versioned data directory. (pkgvmacrodir): Ditto. Versioned aclocal directory. (LN): New check for LN command. * Makefile.am (aclocal_DATA): Replaced with... (pkgvmacro_DATA): ...this. (install-data-local): Remove old shared resources. (install-exec-hook): Make versioned links to executables. (uninstall-hook): Remove versioned files. * libltdl/Makefile.am (ltdldatadir): Redefine in terms of pkgvdatadir. * libltdl/loaders/Makefile.am (ltdldatadir): Ditto. * libtoolize.m4sh: Copy macro files from versioned macro directory instead of shared aclocal directory. * doc/libtool.texi: Document it. * NEWS: Updated.
This commit is contained in:
parent
25946db755
commit
ef758b513c
19
ChangeLog
19
ChangeLog
@ -1,3 +1,22 @@
|
|||||||
|
2004-11-14 Gary V. Vaughan <gary@gnu.org>
|
||||||
|
|
||||||
|
* configure.ac (APIVERSION): New substituted variable.
|
||||||
|
(pkgvdatadir): Ditto. Versioned data directory.
|
||||||
|
(pkgvmacrodir): Ditto. Versioned aclocal directory.
|
||||||
|
(LN): New check for LN command.
|
||||||
|
* Makefile.am (aclocal_DATA): Replaced with...
|
||||||
|
(pkgvmacro_DATA): ...this.
|
||||||
|
(install-data-local): Remove old shared resources.
|
||||||
|
(install-exec-hook): Make versioned links to executables.
|
||||||
|
(uninstall-hook): Remove versioned files.
|
||||||
|
* libltdl/Makefile.am (ltdldatadir): Redefine in terms of
|
||||||
|
pkgvdatadir.
|
||||||
|
* libltdl/loaders/Makefile.am (ltdldatadir): Ditto.
|
||||||
|
* libtoolize.m4sh: Copy macro files from versioned macro directory
|
||||||
|
instead of shared aclocal directory.
|
||||||
|
* doc/libtool.texi: Document it.
|
||||||
|
* NEWS: Updated.
|
||||||
|
|
||||||
2004-11-10 Gary V. Vaughan <gary@gnu.org>
|
2004-11-10 Gary V. Vaughan <gary@gnu.org>
|
||||||
|
|
||||||
From James Henstridge <james@jamesh.id.au>:
|
From James Henstridge <james@jamesh.id.au>:
|
||||||
|
44
Makefile.am
44
Makefile.am
@ -38,11 +38,12 @@ edit = sed \
|
|||||||
-e 's,@PACKAGE_VERSION\@,$(VERSION),g' \
|
-e 's,@PACKAGE_VERSION\@,$(VERSION),g' \
|
||||||
-e 's,@SED\@,$(SED),g' \
|
-e 's,@SED\@,$(SED),g' \
|
||||||
-e 's,@VERSION\@,$(VERSION),g' \
|
-e 's,@VERSION\@,$(VERSION),g' \
|
||||||
-e 's,@prefix\@,$(prefix),g' \
|
|
||||||
-e 's,@datadir\@,$(datadir),g' \
|
|
||||||
-e 's,@pkgdatadir\@,$(pkgdatadir),g' \
|
|
||||||
-e 's,@aclocaldir\@,$(aclocaldir),g' \
|
-e 's,@aclocaldir\@,$(aclocaldir),g' \
|
||||||
|
-e 's,@datadir\@,$(datadir),g' \
|
||||||
-e 's,@host_triplet\@,$(host_triplet),g' \
|
-e 's,@host_triplet\@,$(host_triplet),g' \
|
||||||
|
-e 's,@pkgvdatadir\@,$(pkgvdatadir),g' \
|
||||||
|
-e 's,@pkgvmacrodir\@,$(pkgvmacrodir),g' \
|
||||||
|
-e 's,@prefix\@,$(prefix),g' \
|
||||||
-e "s,@configure_input\@,Generated from $$input; do not edit by hand,g"
|
-e "s,@configure_input\@,Generated from $$input; do not edit by hand,g"
|
||||||
|
|
||||||
timestamp = set -- `$(MKSTAMP) < $(top_srcdir)/ChangeLog`; \
|
timestamp = set -- `$(MKSTAMP) < $(top_srcdir)/ChangeLog`; \
|
||||||
@ -66,13 +67,13 @@ CLEANFILES = libtool libtoolize \
|
|||||||
# These are required by libtoolize and must be executable when installed.
|
# These are required by libtoolize and must be executable when installed.
|
||||||
# Since _SCRIPTS gets the program transform applied we make them
|
# Since _SCRIPTS gets the program transform applied we make them
|
||||||
# executable by hand
|
# executable by hand
|
||||||
dist_pkgdata_DATA = config/config.guess config/config.sub config/ltmain.sh
|
dist_pkgvdata_DATA = config/config.guess config/config.sub config/ltmain.sh
|
||||||
|
|
||||||
# Everything that gets picked up by aclocal is automatically distributed,
|
# Everything that gets picked up by aclocal is automatically distributed,
|
||||||
# this is the list of macro files we install on the user's system.
|
# this is the list of macro files we install on the user's system.
|
||||||
# NOTE: Ensure that PKGMACRO_FILES in libtoolize.in is updated if you
|
# NOTE: Ensure that PKGVMACRO_FILES in libtoolize.in is updated if you
|
||||||
# change the contents of aclocal_DATA:
|
# change the contents of aclocal_DATA:
|
||||||
aclocal_DATA = m4/argz.m4 m4/libtool.m4 m4/ltdl.m4 \
|
pkgvmacro_DATA = m4/argz.m4 m4/libtool.m4 m4/ltdl.m4 \
|
||||||
m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
|
m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
|
||||||
|
|
||||||
## We know that $(top_srcdir)/ChangeLog has been edited if stamp-vcl
|
## We know that $(top_srcdir)/ChangeLog has been edited if stamp-vcl
|
||||||
@ -251,12 +252,37 @@ clean-local: legacy-clean-local
|
|||||||
|
|
||||||
|
|
||||||
install-data-local:
|
install-data-local:
|
||||||
## Don't install over the top of an old pkgdatadir
|
## Don't install over the top of an old pkgvdatadir
|
||||||
|
-rm -rf $(DESTDIR)$(pkgvdatadir)
|
||||||
|
## Remove old pkgdatadir
|
||||||
-rm -rf $(DESTDIR)$(pkgdatadir)
|
-rm -rf $(DESTDIR)$(pkgdatadir)
|
||||||
|
## Remove old macro definitions
|
||||||
|
-rm -rf $(DESTDIR)$(aclocaldir)/ltdl.m4
|
||||||
|
-rm -rf $(DESTDIR)$(aclocaldir)/libtool.m4
|
||||||
|
|
||||||
install-data-hook:
|
install-data-hook:
|
||||||
chmod +x $(DESTDIR)$(pkgdatadir)/config.guess
|
chmod +x $(DESTDIR)$(pkgvdatadir)/config.guess
|
||||||
chmod +x $(DESTDIR)$(pkgdatadir)/config.sub
|
chmod +x $(DESTDIR)$(pkgvdatadir)/config.sub
|
||||||
|
|
||||||
|
## Make versioned links. We only run the transform on the root name;
|
||||||
|
## then we make a versioned link with the transformed base name. This
|
||||||
|
## seemed like the most reasonable approach.
|
||||||
|
install-exec-hook:
|
||||||
|
@$(POST_INSTALL)
|
||||||
|
@for p in $(bin_SCRIPTS); do \
|
||||||
|
f="`echo $$p|sed '$(transform)'`"; \
|
||||||
|
fv="$$f-$(APIVERSION)"; \
|
||||||
|
rm -f $(DESTDIR)$(bindir)/$$fv; \
|
||||||
|
echo " $(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv"; \
|
||||||
|
$(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-hook:
|
||||||
|
@for p in $(bin_SCRIPTS); do \
|
||||||
|
f="`echo $$p|sed '$(transform)'`"; \
|
||||||
|
fv="$$f-$(APIVERSION)"; \
|
||||||
|
rm -f $(DESTDIR)$(bindir)/$$fv; \
|
||||||
|
done
|
||||||
|
|
||||||
## Ship README.alpha only in alpha release, but renamed to README
|
## Ship README.alpha only in alpha release, but renamed to README
|
||||||
dist-hook:
|
dist-hook:
|
||||||
|
11
NEWS
11
NEWS
@ -3,7 +3,16 @@ NEWS - list of user-visible changes between releases of GNU Libtool
|
|||||||
New in 2.1b: 2005-??-??; CVS version 2.1a, Libtool team:
|
New in 2.1b: 2005-??-??; CVS version 2.1a, Libtool team:
|
||||||
* New tests for support of Automake subdir-objects.
|
* New tests for support of Automake subdir-objects.
|
||||||
|
|
||||||
New in 1.9f: 2004-??-??; CVS version 1.9e, Libtool team:
|
New in 1.9h: 2004-??-??; CVS version 1.9g, Libtool team:
|
||||||
|
* Libtool versions can now be parallel installed, except that only one
|
||||||
|
set of libltdl headers and static libs, and only one manual is retained.
|
||||||
|
* In order for this to work, Libtool's aclocal macros are not installed
|
||||||
|
to a shared aclocal dir. Either change your Makefile.am to use:
|
||||||
|
ACLOCAL_AMFLAGS = -I /usr/share/libtool-1.9g/m4
|
||||||
|
Or change your configure.ac to use:
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
|
New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team:
|
||||||
* Fix a regression in 1.9d, where ECHO was always set to 'echo' and the
|
* Fix a regression in 1.9d, where ECHO was always set to 'echo' and the
|
||||||
backslash quoting tests were never run.
|
backslash quoting tests were never run.
|
||||||
* Fix a regression in 1.9d, where progpath was used for --no-reexec before it
|
* Fix a regression in 1.9d, where progpath was used for --no-reexec before it
|
||||||
|
32
configure.ac
32
configure.ac
@ -124,11 +124,19 @@ AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_builddir)/stamp-vcl'])
|
|||||||
## ------------------------------- ##
|
## ------------------------------- ##
|
||||||
## Libtool specific configuration. ##
|
## Libtool specific configuration. ##
|
||||||
## ------------------------------- ##
|
## ------------------------------- ##
|
||||||
pkgdatadir='${datadir}'"/${PACKAGE}"
|
|
||||||
AC_SUBST([pkgdatadir]) # automake does not need this, but libtoolize does
|
|
||||||
|
|
||||||
aclocaldir='${datadir}/aclocal'
|
# The API version is the base version. We must guarantee
|
||||||
AC_SUBST([aclocaldir])
|
# compatibility for all releases with the same API version.
|
||||||
|
# Our current rule is that:
|
||||||
|
# * All releases, including the prereleases, in an X.Y series
|
||||||
|
# are compatible. So 2.0.1c is compatible with 2.0.
|
||||||
|
# * Prereleases on the trunk are all incompatible -- 2.1b and 2.1c
|
||||||
|
# aren't the same.
|
||||||
|
APIVERSION=`echo "$VERSION" | sed -e 's/^\([[0-9]]*\.[[0-9]]*[[a-z]]*\).*$/\1/'`
|
||||||
|
AC_SUBST([APIVERSION])
|
||||||
|
AC_SUBST([aclocaldir], ["\${prefix}/aclocal"])
|
||||||
|
AC_SUBST([pkgvdatadir], ["\${datadir}/$PACKAGE-$APIVERSION"])
|
||||||
|
AC_SUBST([pkgvmacrodir], ["\${datadir}/$PACKAGE-$APIVERSION/m4"])
|
||||||
|
|
||||||
AC_ARG_ENABLE(ltdl-install,
|
AC_ARG_ENABLE(ltdl-install,
|
||||||
[AS_HELP_STRING([--disable-ltdl-install], [do not install libltdl])])
|
[AS_HELP_STRING([--disable-ltdl-install], [do not install libltdl])])
|
||||||
@ -149,6 +157,22 @@ done
|
|||||||
AC_SUBST([DIST_MAKEFILE_LIST])
|
AC_SUBST([DIST_MAKEFILE_LIST])
|
||||||
|
|
||||||
|
|
||||||
|
# Test for ln. We need use it to install the versioned binaries.
|
||||||
|
AC_MSG_CHECKING([whether ln works])
|
||||||
|
AC_CACHE_VAL([am_cv_prog_ln], [
|
||||||
|
rm -f conftest conftest.file
|
||||||
|
: >conftest.file
|
||||||
|
if ln conftest.file conftest 2>/dev/null; then
|
||||||
|
am_cv_prog_ln=ln
|
||||||
|
else
|
||||||
|
am_cv_prog_ln='cp -p'
|
||||||
|
fi
|
||||||
|
rm -f conftest conftest.file])
|
||||||
|
AC_SUBST([LN], [$am_cv_prog_ln])
|
||||||
|
result=no
|
||||||
|
test "x$am_cv_prog_ln" = xln && result=yes
|
||||||
|
AC_MSG_RESULT([$result])
|
||||||
|
|
||||||
|
|
||||||
## ---------------- ##
|
## ---------------- ##
|
||||||
## compiler checks. ##
|
## compiler checks. ##
|
||||||
|
@ -2106,6 +2106,16 @@ project, a copy of the relevant macro definitions will be placed in
|
|||||||
your @code{AC_CONFIG_MACRO_DIR}, where @command{aclocal} can reference
|
your @code{AC_CONFIG_MACRO_DIR}, where @command{aclocal} can reference
|
||||||
them directly from @file{aclocal.m4}.
|
them directly from @file{aclocal.m4}.
|
||||||
|
|
||||||
|
Alternatively, if you want to keep all of your macros in a single
|
||||||
|
@file{aclocal.m4}, or if you are using an older Automake that doesn't
|
||||||
|
support in-tree m4_include, you need to arrange for @command{aclocal}
|
||||||
|
to look in the versioned Libtool directory. One way of doing this is
|
||||||
|
to use @code{ACLOCAL_AMFLAGS} in your @file{Makefile.am}:
|
||||||
|
|
||||||
|
@example
|
||||||
|
ACLOCAL_AMFLAGS += -I $(prefix)/share/libtool-2.0/m4
|
||||||
|
@end example
|
||||||
|
|
||||||
|
|
||||||
@node Distributing
|
@node Distributing
|
||||||
@section Including libtool in your package
|
@section Including libtool in your package
|
||||||
|
@ -67,7 +67,7 @@ libltdlc_la_LIBADD = $(libdlloader_la_LIBADD)
|
|||||||
|
|
||||||
## These are installed as a subdirectory of pkgdatadir so that
|
## These are installed as a subdirectory of pkgdatadir so that
|
||||||
## libtoolize --ltdl can find them later:
|
## libtoolize --ltdl can find them later:
|
||||||
ltdldatadir = $(pkgdatadir)/libltdl
|
ltdldatadir = $(pkgvdatadir)/libltdl
|
||||||
nobase_ltdldata_DATA = COPYING.LIB Makefile.am README configure.ac \
|
nobase_ltdldata_DATA = COPYING.LIB Makefile.am README configure.ac \
|
||||||
$(libltdl_la_SOURCES) $(libdlloader_la_SOURCES) \
|
$(libltdl_la_SOURCES) $(libdlloader_la_SOURCES) \
|
||||||
lt__dirent.c lt__dirent.h argz_.h argz.c
|
lt__dirent.c lt__dirent.h argz_.h argz.c
|
||||||
|
@ -50,7 +50,7 @@ dld_link_la_LIBADD = ../libdlloader.la -ldld
|
|||||||
|
|
||||||
## These are installed as a subdirectory of pkgdatadir so that
|
## These are installed as a subdirectory of pkgdatadir so that
|
||||||
## libtoolize --ltdl can find them later:
|
## libtoolize --ltdl can find them later:
|
||||||
ltdldatadir = $(pkgdatadir)/libltdl/loaders
|
ltdldatadir = $(pkgvdatadir)/libltdl/loaders
|
||||||
ltdldata_DATA = Makefile.am dld_link.c dlopen.c dyld.c \
|
ltdldata_DATA = Makefile.am dld_link.c dlopen.c dyld.c \
|
||||||
load_add_on.c loadlibrary.c shl_load.c
|
load_add_on.c loadlibrary.c shl_load.c
|
||||||
|
|
||||||
|
@ -79,8 +79,8 @@ libtoolize_flags=
|
|||||||
# Locations for important files:
|
# Locations for important files:
|
||||||
prefix=@prefix@
|
prefix=@prefix@
|
||||||
datadir=@datadir@
|
datadir=@datadir@
|
||||||
pkgdatadir=@pkgdatadir@
|
pkgvdatadir=@pkgvdatadir@
|
||||||
aclocaldir=@aclocaldir@
|
pkgvmacrodir=@pkgvmacrodir@
|
||||||
auxdir=
|
auxdir=
|
||||||
m4dir=
|
m4dir=
|
||||||
ltdldir=
|
ltdldir=
|
||||||
@ -299,8 +299,8 @@ func_scan_files ()
|
|||||||
test -f "$configure_ac" \
|
test -f "$configure_ac" \
|
||||||
|| func_fatal_help "\`$configure_ac' does not exist"
|
|| func_fatal_help "\`$configure_ac' does not exist"
|
||||||
|
|
||||||
test -n "`cd $pkgdatadir && ls`" \
|
test -n "`cd $pkgvdatadir && ls`" \
|
||||||
|| func_fatal_error "can not list files in \`$pkgdatadir'"
|
|| func_fatal_error "can not list files in \`$pkgvdatadir'"
|
||||||
|
|
||||||
|
|
||||||
# Set local variables to reflect contents of configure.ac
|
# Set local variables to reflect contents of configure.ac
|
||||||
@ -584,10 +584,10 @@ func_config_update ()
|
|||||||
{
|
{
|
||||||
rerun_aclocal=false
|
rerun_aclocal=false
|
||||||
|
|
||||||
# NOTE: PKGMACRO_FILES must be kept in synch with aclocal_DATA in the
|
# NOTE: PKGVMACRO_FILES must be kept in synch with pkgvmacro_DATA in the
|
||||||
# libtool top_srcdir/Makefile.am (libtool.m4 and ltdl.m4 are handled
|
# libtool top_srcdir/Makefile.am (libtool.m4 and ltdl.m4 are handled
|
||||||
# specially below though, so don't add them here):
|
# specially below though, so don't add them here):
|
||||||
pkgmacro_files='argz.m4:ltoptions.m4:ltsugar.m4:ltversion.m4'
|
pkgvmacro_files='argz.m4:ltoptions.m4:ltsugar.m4:ltversion.m4'
|
||||||
|
|
||||||
glob_exclude_pkgaux_files='config.guess|config.sub|ltmain.sh'
|
glob_exclude_pkgaux_files='config.guess|config.sub|ltmain.sh'
|
||||||
|
|
||||||
@ -597,7 +597,7 @@ func_config_update ()
|
|||||||
# Copy all the files from installed libltdl to this project, if the
|
# Copy all the files from installed libltdl to this project, if the
|
||||||
# user specified `--ltdl'.
|
# user specified `--ltdl'.
|
||||||
if test -n "$ltdldir"; then
|
if test -n "$ltdldir"; then
|
||||||
eval func_copy_all_files -r "$pkgdatadir/libltdl" "$ltdldir"
|
eval func_copy_all_files -r "$pkgvdatadir/libltdl" "$ltdldir"
|
||||||
|
|
||||||
# libtoolize the newly copied libltdl tree
|
# libtoolize the newly copied libltdl tree
|
||||||
( cd "$ltdldir" && "$progpath" $libtoolize_flags ) || exit $EXIT_FAILURE
|
( cd "$ltdldir" && "$progpath" $libtoolize_flags ) || exit $EXIT_FAILURE
|
||||||
@ -609,17 +609,17 @@ func_config_update ()
|
|||||||
func_echo "putting files in AC_CONFIG_AUX_DIR, \`$auxdir'."
|
func_echo "putting files in AC_CONFIG_AUX_DIR, \`$auxdir'."
|
||||||
fi
|
fi
|
||||||
if $opt_install || $opt_force; then
|
if $opt_install || $opt_force; then
|
||||||
func_copy_all_files "$pkgdatadir" "$auxdir" "$glob_exclude_pkgaux_files"
|
func_copy_all_files "$pkgvdatadir" "$auxdir" "$glob_exclude_pkgaux_files"
|
||||||
func_config_update "$pkgdatadir/config.guess" "$auxdir/config.guess"
|
func_config_update "$pkgvdatadir/config.guess" "$auxdir/config.guess"
|
||||||
test -f "$pkgdatadir/config.sub" \
|
test -f "$pkgvdatadir/config.sub" \
|
||||||
&& func_config_update "$pkgdatadir/config.sub" "$auxdir/config.sub"
|
&& func_config_update "$pkgvdatadir/config.sub" "$auxdir/config.sub"
|
||||||
fi
|
fi
|
||||||
func_ltmain_update "$pkgdatadir/ltmain.sh" "$auxdir/ltmain.sh"
|
func_ltmain_update "$pkgvdatadir/ltmain.sh" "$auxdir/ltmain.sh"
|
||||||
|
|
||||||
# Copy libtool's m4 macros to the macro directory, if they are newer.
|
# Copy libtool's m4 macros to the macro directory, if they are newer.
|
||||||
if test -n "$m4dir"; then
|
if test -n "$m4dir"; then
|
||||||
libtool_m4="$aclocaldir/libtool.m4"
|
libtool_m4="$pkgvmacrodir/libtool.m4"
|
||||||
ltdl_m4="$aclocaldir/ltdl.m4"
|
ltdl_m4="$pkgvmacrodir/ltdl.m4"
|
||||||
|
|
||||||
$opt_quiet || func_echo "putting macros in AC_CONFIG_MACRO_DIR, \`$m4dir'."
|
$opt_quiet || func_echo "putting macros in AC_CONFIG_MACRO_DIR, \`$m4dir'."
|
||||||
|
|
||||||
@ -632,7 +632,7 @@ func_config_update ()
|
|||||||
func_verbose "Not copying \`$ltdl_m4', libltdl not used."
|
func_verbose "Not copying \`$ltdl_m4', libltdl not used."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
func_copy_some_files "$aclocaldir" "$pkgmacro_files" \
|
func_copy_some_files "$pkgvmacrodir" "$pkgvmacro_files" \
|
||||||
"$m4dir" func_serial_update
|
"$m4dir" func_serial_update
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user