From: Gary V. Vaughan Date: Mon, 4 Oct 2004 18:32:45 +0000 (+0000) Subject: * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO X-Git-Tag: release-2-1b~932 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5d70992b8f74cf61b2d529d7bd1b8cb2348b82c;p=thirdparty%2Flibtool.git * 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. --- diff --git a/ChangeLog b/ChangeLog index b7f0e39f8..c42f3a433 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,32 @@ +2004-10-04 Gary V. Vaughan + + * 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 + + 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 * README, README.alpha: Update notes regarding available VERBOSE @@ -12,6 +41,14 @@ 2004-10-03 Gary V. Vaughan + * 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 diff --git a/Makefile.am b/Makefile.am index 2cceb2e7b..96b0d55c3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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! diff --git a/NEWS b/NEWS index 70ebd5d7f..d8c80e882 100644 --- a/NEWS +++ b/NEWS @@ -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. diff --git a/bootstrap b/bootstrap index 0fa423fa4..21f70b30f 100755 --- a/bootstrap +++ b/bootstrap @@ -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" diff --git a/config/ltmain.in b/config/ltmain.m4sh similarity index 100% rename from config/ltmain.in rename to config/ltmain.m4sh index 334ad498a..d2d774937 100644 --- a/config/ltmain.in +++ b/config/ltmain.m4sh @@ -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%%%" diff --git a/configure.ac b/configure.ac index 6bff3bef8..61cc1de4e 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) diff --git a/libtoolize.in b/libtoolize.m4sh similarity index 100% rename from libtoolize.in rename to libtoolize.m4sh diff --git a/m4/libtool.m4 b/m4/libtool.m4 index b1f3eb5bb..42bb682e5 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -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 diff --git a/tests/Makefile.am b/tests/Makefile.am index 81540deae..dbf637871 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 diff --git a/tests/defs.in b/tests/defs.m4sh similarity index 100% rename from tests/defs.in rename to tests/defs.m4sh