[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FYI 1/2] {master} Drop support for DJGPP, MS-DOS, Windows 95/98/ME
From: |
Stefano Lattarini |
Subject: |
[FYI 1/2] {master} Drop support for DJGPP, MS-DOS, Windows 95/98/ME |
Date: |
Fri, 28 Dec 2012 21:55:43 +0100 |
Basically a backport and squash-in of three Automake-NG commits:
v1.12.1-447-g041fe15, v1.12-343-g4526363, v1.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 <address@hidden>
---
NEWS | 10 ++++++++
automake.in | 11 +-------
bootstrap.sh | 15 +++--------
configure.ac | 14 ++++-------
lib/am/texibuild.am | 3 +--
lib/am/texinfos.am | 25 ++++---------------
lib/ylwrap | 17 +------------
syntax-checks.mk | 4 +--
t/list-of-tests.mk | 1 -
t/txinfo19.sh | 72 -----------------------------------------------------
10 files changed, 29 insertions(+), 143 deletions(-)
delete mode 100755 t/txinfo19.sh
diff --git a/NEWS b/NEWS
index bdafaed..745ee7b 100644
--- 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!
diff --git a/automake.in b/automake.in
index 35aefd3..2ed64fb 100644
--- a/automake.in
+++ b/automake.in
@@ -32,15 +32,6 @@ BEGIN
@Automake::perl_libdirs = ('@datadir@/@address@hidden@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';
diff --git a/bootstrap.sh b/bootstrap.sh
index 4b12d2d..b30d375 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"
@@ -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
diff --git a/configure.ac b/configure.ac
index f97ec87..280727e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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. ##
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
index 0fe09b1..b60a3c9 100644
--- a/lib/am/texibuild.am
+++ b/lib/am/texibuild.am
@@ -30,14 +30,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 $@ address@hidden address@hidden $(@:.info=).i[0-9]
$(@:.info=).i[0-9][0-9]; do \
+ for f in $@ address@hidden address@hidden; 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 6d45c95..c7b794f 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; \
@@ -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.
diff --git a/lib/ylwrap b/lib/ylwrap
index b5c673d..d59f6aa 100755
--- a/lib/ylwrap
+++ b/lib/ylwrap
@@ -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
diff --git a/syntax-checks.mk b/syntax-checks.mk
index 042e092..1801767 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -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; \
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 4612d3d..28b520a 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -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
index 1fbc79e..0000000
--- 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 <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
address@hidden main.info
address@hidden main
address@hidden Top
-Hello walls.
address@hidden
-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
-
-:
--
1.8.0.1.409.g252f922
- [FYI 1/2] {master} Drop support for DJGPP, MS-DOS, Windows 95/98/ME,
Stefano Lattarini <=