]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Drop support for DJGPP, MS-DOS, Windows 95/98/ME
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 29 May 2012 17:51:22 +0000 (19:51 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 28 Dec 2012 20:52:25 +0000 (21:52 +0100)
Basically a backport and squash-in of three Automake-NG commits:
v1.12.1-447-g041fe15v1.12-343-g4526363v1.12-341-gc853c20,
plus proper simplifications of the ylwrap script.

See also:
<http://lists.gnu.org/archive/html/automake-ng/2012-05/msg00104.html>

* automake.in (BEGIN): Don't override $ENV{SHELL} for DJGPP.
(handle_libtool): Do not bother cleaning '_libs' directories, they
are only used by Libtool on MS-DOS (and we no longer support that
setup).
* syntax-checks.mk (automake_diff_no): Adjust, as now there are only
seven (not eight) different lines between 'automake.in' and 'automake'.
* bootstrap.sh: Don't special case the default value for BOOTSTRAP_SHELL
on DJGPP.  While we are at, allow that variable to be overridden from
the environment. Also, adjust comments: we don't use "ln -s" not because
it's not properly supported by DJGPP, but because it might not be
properly supported by MinGW/MSYS.
* configure.ac (MODIFICATION_DELAY): Define to '2' unconditionally, as
we no longer have to cater to quirks of Windows 95/98/ME.
* lib/am/texibuild.am: Remove support for '*.iNN' files used on DJGPP.
* lib/am/texinfos.am: Likewise.
* lib/ylwrap: Remove support for DOS-specific filenames for bison
output.
* t/txinfo19.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS
automake.in
bootstrap.sh
configure.ac
lib/am/texibuild.am
lib/am/texinfos.am
lib/ylwrap
syntax-checks.mk
t/list-of-tests.mk
t/txinfo19.sh [deleted file]

diff --git a/NEWS b/NEWS
index bdafaedddfcffd85182cae153134deea493021ed..745ee7be647a394efb4e84dbb2859eb0a418515d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+New in 1.14:
+
+* Removed support for obsolete systems:
+
+  - Support for DJGPP on MS-DOS and/or Windows 95/98/ME has been removed.
+    Note that both Cygwin and MSYS/MinGW on modern Windows versions will
+    continue to be fully supported.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 New in 1.13:
 
 * WARNING: Future backward-incompatibilities!
index 35aefd329ea2a7a42fecc813c7464a08c107b7a1..2ed64fbfee86f9dc87403d0e076986e654ff834f 100644 (file)
@@ -32,15 +32,6 @@ BEGIN
   @Automake::perl_libdirs = ('@datadir@/@PACKAGE@-@APIVERSION@')
     unless @Automake::perl_libdirs;
   unshift @INC, @Automake::perl_libdirs;
-
-  # Override SHELL.  This is required on DJGPP so that system() uses
-  # bash, not COMMAND.COM which doesn't quote arguments properly.
-  # Other systems aren't expected to use $SHELL when Automake
-  # runs, but it should be safe to drop the "if DJGPP" guard if
-  # it turns up other systems need the same thing.  After all,
-  # if SHELL is used, ./configure's SHELL is always better than
-  # the user's SHELL (which may be something like tcsh).
-  $ENV{'SHELL'} = '@SHELL@' if exists $ENV{'DJDIR'};
 }
 
 use Class::Struct ();
@@ -2463,7 +2454,7 @@ sub handle_libtool
     {
       my $dir = ($item eq '.') ? '' : "$item/";
       # .libs is for Unix, _libs for DOS.
-      push (@libtool_rms, "\t-rm -rf ${dir}.libs ${dir}_libs");
+      push (@libtool_rms, "\t-rm -rf ${dir}.libs");
     }
 
   check_user_variables 'LIBTOOLFLAGS';
index 4b12d2d9392535c4b3407cf865ccb551899bddeb..b30d3756dc94981a395ba1ffaff4522134185963 100755 (executable)
@@ -31,6 +31,8 @@ export AUTOCONF  # might be used by aclocal and/or automake
 export AUTOM4TE  # ditto
 : ${PERL=perl}
 
+BOOTSTRAP_SHELL=${BOOTSTRAP_SHELL-/bin/sh}
+
 # Variables to substitute.
 VERSION=`sed -ne '/AC_INIT/s/^[^[]*\[[^[]*\[\([^]]*\)\].*$/\1/p' configure.ac`
 PACKAGE=automake
@@ -40,15 +42,6 @@ PERL_THREADS=0
 # rule of our Makefile.
 RELEASE_YEAR=2012
 
-# Override SHELL.  This is required on DJGPP so that Perl's system()
-# uses bash, not COMMAND.COM which doesn't quote arguments properly.
-# It's not used otherwise.
-if test -n "$DJDIR"; then
-  BOOTSTRAP_SHELL=/dev/env/DJDIR/bin/bash.exe
-else
-  BOOTSTRAP_SHELL=/bin/sh
-fi
-
 # Read the rule for calculating APIVERSION and execute it.
 apiver_cmd=`sed -ne 's/\[\[/[/g;s/\]\]/]/g;/^APIVERSION=/p' configure.ac`
 eval "$apiver_cmd"
@@ -71,8 +64,8 @@ if test -d automake-$APIVERSION; then
   find automake-$APIVERSION -exec chmod u+wx '{}' ';'
 fi
 rm -rf automake-$APIVERSION
-# Can't use "ln -s lib automake-$APIVERSION", that would create a
-# lib.exe stub under DJGPP 2.03.
+# Can't use "ln -s lib automake-$APIVERSION", that might not work
+# properly on MinGW/MSYS.
 mkdir automake-$APIVERSION
 cp -rf lib/* automake-$APIVERSION
 
index f97ec87e534e7456a9e7325081aa0a1128f83a5b..280727e8752a1e8634f7eda9dfdc537c32a7b996 100644 (file)
@@ -198,16 +198,12 @@ result=no
 test "x$am_cv_prog_ln" = xln && result=yes
 AC_MSG_RESULT([$result])
 
-# The amount we should wait after modifying files depends on the platform.
-# On Windows '95, '98 and ME, files modifications have 2-seconds
-# granularity and can be up to 3 seconds in the future w.r.t. the
-# system clock.  When it is important to ensure one file is older
+# The amount we should wait after modifying files.
+# FIXME: for file systems with sub-second timestamp resolutions, this
+# FIXME: might be just one second (or even less if 'sleep' supports
+# FIXME: non-integer arguments); is it worth pursuing that road?
 # than another we wait at least 5 seconds between creations.
-case $build in
-  *-pc-msdosdjgpp) MODIFICATION_DELAY=5;;
-  *)               MODIFICATION_DELAY=2;;
-esac
-AC_SUBST([MODIFICATION_DELAY])
+AC_SUBST([MODIFICATION_DELAY], [2])
 
 ## ------------------------------------------- ##
 ##  Test for things needed by the test suite.  ##
index 0fe09b1f92c65ce539eaca1f222a0c5d825d8322..b60a3c95c64f8721c1781f3728b07553659319bf 100644 (file)
 ## 2) If the texinfo file has some minor mistakes which cause makeinfo
 ##    to fail, the info files are not removed.  (They are needed by the
 ##    developer while he writes documentation.)
-## *.iNN files are used on DJGPP.  See the comments in install-info-am
        %AM_V_MAKEINFO%restore=: && backupdir="$(am__leading_dot)am$$$$" && \
 ?INSRC?        am__cwd=`pwd` && $(am__cd) $(srcdir) && \
        rm -rf $$backupdir && mkdir $$backupdir && \
 ## If makeinfo is not installed we must not backup the files so
 ## 'missing' can do its job and touch $@ if it exists.
        if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+         for f in $@ $@-[0-9] $@-[0-9][0-9]; do \
            if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
          done; \
        else :; fi && \
index 6d45c950ae80583eac7eaaf95e3eeffd977b7472..c7b794ff709eea33677427cb5c339c0c8172a12b 100644 (file)
@@ -194,18 +194,7 @@ install-info-am: $(INFO_DEPS)
            $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
          esac; \
          if test -f $$file; then d=.; else d=$(srcdir); fi; \
-## 8+3 filesystems cannot deal with foo.info-N filenames: they all
-## conflict.  DJGPP comes with a tool, DJTAR, that will rename these
-## files to foo.iNN while extracting the archive.  DJGPP's makeinfo
-## is patched to grok these filenames.  However we have to account
-## for the renaming when installing the info files.
-##
-## If $file == foo.info, then $file_i == foo.i.  The reason we use two
-## shell commands instead of one ('s|\.info$$|.i|') is so that a suffix-less
-## 'foo' becomes 'foo.i' too.
-         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
+         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
            if test -f $$ifile; then \
              echo "$$ifile"; \
            else : ; fi; \
@@ -323,11 +312,9 @@ uninstall-info-am:
        @list='$(INFO_DEPS)'; \
        for file in $$list; do \
          relfile=`echo "$$file" | sed 's|^.*/||'`; \
-## DJGPP-style info files.  See comment in install-info-am.
-         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
          (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
+            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9]"; \
+            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9]; \
           else :; fi); \
        done
 
@@ -400,10 +387,8 @@ clean-aminfo:
 .PHONY maintainer-clean-am: maintainer-clean-aminfo
 maintainer-clean-aminfo:
        @list='$(INFO_DEPS)'; for i in $$list; do \
-## .iNN files are DJGPP-style info files.
-         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
+         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9]"; \
+         rm -f $$i $$i-[0-9] $$i-[0-9][0-9]; \
        done
 ## Use '-rf', not just '-f'; see comments in 'mostlyclean-aminfo'
 ## above for details.
index b5c673d5f5a8765a79d1f93dbbcf9b838ffeaf19..d59f6aa6eb38870f21fe93076d46a54e8081f460 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # ylwrap - wrapper for lex/yacc invocations.
 
-scriptversion=2012-12-21.17; # UTC
+scriptversion=2012-12-28.20; # UTC
 
 # Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
@@ -111,14 +111,6 @@ case "$input" in
 esac
 input_rx=`get_dirname "$input" | quote_for_sed`
 
-# Since DOS filename conventions don't allow two dots,
-# the DOS version of Bison writes out y_tab.c instead of y.tab.c
-# and y_tab.h instead of y.tab.h. Test to see if this is the case.
-y_tab_nodot=false
-if test -f y_tab.c || test -f y_tab.h; then
-  y_tab_nodot=true
-fi
-
 # The parser itself, the first file, is the destination of the .y.c
 # rule in the Makefile.
 parser=$1
@@ -138,13 +130,6 @@ while test "$#" -ne 0; do
     break
   fi
   from=$1
-  # Handle y_tab.c and y_tab.h output by DOS
-  if $y_tab_nodot; then
-    case $from in
-      "y.tab.c") from=y_tab.c;;
-      "y.tab.h") from=y_tab.h;;
-    esac
-  fi
   shift
   to=$1
   shift
index 042e092efca2afcaaa223ade111b2783c2638103..1801767103872621e98f55a129173e1f62f4f885 100644 (file)
@@ -80,10 +80,10 @@ sc_tabs_in_texi \
 sc_at_in_texi
 
 ## These check avoids accidental configure substitutions in the source.
-## There are exactly 8 lines that should be modified from automake.in to
+## There are exactly 7 lines that should be modified from automake.in to
 ## automake, and 9 lines that should be modified from aclocal.in to
 ## aclocal.
-automake_diff_no = 8
+automake_diff_no = 7
 aclocal_diff_no = 9
 sc_diff_automake sc_diff_aclocal: sc_diff_% :
        @set +e; tmp=$*-diffs.tmp; \
index 4612d3ded6ed601aa486f4e631b99944d3c25e82..28b520a0412fbd2cda7bdd2548bfa8f7aae88c5c 100644 (file)
@@ -1167,7 +1167,6 @@ t/txinfo10.sh \
 t/txinfo13.sh \
 t/txinfo16.sh \
 t/txinfo17.sh \
-t/txinfo19.sh \
 t/txinfo20.sh \
 t/txinfo21.sh \
 t/txinfo22.sh \
diff --git a/t/txinfo19.sh b/t/txinfo19.sh
deleted file mode 100755 (executable)
index 1fbc79e..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 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, or (at your option)
-# any later version.
-#
-# 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.  If not, see <http://www.gnu.org/licenses/>.
-
-# Test support for DJGPP's .iNN info files.
-
-required=makeinfo
-. test-init.sh
-
-echo AC_OUTPUT >> configure.ac
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = main.texi
-END
-
-cat > main.texi << 'END'
-\input texinfo
-@setfilename main.info
-@settitle main
-@node Top
-Hello walls.
-@bye
-END
-
-$ACLOCAL
-$AUTOMAKE --add-missing
-$AUTOCONF
-
-./configure "--infodir=$(pwd)/_inst"
-$MAKE
-
-# Make sure .iNN files are installed.
-: > main.i1
-: > main.i21
-$MAKE install
-test -f _inst/main.i1
-test -f _inst/main.i21
-
-# They should be uninstalled too.
-$MAKE uninstall
-test ! -e _inst/main.i1
-test ! -e _inst/main.i21
-
-# Make sure rebuild rules erase old .iNN files when they run makeinfo.
-$sleep
-touch main.texi
-test -f main.i1
-test -f main.i21
-$MAKE
-test ! -e main.i1
-test ! -e main.i21
-
-# Finally, we also want them erased by maintainer-clean.
-: > main.i7
-: > main.i39
-$MAKE maintainer-clean
-test ! -e main.i7
-test ! -e main.i39
-
-: