From c853c205e7e7be5f5f369eb100762b74ddf766a3 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Tue, 29 May 2012 19:51:22 +0200 Subject: [PATCH] [ng] cleanup: drop support for DJGPP, Windows 95/98/ME, MS-DOS See also: * automake.in (BEGIN): Don't override $ENV{SHELL} for DJGPP. * bootstrap: 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. * configure.ac (MODIFICATION_DELAY): Define to '2' unconditionally, as we don't have to cater to quirks of Windows 95/98/ME anymore. * lib/am/texibuild.am: Remove support for '*.iNN' files used on DJGPP. * lib/am/texinfos.am: Likewise. * NG-NEWS: Update. Signed-off-by: Stefano Lattarini --- NG-NEWS | 3 ++ automake.in | 9 ------ bootstrap.sh | 11 ++----- configure.ac | 14 ++++----- lib/am/texibuild.am | 3 +- lib/am/texinfos.am | 13 +------- t/txinfo19.sh | 72 --------------------------------------------- 7 files changed, 12 insertions(+), 113 deletions(-) delete mode 100755 t/txinfo19.sh diff --git a/NG-NEWS b/NG-NEWS index d8cf72c87..ed36fe261 100644 --- a/NG-NEWS +++ b/NG-NEWS @@ -224,6 +224,9 @@ Obsolete Features Removed $(AM_CPPFLAGS) instead, which has been supported and recommended for a long time. +* Support for DJGPP, Windows 95/98/ME and MS-DOS has been removed. + Of course, MinGW/MSYS and Cygwin on Windows 2000 and later are still + fully supported. Source Files with Unknown Extensions ==================================== diff --git a/automake.in b/automake.in index eaf00a72c..27bec1846 100644 --- a/automake.in +++ b/automake.in @@ -31,15 +31,6 @@ BEGIN { my $perllibdir = $ENV{'perllibdir'} || '@datadir@/@PACKAGE@-@APIVERSION@'; unshift @INC, (split '@PATH_SEPARATOR@', $perllibdir); - - # 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 (); diff --git a/bootstrap.sh b/bootstrap.sh index e65e06cbb..0b7096adf 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -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" diff --git a/configure.ac b/configure.ac index c83f779ec..8bcb4adad 100644 --- a/configure.ac +++ b/configure.ac @@ -200,16 +200,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. ## diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am index 4fb196b50..039e6de38 100644 --- a/lib/am/texibuild.am +++ b/lib/am/texibuild.am @@ -25,14 +25,13 @@ ## 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 && \ diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am index fa1b64227..7a02232db 100644 --- a/lib/am/texinfos.am +++ b/lib/am/texinfos.am @@ -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; \ diff --git a/t/txinfo19.sh b/t/txinfo19.sh deleted file mode 100755 index 63417f8b9..000000000 --- a/t/txinfo19.sh +++ /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 . - -# Test support for DJGPP's .iNN info files. - -required=makeinfo -. ./defs || Exit 1 - -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 ! -f _inst/main.i1 -test ! -f _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 ! -f main.i1 -test ! -f main.i21 - -# Finally, we also want them erased by maintainer-clean. -: > main.i7 -: > main.i39 -$MAKE maintainer-clean -test ! -f main.i7 -test ! -f main.i39 - -: -- 2.47.2