* m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO

with $lt_ECHO, or we always get a libtool with ECHO=echo, rather
than testing for a mechanism that quotes  properly.
* NEWS: Updated.

* config/ltmain.m4sh: Need to include getopt.m4sh earlier so that
progpath is set before it is called to --no-reexec.
* NEWS: Updated.

Without this change, the distributed libtool tarball has a
dependency on autom4te.  There was some inconsistency in the
filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure
-> foo[.sh].  Bootstrap runs the m4sh steps and the resulting .in
files are distributed:

* tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh.
* Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh.
(libtoolize.in, libtoolize): Split into bootstrap and runtime
stages.
($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto.
($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in
names.
* bootstrap: Make libtoolize.in and tests/defs.in.
* NEWS: Updated.
This commit is contained in:
Gary V. Vaughan 2004-10-04 18:32:45 +00:00
parent b295807c54
commit e5d70992b8
10 changed files with 83 additions and 28 deletions

View File

@ -1,3 +1,32 @@
2004-10-04 Gary V. Vaughan <gary@gnu.org>
* m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO
with $lt_ECHO, or we always get a libtool with ECHO=echo, rather
than testing for a mechanism that quotes \ properly.
* NEWS: Updated.
* config/ltmain.m4sh: Need to include getopt.m4sh earlier so that
progpath is set before it is called to --no-reexec.
* NEWS: Updated.
2004-10-04 Gary V. Vaughan <gary@gnu.org>
Without this change, the distributed libtool tarball has a
dependency on autom4te. There was some inconsistency in the
filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure
-> foo[.sh]. Bootstrap runs the m4sh steps and the resulting .in
files are distributed:
* tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh.
* Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh.
(libtoolize.in, libtoolize): Split into bootstrap and runtime
stages.
($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto.
($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in
names.
* bootstrap: Make libtoolize.in and tests/defs.in.
* NEWS: Updated.
2004-10-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* README, README.alpha: Update notes regarding available VERBOSE
@ -12,6 +41,14 @@
2004-10-03 Gary V. Vaughan <gary@gnu.org>
* NEWS: Updated.
* configure.ac: Bumped version to 1.9e.
GNU libtool 1.9d was released.
* configure.ac: Bumped version to 1.9d.
* NEWS: Updated.
* libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as
per Ralf's original patch.
Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>

View File

@ -46,7 +46,7 @@ SUBDIRS = $(BUILD_SUBDIRS)
DIST_SUBDIRS = $(BUILD_SUBDIRS)
sh_files = config/general.m4sh config/getopt.m4sh
EXTRA_DIST = bootstrap libtoolize.in config/ltmain.in config/mkstamp \
EXTRA_DIST = bootstrap libtoolize.in config/ltmain.m4sh config/mkstamp \
$(sh_files) stamp-vcl ChangeLog.1996 ChangeLog.1997 ChangeLog.1998 \
ChangeLog.1999 ChangeLog.2000 ChangeLog.2001 ChangeLog.2002 \
ChangeLog.2003
@ -115,47 +115,56 @@ $(top_srcdir)/m4/ltversion.m4: m4/ltversion.in configure.ac stamp-vcl
## distcheck (at least) by rebuilding ltmain.sh in the source
## tree whenever config.status regenerates the Makefile.
EXTRA_DIST += config/ltmain.sh
$(top_srcdir)/config/ltmain.sh: $(sh_files) config/ltmain.in configure.ac stamp-vcl
$(top_srcdir)/config/ltmain.sh: $(sh_files) config/ltmain.m4sh configure.ac stamp-vcl
$(timestamp); \
cd $(top_srcdir); \
rm -f config/ltmain.m4sh config/ltmain.tmp config/ltmain.sh; \
$(M4SH) -B ./config config/ltmain.in > config/ltmain.m4sh; \
rm -f config/ltmain.in config/ltmain.tmp config/ltmain.sh; \
$(M4SH) -B ./config config/ltmain.m4sh > config/ltmain.in; \
input="ltmain.in"; \
$(edit) -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" \
-e "s,@package_revision\@,$$1,g" \
config/ltmain.m4sh > config/ltmain.tmp; \
rm -f config/ltmain.m4sh; \
config/ltmain.in > config/ltmain.tmp; \
rm -f config/ltmain.in; \
chmod a-w config/ltmain.tmp; \
mv -f config/ltmain.tmp config/ltmain.sh
# The libtool distributor and the standalone libtool script.
bin_SCRIPTS = libtoolize libtool
libtoolize: $(sh_files) libtoolize.in Makefile
rm -f libtoolize.m4sh libtoolize.tmp libtoolize
$(M4SH) -B $(top_srcdir)/config \
$(srcdir)/libtoolize.in > libtoolize.m4sh
libtoolize: libtoolize.in
rm -f libtoolize.tmp libtoolize
$(timestamp); \
input="libtoolize.in"; \
input="libtoolize.m4sh"; \
$(edit) -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" \
libtoolize.m4sh > libtoolize.tmp
rm -f libtoolize.m4sh
$(top_srcdir)/libtoolize.in > libtoolize.tmp
chmod a+x libtoolize.tmp
chmod a-w libtoolize.tmp
mv -f libtoolize.tmp libtoolize
# Use `$(top_srcdir)' for the benefit of non-GNU makes: this is
# how libtoolize.in appears in our dependencies.
EXTRA_DIST += libtoolize.m4sh
$(top_srcdir)/libtoolize.in: $(sh_files) libtoolize.m4sh Makefile.am
cd $(top_srcdir); \
rm -f libtoolize.in; \
$(M4SH) -B ./config libtoolize.m4sh > libtoolize.in
# The defs script shouldn't be recreated whenever the Makefile is
# regenerated since the source tree can be read-only.
check-recursive: tests/defs
tests/defs: tests/defs.in Makefile.am
rm -f tests/defs.m4sh tests/defs.tmp tests/defs; \
$(M4SH) -B $(top_srcdir)/config \
$(top_srcdir)/tests/defs.in > tests/defs.m4sh; \
input="defs.in"; \
$(edit) tests/defs.m4sh > tests/defs.tmp; \
rm -f tests/defs.m4sh; \
tests/defs: tests/defs.in
rm -f tests/defs.tmp tests/defs; \
input="defs.m4sh"; \
$(edit) $(top_srcdir)/tests/defs.in > tests/defs.tmp; \
mv -f tests/defs.tmp tests/defs
# Use `$(top_srcdir)/tests' for the benefit of non-GNU makes: this is
# how defs.in appears in our dependencies.
# No need to EXTRA_DIST defs.m4sh here, that is handled in tests/Makefile.am.
$(top_srcdir)/tests/defs.in: tests/defs.m4sh Makefile.am
cd $(top_srcdir); \
rm -f tests/defs.in; \
$(M4SH) -B ./config tests/defs.m4sh > tests/defs.in
# Automake doesn't want us to generate distributed files from config.status,
# but the alternative (see libtool-1.4.3) was even uglier!

11
NEWS
View File

@ -1,6 +1,15 @@
NEWS - list of user-visible changes between releases of GNU Libtool
New in 1.9d: 2004-??-??; CVS version 1.9c, Libtool team:
New in 1.9f: 2004-??-??; CVS version 1.9e, Libtool team:
* Fix a regression in 1.9d, where ECHO was always set to 'echo' and the
backslash quoting tests were never run.
* Fix a regression in 1.9d, where progpath was used for --no-reexec before it
was set.
* Fix a regression in 1.9d, which required an installed automake to build the
bootstrapped tarball.
* Fix hanging bug on MinGW.
New in 1.9d: 2004-10-03; CVS version 1.9c, Libtool team:
* If non-pic objects were not compiled, and libtool is called in link mode,
libtool no longer silently creates an empty archive, but rather falls
back to pic objects.

View File

@ -58,7 +58,7 @@ set -- `sed '/AC_INIT/{s/[][,()]/ /g; p;};d' configure.ac`
# configure, and ltversion.m4 to generate configure in the first place:
rm -f ./config/ltmain.sh ./m4/ltversion.m4
test -f Makefile || { makefile=Makefile; cp Makefile.am $makefile; }
make ./config/ltmain.sh ./m4/ltversion.m4 \
make ./config/ltmain.sh ./m4/ltversion.m4 ./libtoolize.in ./tests/defs.in \
top_srcdir=. PACKAGE="$2" VERSION="$3" M4SH="autom4te -l m4sh"
test -z "$makefile" || rm -f "$makefile"

View File

@ -78,6 +78,8 @@ package_revision=@package_revision@
AS_SHELL_SANITIZE
$as_unset CDPATH
m4_include([getopt.m4sh])
# Check that we have a working $ECHO.
if test "X$1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
@ -102,8 +104,6 @@ EOF
exit $EXIT_SUCCESS
fi
m4_include([getopt.m4sh])
default_mode=
magic="%%%MAGIC variable%%%"

View File

@ -24,7 +24,7 @@ AC_PREREQ(2.58) ## We use AS_HELP_STRING
## ------------------------ ##
## Autoconf initialisation. ##
## ------------------------ ##
AC_INIT([libtool], [1.9c], [bug-libtool@gnu.org])
AC_INIT([libtool], [1.9e], [bug-libtool@gnu.org])
AC_CONFIG_HEADERS([config.h:config-h.in])
AC_CONFIG_SRCDIR([libtoolize.in])
AC_CONFIG_AUX_DIR([config])

4
m4/libtool.m4 vendored
View File

@ -691,7 +691,7 @@ X*--fallback-echo)
;;
esac
ECHO=${ECHO-echo}
ECHO=${lt_ECHO-echo}
if test "X[$]1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
@ -719,7 +719,7 @@ fi
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
if test -z "$ECHO"; then
if test -z "$lt_ECHO"; then
if test "X${echo_test_string+set}" != Xset; then
# find a string as large as possible, as long as the shell can cope with it
for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do

View File

@ -90,7 +90,7 @@ TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" F77="$(F77)" \
FFLAGS="$(FFLAGS)" CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CPP="$(CPP)"
EXTRA_DIST = defs.in $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS)
EXTRA_DIST = defs.in defs.m4sh $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS)
DIST_SUBDIRS = $(CONF_SUBDIRS)
# FIXME: Automake-1.7b (at least) only honours DIST_SUBDIRS if SUBDIRS is