mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-12 14:06:37 +08:00
* m4/ltversion.in: New file to capture what version number macros
are being used. * Makefile.am (m4/ltversion.m4): New rule to create it from m4/ltversion.in. (nodist_pkgmacro_DATA): Add m4/ltversion.m4. (EXTRA_DIST): Add m4/ltversion.in. * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION from ltversion.m4. * bootstrap: Call the Makefile.am to create an initial m4/ltversion.m4. * ltmain.in: Diagnose version mismatches of various flavours. * TODO: Remove mismatch item. * NEWS: Updated.
This commit is contained in:
parent
8bdd28dcf5
commit
4a9ead32fb
14
ChangeLog
14
ChangeLog
@ -1,5 +1,19 @@
|
||||
2004-02-06 Gary V. Vaughan <gary@gnu.org>
|
||||
|
||||
* m4/ltversion.in: New file to capture what version number macros
|
||||
are being used.
|
||||
* Makefile.am (m4/ltversion.m4): New rule to create it from
|
||||
m4/ltversion.in.
|
||||
(nodist_pkgmacro_DATA): Add m4/ltversion.m4.
|
||||
(EXTRA_DIST): Add m4/ltversion.in.
|
||||
* m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION
|
||||
from ltversion.m4.
|
||||
* bootstrap: Call the Makefile.am to create an initial
|
||||
m4/ltversion.m4.
|
||||
* ltmain.in: Diagnose version mismatches of various flavours.
|
||||
* TODO: Remove mismatch item.
|
||||
* NEWS: Updated.
|
||||
|
||||
* Makefile.am ($(top_builddir)/config.status): Removed.
|
||||
* configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is
|
||||
how automake-1.8 now informs all Makefiles when config.status
|
||||
|
20
Makefile.am
20
Makefile.am
@ -36,7 +36,25 @@ dist_pkgdata_DATA = config/config.guess config/config.sub config/ltmain.sh
|
||||
# We maintain our own macros to provent problems with ancient definitions.
|
||||
# lt~obsolete.m4 doesn't belong here, it's for bootstrapping us only
|
||||
pkgmacrodir = $(pkgdatadir)/m4
|
||||
pkgmacro_DATA = m4/libtool.m4 m4/ltdl.m4 m4/ltsugar.m4
|
||||
dist_pkgmacro_DATA = m4/libtool.m4 m4/ltdl.m4 m4/ltsugar.m4
|
||||
nodist_pkgmacro_DATA = m4/ltversion.m4
|
||||
EXTRA_DIST += m4/ltversion.in
|
||||
|
||||
# We build ltversion.m4 here, instead of from config.status,
|
||||
# because config.status is rerun each time one og configure's
|
||||
# dependencies change and ltversion.m4 happens to be a configure
|
||||
# dependency. configure and ltversion.m4 vould be rebuilt in
|
||||
# a loop otherwise.
|
||||
# Use `$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
|
||||
# how ltversion.m4 appears in our dependencies.
|
||||
$(top_srcdir)/m4/ltversion.m4: $(top_srcdir)/m4/ltversion.in stamp-vcl
|
||||
set `$(MKSTAMP) < $(top_srcdir)/ChangeLog`; \
|
||||
sed -e "s,[@]MACRO_VERSION[@],$(VERSION),g" \
|
||||
-e "s,[@]MACRO_REVISION[@],$$1,g" \
|
||||
-e "s,[@]configure_input[@],Generated from ltversion.in; do not edit by hand.,g" \
|
||||
$(top_srcdir)/m4/ltversion.in > $@t
|
||||
chmod a-w $@t
|
||||
mv -f $@t $@
|
||||
|
||||
# The standalone libtool script, and the libtool distributor.
|
||||
bin_SCRIPTS = libtool libtoolize
|
||||
|
6
NEWS
6
NEWS
@ -1,7 +1,13 @@
|
||||
NEWS - list of user-visible changes between releases of GNU Libtool
|
||||
|
||||
New in 1.5b: 2004-??-??; CVS version 1.5a, Libtool team:
|
||||
* The /^_?LT_[A-Z_]+$/ namespace is now reserved for Libtool's own macros.
|
||||
If you have any shell variables in this namespace they will need to be
|
||||
renamed. If you have any macros in this namespace please rename them to
|
||||
prevent any possible future clash with libtool supplied macros.
|
||||
* New LT_PREREQ macro for specifying minimum libtool requirement.
|
||||
* The libtool script will complain if it was built from mismatched ltmain.sh
|
||||
and libtool m4 macro versions.
|
||||
* Like automake, libtoolize no longer installs config.guess and config.sub by
|
||||
default. Use new --install option to get the old behaviour.
|
||||
* libtool script is now created by config.status. Instead of interrogating
|
||||
|
4
TODO
4
TODO
@ -16,10 +16,6 @@ to ltconfig.
|
||||
Also report dlerror() for dlclose and dlsym if available
|
||||
- Make sure that the dependency_libs of a dlpreopened module won't be loaded.
|
||||
|
||||
* Check whether the version of libtool.m4 is compatible with
|
||||
ltconfig/ltmain.sh. Meanwhile, the recommended approach for
|
||||
developers using automake is to insert libtool.m4 in acinclude.m4.
|
||||
|
||||
* We could have an option to hardcode paths into libraries, as well as
|
||||
binaries: `... -Wl,-soname -Wl,/tmp/libtest.so.0 ...'. This is not
|
||||
possible on all platforms, and is in part obviated by the ability of
|
||||
|
@ -41,6 +41,8 @@ if test -z "$reconfdirs"; then
|
||||
reconfdirs=". `ls -1d tests/*demo tests/*demo[0-9]`"
|
||||
fi
|
||||
|
||||
make top_srcdir=. -f Makefile.am ./m4/ltversion.m4
|
||||
|
||||
for file in $fakes; do
|
||||
cat > $file <<'EOF'
|
||||
#! /bin/sh
|
||||
|
68
ltmain.in
68
ltmain.in
@ -65,6 +65,74 @@ mkdir="mkdir"
|
||||
mv="mv -f"
|
||||
rm="rm -f"
|
||||
|
||||
# Ensure that we are using m4 macros, and libtool script from the same
|
||||
# release of libtool.
|
||||
package_revision=`( set $TIMESTAMP; echo $1; )`
|
||||
if test "$package_revision" != "$macro_revision"; then
|
||||
if test "$VERSION" != "$macro_version"; then
|
||||
if test -z "$macro_version"; then
|
||||
cat >&2 <<_LT_EOF
|
||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
|
||||
$progname: definition of this AC_PROG_LIBTOOL comes from an older release.
|
||||
$progname: You should recreate aclocal.m4 with macro's from $PACKAGE $VERSION
|
||||
$progname: and run autoconf again.
|
||||
_LT_EOF
|
||||
else
|
||||
cat >&2 <<_LT_EOF
|
||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
|
||||
$progname: definition of this AC_PROG_LIBTOOL comes from $PACKAGE $macro_version.
|
||||
$progname: You should recreate aclocal.m4 with macro's from $PACKAGE $VERSION
|
||||
$progname: and run autoconf again.
|
||||
_LT_EOF
|
||||
fi
|
||||
else
|
||||
cat >&2 <<_LT_EOF
|
||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
|
||||
$progname: but the definition used by this AC_PROG_LIBTOOL comes from revision
|
||||
$progname: $macro_revision.
|
||||
$progname: You should recreate aclocal.m4 with macro's from revision $package_revision
|
||||
$progname: of $PACKAGE $VERSION and run autoconf again.
|
||||
_LT_EOF
|
||||
fi
|
||||
|
||||
# $? = 63 is used to indicate version mismatch to missing.
|
||||
exit 63
|
||||
fi
|
||||
|
||||
# Ensure that we are using m4 macros, and libtool script from the same
|
||||
# release of libtool.
|
||||
package_revision=`( set $TIMESTAMP; echo $1; )`
|
||||
if test "$package_revision" != "$macro_revision"; then
|
||||
if test "$VERSION" != "$macro_version"; then
|
||||
if test -z "$macro_version"; then
|
||||
cat >&2 <<_LT_EOF
|
||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
|
||||
$progname: definition of this AC_PROG_LIBTOOL comes from an older release.
|
||||
$progname: You should recreate aclocal.m4 with macro's from $PACKAGE $VERSION
|
||||
$progname: and run autoconf again.
|
||||
_LT_EOF
|
||||
else
|
||||
cat >&2 <<_LT_EOF
|
||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
|
||||
$progname: definition of this AC_PROG_LIBTOOL comes from $PACKAGE $macro_version.
|
||||
$progname: You should recreate aclocal.m4 with macro's from $PACKAGE $VERSION
|
||||
$progname: and run autoconf again.
|
||||
_LT_EOF
|
||||
fi
|
||||
else
|
||||
cat >&2 <<_LT_EOF
|
||||
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
|
||||
$progname: but the definition used by this AC_PROG_LIBTOOL comes from revision
|
||||
$progname: $macro_revision.
|
||||
$progname: You should recreate aclocal.m4 with macro's from revision $package_revision
|
||||
$progname: of $PACKAGE $VERSION and run autoconf again.
|
||||
_LT_EOF
|
||||
fi
|
||||
|
||||
# $? = 63 is used to indicate version mismatch to missing.
|
||||
exit 63
|
||||
fi
|
||||
|
||||
# Sed substitution that helps us do robust quoting. It backslashifies
|
||||
# metacharacters that are still active within double-quoted strings.
|
||||
Xsed="${SED}"' -e 1s/^X//'
|
||||
|
1
m4/libtool.m4
vendored
1
m4/libtool.m4
vendored
@ -97,6 +97,7 @@ dnl Autoconf doesn't catch unexpanded LT_ macros by default:
|
||||
m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
|
||||
m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW)$])dnl
|
||||
AC_REQUIRE([LTSUGAR_VERSION])dnl
|
||||
AC_REQUIRE([LTVERSION_VERSION])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
_LT_DECL([], [host_alias], [0], [The host system])dnl
|
||||
|
14
m4/ltversion.in
Normal file
14
m4/ltversion.in
Normal file
@ -0,0 +1,14 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
# @configure_input@
|
||||
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [@MACRO_VERSION@])
|
||||
m4_define([LT_PACKAGE_REVISION], [@MACRO_REVISION@])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='@MACRO_VERSION@'
|
||||
macro_revision='@MACRO_REVISION@'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
Loading…
Reference in New Issue
Block a user