bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

djgpp: remove


From: Akim Demaille
Subject: djgpp: remove
Date: Sat, 10 Nov 2018 15:33:22 +0100

commit a3f664993cc3a88dbbab9985ff811431752d9ec7
Author: Akim Demaille <address@hidden>
Date:   Sat Nov 10 15:28:27 2018 +0100

    djgpp: remove
    
    Support for DJGPP was announced to be removed in the NEWS of Bison
    3.1 (2018-08-27) unless someone expressed interest.  There was no answer.
    
    * djgpp: Remove.
    * NEWS, Makefile.am, cfg.mk, po/POTFILES.in: Adjust.

diff --git a/Makefile.am b/Makefile.am
index ffd06423..7f18f6f4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -57,7 +57,6 @@ noinst_LIBRARIES =
 
 include build-aux/local.mk
 include data/local.mk
-include djgpp/local.mk
 include doc/local.mk
 include etc/local.mk
 include examples/local.mk
diff --git a/NEWS b/NEWS
index b27dc1ad..daa5da6b 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ GNU Bison NEWS
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
+** Backward incompatible changes
+
+  Support for DJGPP, which has been unmaintained and untested for years, is
+  removed.
 
 * Noteworthy changes in release 3.2.1 (2018-11-09) [stable]
 
@@ -14,7 +18,7 @@ GNU Bison NEWS
 
 ** Backward incompatible changes
 
-  Support for DJGPP, which have been unmaintained and untested for years, is
+  Support for DJGPP, which has been unmaintained and untested for years, is
   obsolete.  Unless there is activity to revive it, it will be removed.
 
 ** Changes
@@ -184,7 +188,7 @@ GNU Bison NEWS
   release of Bison 3.0, five years ago.  Generated parsers do not require a
   C99 compiler.
 
-  Support for DJGPP, which have been unmaintained and untested for years, is
+  Support for DJGPP, which has been unmaintained and untested for years, is
   obsolete. Unless there is activity to revive it, the next release of Bison
   will have it removed.
 
diff --git a/cfg.mk b/cfg.mk
index f81d58ec..f638dff7 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -158,21 +158,20 @@ sc_space_before_open_paren:
 
 exclude = \
   $(foreach a,$(1),$(eval $(subst $$,$$$$,exclude_file_name_regexp--sc_$(a))))
-$(call exclude,                                                                
         \
-  bindtextdomain=^lib/main.c$$                                                 
         \
-  preprocessor_indentation=^data/|^lib/|^src/parse-gram.[ch]$$                 
         \
-  program_name=^lib/main.c$$                                                   
         \
-  prohibit_always-defined_macros=^data/yacc.c$$|^djgpp/                        
         \
-  prohibit_always-defined_macros+=?|^src/(parse-gram.c|system.h)$$             
         \
-  prohibit_always-defined_macros+=?|^tests/regression.at$$                     
         \
-  prohibit_always_true_header_tests=^djgpp/subpipe.h$$                         
         \
-  prohibit_doubled_word=^tests/named-refs.at$$                                 
         \
-  prohibit_magic_number_exit=^doc/bison.texi$$                                 
         \
-  prohibit_magic_number_exit+=?|^tests/(conflicts|regression).at$$             
         \
-  prohibit_strcmp=^doc/bison\.texi|tests/local\.at$$                           
         \
-  
prohibit_tab_based_indentation=install-icc.sh|\.(am|mk)$$|^djgpp/|^\.git|Makefile$$
   \
-  require_config_h_first=^(lib/yyerror|data/(glr|yacc))\.c$$                   
         \
-  space_before_open_paren=^(data/|djgpp/)                                      
         \
-  two_space_separator_in_usage=^(bootstrap|build-aux/install-icc.sh)           
         \
-  unmarked_diagnostics=^(djgpp/|doc/bison.texi$$|tests/c\+\+\.at$$)            
         \
+$(call exclude,                                                                
 \
+  bindtextdomain=^lib/main.c$$                                                 
 \
+  preprocessor_indentation=^data/|^lib/|^src/parse-gram.[ch]$$                 
 \
+  program_name=^lib/main.c$$                                                   
 \
+  prohibit_always-defined_macros=^data/yacc.c$$                                
 \
+  prohibit_always-defined_macros+=?|^src/(parse-gram.c|system.h)$$             
 \
+  prohibit_always-defined_macros+=?|^tests/regression.at$$                     
 \
+  prohibit_doubled_word=^tests/named-refs.at$$                                 
 \
+  prohibit_magic_number_exit=^doc/bison.texi$$                                 
 \
+  prohibit_magic_number_exit+=?|^tests/(conflicts|regression).at$$             
 \
+  prohibit_strcmp=^doc/bison\.texi|tests/local\.at$$                           
 \
+  prohibit_tab_based_indentation=install-icc.sh|\.(am|mk)$$|^\.git|Makefile$$  
 \
+  require_config_h_first=^(lib/yyerror|data/(glr|yacc))\.c$$                   
 \
+  space_before_open_paren=^data/                                               
 \
+  two_space_separator_in_usage=^(bootstrap|build-aux/install-icc.sh)           
 \
+  unmarked_diagnostics=^(doc/bison.texi$$|tests/c\+\+\.at$$)                   
 \
 )
diff --git a/djgpp/Makefile.maint b/djgpp/Makefile.maint
deleted file mode 100644
index 1d969d18..00000000
--- a/djgpp/Makefile.maint
+++ /dev/null
@@ -1,37 +0,0 @@
-# DJGPP Maintainer's Makefile                                    -*-Makefile-*-
-# Requires GNU sed
-
-## Copyright (C) 2005-2015, 2018 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 3 of the License, 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/>.
-
-top_srcdir = ..
-srcdir = .
-
-SHELL = /bin/sh
-
-all: README
-
-README: README.in $(top_srcdir)/configure
-       PACKAGE=`grep "^[        ]*PACKAGE=" $(top_srcdir)/configure | sed -e 
's/^[      ]*PACKAGE=//' -e s/[\"\']//g`; \
-       VERSION=`grep "^[        ]*VERSION=" $(top_srcdir)/configure | sed -e 
's/^[      ]*VERSION=//' -e s/[\"\']//g`; \
-       package_version=`echo "$${VERSION}" | sed 's/\.//g'`; \
-       tree_version=`echo "$${VERSION}" | sed 's/\.//2g'`; \
-       sed \
-           -e "s/@V@/$${PACKAGE}-$${VERSION}/g" \
-           -e "s/@VERSION@/$${VERSION}/g" \
-           -e "s/@PACKAGE_VERSION@/$$package_version/g" \
-           -e "s/@TREE_VERSION@/$$tree_version/g" \
-         $(srcdir)/README.in > t-$@
-       mv t-$@ $@
diff --git a/djgpp/README.in b/djgpp/README.in
deleted file mode 100644
index e2becfaa..00000000
--- a/djgpp/README.in
+++ /dev/null
@@ -1,195 +0,0 @@
-This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
-
-Copyright (C) 2005-2015, 2018 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 3 of the License, 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/>.
-
-
-1.:     DJGPP specific changes.
-       =======================
-
-       The DJGPP port of Bison offers LFN and SFN support depending on which
-       OS it is running. If LFN support is available or not is determined at
-       run time.  If LFN support is available (DOS session under Win9X, Win2K,
-       WinXP, etc.) the standard posix file name extensions will be used.
-       These are: y.tab.c, y.tab.c++, y.tab.h, y.output, etc.  If only SFN
-       support is available (plain DOS), then the standard MSDOS short file
-       names will be used. These are: y_tab.c, y_tab.h, y.out, etc.
-       It should be noticed that this bison version needs the m4 program as
-       back end to generate the parser file (y.tab.c etc.) from the skeleton
-       files.  This implies that m4 must always be installed to get bison
-       working.  m4 will use a couple of m4 scripts that will be installed in
-       /dev/env/DJDIR/share/bison and shall not be removed.
-       It should also be noticed that the skeleton files bison.simple and
-       bison.hairy are no longer supported.  This applies also to the environ-
-       ment variables BISON_HAIRY and BISON_SIMPLE.  Those variables are *no*
-       longer honored at all.
-       The kind of skeleton file bison.hairy is no longer supported at all.
-       The skeleton file bison.simple is now called yacc.c and is an m4 script.
-       The other two skeleton files supported by this bison version are glr.c
-       and lalr1.cc.  The first one is a generalized LR C parser based on
-       Bison's LALR(1) tables and the second one is a experimental C++ parser
-       class.
-       As has been told before, bison uses m4 to generate the parser file.
-       This is done by forking and using pipes for the IPC.  MSDOS does not
-       support this functionality so this has been reproduced in the usual
-       way by redirecting stdin and stdout of bison and m4 to temporary files
-       and processing these files in sequence.
-       It should be noticed that due to the great amount of file names that do
-       not cleanly map to 8.3 file names, you will need an OS with LFN support
-       to configure and compile the sources. On Win98 this implies that the
-       generation of numeric tails for 8.3 file name aliases must be enabled
-       or the compilation will fail.
-
-
-       Please **read** the docs.
-
-
-2.:     Installing the binary package.
-       ==============================
-
-2.1.:   Copy the binary distribution into the top DJGPP installation directory,
-       just unzip it preserving the directory structure running *ONE* of the
-       following commands:
-         unzip32 address@hidden@b.zip      or
-         djtarx address@hidden@b.zip       or
-         pkunzip -d address@hidden@b.zip
-
-
-
-3.:     Building the binaries from sources.
-       ===================================
-
-3.1.:   Create a temporary directory and copy the source package into the
-       directory.  If you download the source distribution from one of the
-       DJGPP sites, just unzip it preserving the directory structure
-       running *ONE* of the following commands:
-         unzip32 address@hidden@s.zip      or
-         djtarx address@hidden@s.zip       or
-         pkunzip -d address@hidden@s.zip
-       and proceed to the paragraph 3.3, below.
-
-3.2.:   Source distributions downloaded from one of the GNU FTP sites need
-       some more work to unpack, if LFN support is not available.  If LFN is
-       available then you can extract the source files from the archive with
-       any unzip program and proceed to the paragraph 3.3, below.  Any file
-       name issue will be handled by the DJGPP configuration files.
-       To unpack the source distribution on SFN systems, first, you MUST use
-       the `djunpack' batch file to unzip the package.  That is because some
-       file names in the official distributions need to be changed to avoid
-       problems on the various platforms supported by DJGPP.
-       `djunpack' invokes the `djtar' program (that is part of the basic DJGPP
-       development kit) to rename these files on the fly given a file with
-       name mappings; the distribution includes a file `djgpp/fnchange.lst'
-       with the necessary mappings.  So you need first to retrieve that batch
-       file, and then invoke it to unpack the distribution.  Here's how:
-
-         djtar -x -p -o address@hidden@/djgpp/djunpack.bat 
address@hidden@.tar.gz > djunpack.bat
-         djunpack address@hidden@.tar.gz
-
-       (The name of the distribution archive and the leading directory of the
-       path to `djunpack.bat' in the distribution will be different for
-       versions of Bison other than @address@hidden)
-
-       If the argument to `djunpack.bat' include leading directories, it MUST
-       be given with the DOS-style backslashes; Unix-style forward slashes
-       will NOT work.
-
-       If the distribution comes as a .tar.bz2 archive, and your version of
-       `djtar' doesn't support bzip2 decompression, you need to unpack it as
-       follows:
-
-         bnzip2 address@hidden@.tar.bz2
-         djtar -x -p -o address@hidden@/djgpp/djunpack.bat address@hidden@.tar 
> djunpack.bat
-         djunpack address@hidden@.tar
-
-3.3.:   To build the binaries you will need the following binary packages:
-         djdev203.zip (or a later but NOT a prior version)
-         bsh204b.zip  (or a later but NOT a prior version)
-          gccNNNb.zip, gppNNN.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip,
-          perlNNNb.zip, shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip,
-          sedNNNb.zip and m4NNN.zip
-
-       If you want to run the check you will need also:
-         difNNNb.zip
-
-       NNN represents the latest version number of the binary packages. All
-       this packages can be found in the /v2gnu directory of any
-       ftp.delorie.com mirror.
-       You will need bsh204b.zip or later and *NOT* a prior version or
-       the build will fail.  The same applies to djdev203.zip.  Please note
-       that Bison requires m4-144b.zip or later to work properly.
-
-3.4.:   If for some reason you want to reconfigure the package cd into the top
-       srcdir (address@hidden@) and run the following commands:
-         del djgpp\config.cache
-         make clean
-         djgpp\config
-
-       Please note that you *MUST* delete the config.cache file in the djgpp
-       subdir or you will not really reconfigure the sources because the
-       configuration informations will be read from the cache file instead
-       of being newly computed.
-       To build the programs in a directory other than where the sources are,
-       you must add the parameter that specifies the source directory,
-       e.g:
-         x:address@hidden@\djgpp\config x:/src/gnu/address@hidden@
-
-       Lets assume you want to build the binaries in a directory placed on a
-       different drive (z:\build in this case) from where the sources are,
-       then you will run the following commands:
-         z:
-         md \build
-         cd \build
-         x:address@hidden@\djgpp\config x:/src/gnu/address@hidden@
-
-       The order of the options and the srcdir option does not matter.  You
-       *MUST* use forward slashes to specify the source directory.
-
-       The batch file will set same environment variables, make MSDOS specific
-       modifications to the Makefile.in's and supply all other needed options
-       to the configure script.
-
-3.5.:   To compile the package run from the top srcdir the command:
-         make
-
-3.6.:   Now you can run the tests if you like.  From the top srcdir run the
-       command:
-         make check
-
-       No test should fail but the tests #131 (Doxygen Public Documentation)
-       and #132 (Doxygen Private Documentation) will be skipped.  Please note
-       that the testsuite only works with LFN available.  On plain DOS, most
-       of the tests will fail due to invalid DOS names.
-
-3.7.:   To install the binaries, header, library, catalogs, and info docs
-       run the following command from the top srcdir:
-         make install
-
-       This will install the products into your DJGPP installation tree given
-       by the default prefix "/dev/env/DJDIR".  If you prefer to install them
-       into some other directory you will have to set prefix to the appropriate
-       value:
-         make install prefix=z:/some/other/place
-
-
-
-       Send GNU bison specific bug reports to <address@hidden>.
-       Send suggestions and bug reports concerning the DJGPP port to
-       comp.os.msdos.djgpp or <address@hidden>.
-
-
-Enjoy.
-
-       Guerrero, Juan Manuel <address@hidden>
diff --git a/djgpp/config.bat b/djgpp/config.bat
deleted file mode 100644
index ae0af745..00000000
--- a/djgpp/config.bat
+++ /dev/null
@@ -1,547 +0,0 @@
address@hidden off
-Rem Configure Bison for DJGPP.
-
-Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
-Rem format, or else stock DOS/Windows shells will refuse to run it.
-
-Rem Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
-
-Rem This program is free software: you can redistribute it and/or modify
-Rem it under the terms of the GNU General Public License as published by
-Rem the Free Software Foundation, either version 3 of the License, or
-Rem (at your option) any later version.
-Rem
-Rem This program is distributed in the hope that it will be useful,
-Rem but WITHOUT ANY WARRANTY; without even the implied warranty of
-Rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-Rem GNU General Public License for more details.
-Rem
-Rem You should have received a copy of the GNU General Public License
-Rem along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-echo Configuring Bison for DJGPP v2.x...
-
-Rem The SmallEnv tests protect against fixed and too small size
-Rem of the environment in stock DOS shell.
-
-Rem Find out if NLS is wanted or not,
-Rem if dependency-tracking is wanted or not,
-Rem if caching is wanted or not
-Rem and where the sources are.
-Rem We always default to NLS support,
-Rem no dependency tracking
-Rem and to in place configuration.
-set ARGS=
-set NLS=enabled
-if not "%NLS%" == "enabled" goto SmallEnv
-set CACHING=enabled
-if not "%CACHING%" == "enabled" goto SmallEnv
-set DEPENDENCY_TRACKING=disabled
-if not "%DEPENDENCY_TRACKING%" == "disabled" goto SmallEnv
-set LIBICONV_PREFIX=disabled
-if not "%LIBICONV_PREFIX%" == "disabled" goto SmallEnv
-set LIBINTL_PREFIX=disabled
-if not "%LIBINTL_PREFIX%" == "disabled" goto SmallEnv
-set HTML=enabled
-if not "%HTML%" == "enabled" goto SmallEnv
-set XSRC=.
-if not "%XSRC%" == "." goto SmallEnv
-
-Rem Loop over all arguments.
-Rem Special arguments are: NLS, XSRC, CACHE, STATIC_LIBS, LIBICONV_PREFIX, 
LIBINTL_PREFIX and DEPS.
-Rem All other arguments are stored into ARGS.
-:ArgLoop
-if "%1" == "nls" goto NextArgument
-if "%1" == "NLS" goto NextArgument
-if "%1" == "no-nls" goto NoNLS
-if "%1" == "no-NLS" goto NoNLS
-if "%1" == "NO-NLS" goto NoNLS
-goto CachingOption
-:NoNLS
-if "%1" == "no-nls" set NLS=disabled
-if "%1" == "no-NLS" set NLS=disabled
-if "%1" == "NO-NLS" set NLS=disabled
-if not "%NLS%" == "disabled" goto SmallEnv
-goto NextArgument
-:CachingOption
-if "%1" == "cache" goto NextArgument
-if "%1" == "CACHE" goto NextArgument
-if "%1" == "no-cache" goto NoCaching
-if "%1" == "no-CACHE" goto NoCaching
-if "%1" == "NO-CACHE" goto NoCaching
-goto DependencyOption
-:NoCaching
-if "%1" == "no-cache" set CACHING=disabled
-if "%1" == "no-CACHE" set CACHING=disabled
-if "%1" == "NO-CACHE" set CACHING=disabled
-if not "%CACHING%" == "disabled" goto SmallEnv
-goto NextArgument
-:DependencyOption
-if "%1" == "no-dep" goto NextArgument
-if "%1" == "no-DEP" goto NextArgument
-if "%1" == "NO-DEP" goto NextArgument
-if "%1" == "dep" goto DependecyTracking
-if "%1" == "DEP" goto DependecyTracking
-goto LibiconvPrefixOption
-:DependecyTracking
-if "%1" == "dep" set DEPENDENCY_TRACKING=enabled
-if "%1" == "DEP" set DEPENDENCY_TRACKING=enabled
-if not "%DEPENDENCY_TRACKING%" == "enabled" goto SmallEnv
-goto NextArgument
-:LibiconvPrefixOption
-if "%1" == "no-libiconvprefix" goto NextArgument
-if "%1" == "no-LIBICONVPREFIX" goto NextArgument
-if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
-if "%1" == "libiconvprefix" goto WithLibiconvPrefix
-if "%1" == "LIBICONVPREFIX" goto WithLibiconvPrefix
-goto LibintlPrefixOption
-:WithLibiconvPrefix
-if "%1" == "libiconvprefix" set LIBICONV_PREFIX=enabled
-if "%1" == "LIBICONVPREFIX" set LIBICONV_PREFIX=enabled
-if not "%LIBICONV_PREFIX%" == "enabled" goto SmallEnv
-goto NextArgument
-:LibintlPrefixOption
-if "%1" == "no-libiconvprefix" goto NextArgument
-if "%1" == "no-LIBICONVPREFIX" goto NextArgument
-if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
-if "%1" == "libintlprefix" goto _WithLibintlPrefix
-if "%1" == "LIBINTLPREFIX" goto _WithLibintlPrefix
-goto HTMLOption
-:_WithLibintlPrefix
-if "%1" == "libintlprefix" set LIBINTL_PREFIX=enabled
-if "%1" == "LIBINTLPREFIX" set LIBINTL_PREFIX=enabled
-if not "%LIBINTL_PREFIX%" == "enabled" goto SmallEnv
-:HTMLOption
-if "%1" == "withhtml" goto NextArgument
-if "%1" == "withHTML" goto NextArgument
-if "%1" == "WITHHTML" goto NextArgument
-if "%1" == "withouthtml" goto _WithoutHTML
-if "%1" == "withoutHTML" goto _WithoutHTML
-if "%1" == "WITHOUTHTML" goto _WithoutHTML
-goto SrcDirOption
-:_WithoutHTML
-if "%1" == "withouthtml" set HTML=disabled
-if "%1" == "withoutHTML" set HTML=disabled
-if "%1" == "WITHOUTHTML" set HTML=disabled
-if not "%HTML%" == "disabled" goto SmallEnv
-goto NextArgument
-:SrcDirOption
-echo %1 | grep -q "/"
-if errorlevel 1 goto CollectArgument
-set XSRC=%1
-if not "%XSRC%" == "%1" goto SmallEnv
-goto NextArgument
-:CollectArgument
-set _ARGS=%ARGS% %1
-if not "%_ARGS%" == "%ARGS% %1" if not "%_ARGS%" == "%ARGS%%1" goto SmallEnv
-echo %_ARGS% | grep -q "[^ ]"
-if not errorlevel 0 set ARGS=%_ARGS%
-set _ARGS=
-:NextArgument
-shift
-if not "%1" == "" goto ArgLoop
-
-Rem Create an arguments file for the configure script.
-echo --srcdir=%XSRC% > args
-if "%CACHING%" == "enabled"              echo 
--cache-file=%XSRC%/djgpp/config.cache >> args
-if "%DEPENDENCY_TRACKING%" == "enabled"  echo --enable-dependency-tracking >> 
args
-if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> 
args
-if "%LIBICONV_PREFIX%" == "enabled"      echo --with-libiconv-prefix >> args
-if "%LIBICONV_PREFIX%" == "disabled"     echo --without-libiconv-prefix >> args
-if "%LIBINTL_PREFIX%" == "enabled"       echo --with-libintl-prefix >> args
-if "%LIBINTL_PREFIX%" == "disabled"      echo --without-libintl-prefix >> args
-if "%HTML%" == "enabled"                 echo --enable-html >> args
-if "%HTML%" == "disabled"                echo --disable-html >> args
-if not "%ARGS%" == ""                    echo %ARGS% >> args
-set ARGS=
-set CACHING=
-set DEPENDENCY_TRACKING=
-set LIBICONV_PREFIX=
-set LIBINTL_PREFIX=
-set HTML=
-
-if "%XSRC%" == "." goto InPlace
-
-:NotInPlace
-redir -e /dev/null update %XSRC%/configure.org ./configure
-test -f ./configure
-if errorlevel 1 update %XSRC%/configure ./configure
-
-:InPlace
-Rem Update configuration files
-echo Updating configuration scripts...
-test -f ./configure.org
-if errorlevel 1 update configure configure.org
-sed -f %XSRC%/djgpp/config.sed configure.org > configure
-if errorlevel 1 goto SedError
-
-Rem Make sure they have a config.site file
-set CONFIG_SITE=%XSRC%/djgpp/config.site
-if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv
-
-Rem inttypes_.h and inttypes.h map to the same 8.3 alias.
-test -f %XSRC%/lib/inttypes_.h
-if not errorlevel 1 mv -f %XSRC%/lib/inttypes_.h %XSRC%/lib/_inttypes.h
-
-Rem Make sure crucial file names are not munged by unpacking
-test -f %XSRC%/po/Makefile.in.in
-if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in
-test -f %XSRC%/po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/po/Makefile.in %XSRC%/po/Makefile.in-in
-test -f %XSRC%/po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/po/Makefile.inin %XSRC%/po/Makefile.in-in
-test -f %XSRC%/po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/po/Makefile.in_in %XSRC%/po/Makefile.in-in
-test -f %XSRC%/po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/po/Makefile_in.in %XSRC%/po/Makefile.in-in
-test -f %XSRC%/runtime-po/Makefile.in.in
-if not errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in.in 
%XSRC%/runtime-po/Makefile.in-in
-test -f %XSRC%/runtime-po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in 
%XSRC%/runtime-po/Makefile.in-in
-test -f %XSRC%/runtime-po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.inin 
%XSRC%/runtime-po/Makefile.in-in
-test -f %XSRC%/runtime-po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile.in_in 
%XSRC%/runtime-po/Makefile.in-in
-test -f %XSRC%/runtime-po/Makefile.in-in
-if errorlevel 1 mv -f %XSRC%/runtime-po/Makefile_in.in 
%XSRC%/runtime-po/Makefile.in-in
-test -f %XSRC%/data/c++.m4
-if not errorlevel 1 mv -f %XSRC%/data/c++.m4 %XSRC%/data/cxx.m4
-test -f %XSRC%/data/cxx.m4
-if errorlevel 1 mv -f %XSRC%/data/cpp.m4 %XSRC%/data/cxx.m4
-test -f %XSRC%/data/c++-skel.m4
-if not errorlevel 1 mv -f %XSRC%/data/c++-skel.m4 %XSRC%/data/cxx-skel.m4
-test -f %XSRC%/data/cxx-skel.m4
-if errorlevel 1 mv -f %XSRC%/data/cpp-skel.m4 %XSRC%/data/cxx-skel.m4
-test -f %XSRC%/build-aux/javacomp.sh.in
-if not errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh.in 
%XSRC%/build-aux/javacomp.sh-in
-test -f %XSRC%/build-aux/javacomp.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh 
%XSRC%/build-aux/javacomp.sh-in
-test -f %XSRC%/build-aux/javacomp.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.shin 
%XSRC%/build-aux/javacomp.sh-in
-test -f %XSRC%/build-aux/javacomp.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh_in 
%XSRC%/build-aux/javacomp.sh-in
-test -f %XSRC%/build-aux/javacomp.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javacomp.sh.in 
%XSRC%/build-aux/javacomp.sh-in
-test -f %XSRC%/build-aux/javaexec.sh.in
-if not errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh.in 
%XSRC%/build-aux/javaexec.sh-in
-test -f %XSRC%/build-aux/javaexec.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh 
%XSRC%/build-aux/javaexec.sh-in
-test -f %XSRC%/build-aux/javaexec.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.shin 
%XSRC%/build-aux/javaexec.sh-in
-test -f %XSRC%/build-aux/javaexec.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javaexec.sh_in 
%XSRC%/build-aux/javaexec.sh-in
-test -f %XSRC%/build-aux/javaexec.sh-in
-if errorlevel 1 mv -f %XSRC%/build-aux/javaexec_sh.in 
%XSRC%/build-aux/javaexec.sh-in
-test -f %XSRC%/doc/yacc.1.in
-if not errorlevel 1 mv -f %XSRC%/doc/yacc.1.in %XSRC%/doc/yacc.1-in
-test -f %XSRC%/doc/yacc.1-in
-if errorlevel 1 mv -f %XSRC%/doc/yacc.1 %XSRC%/doc/yacc.1-in
-test -f %XSRC%/doc/yacc.1-in
-if errorlevel 1 mv -f %XSRC%/doc/yacc.1in %XSRC%/doc/yacc.1-in
-test -f %XSRC%/doc/yacc.1-in
-if errorlevel 1 mv -f %XSRC%/doc/yacc.1_in %XSRC%/doc/yacc.1-in
-test -f %XSRC%/doc/yacc.1-in
-if errorlevel 1 mv -f %XSRC%/doc/yacc_1.in %XSRC%/doc/yacc.1-in
-test -f %XSRC%/etc/bench.pl.in
-if not errorlevel 1 mv -f %XSRC%/etc/bench.pl.in %XSRC%/etc/bench.pl-in
-test -f %XSRC%/etc/bench.pl-in
-if errorlevel 1 mv -f %XSRC%/etc/bench.pl %XSRC%/etc/bench.pl-in
-test -f %XSRC%/etc/bench.pl-in
-if errorlevel 1 mv -f %XSRC%/etc/bench.plin %XSRC%/etc/bench.pl-in
-test -f %XSRC%/etc/bench.pl-in
-if errorlevel 1 mv -f %XSRC%/etc/bench.pl_in %XSRC%/etc/bench.pl-in
-test -f %XSRC%/etc/bench.pl-in
-if errorlevel 1 mv -f %XSRC%/etc/bench_pl.in %XSRC%/etc/bench.pl-in
-
-:scan_gram_c_Test
-test -f %XSRC%/src/c-scan-gram.c
-if not errorlevel 1 goto scan_skel_c_Test
-test -f %XSRC%/src/scan-gram-c.c
-if not errorlevel 1 mv -f %XSRC%/src/scan-gram-c.c %XSRC%/src/c-scan-gram.c
-:scan_skel_c_Test
-test -f %XSRC%/src/c-scan-skel.c
-if not errorlevel 1 goto FixFiles
-test -f %XSRC%/src/scan-skel-c.c
-if not errorlevel 1 mv -f %XSRC%/src/scan-skel-c.c %XSRC%/src/c-scan-skel.c
-
-:FixFiles
-Rem Fix data/lalr1.cc and data/location.cc to reflect the renaming of c++.m4
-sed "s/c++\.m4/cxx.m4/" %XSRC%/data/lalr1.cc > lalr1.cc
-if errorlevel 1 goto lalr1_ccFileError
-mv ./lalr1.cc %XSRC%/data/lalr1.cc
-sed "s/c++\.m4/cxx.m4/" %XSRC%/data/location.cc > location.cc
-if errorlevel 1 goto location_ccFileError
-mv ./location.cc %XSRC%/data/location.cc
-sed "s/c++\.m4/cxx.m4/" %XSRC%/data/glr.cc > glr.cc
-if errorlevel 1 goto glr_ccFileError
-mv ./glr.cc %XSRC%/data/glr.cc
-
-Rem Fix src/getargs.c to reflect the renaming of c++-skel.m4
-sed "s/c++-skel\.m4/cxx-skel.m4/" %XSRC%/src/getargs.c > getargs.c
-if errorlevel 1 goto getargs_cFileError
-mv ./getargs.c %XSRC%/src/getargs.c
-
-Rem Define DJGPP specific defs in config.hin
-echo Editing config.hin...
-test -f %XSRC%/lib/config_h.org
-if errorlevel 1 update %XSRC%/lib/config.hin %XSRC%/lib/config_h.org
-sed -f %XSRC%/djgpp/config_h.sed %XSRC%/lib/config_h.org > config.hin
-if errorlevel 1 goto SedError2
-mv -f config.hin %XSRC%/lib/config.hin
-
-
-Rem Fixing illicit testsuite file name.
-test -f %XSRC%/tests/c++.at
-if not errorlevel 1 mv -f %XSRC%/tests/c++.at %XSRC%/tests/cxx.at
-
-test -f %XSRC%/tests/testsuite.org
-if errorlevel 1 update %XSRC%/tests/testsuite %XSRC%/tests/testsuite.org
-sed -f %XSRC%/djgpp/testsuite.sed %XSRC%/tests/testsuite.org > testsuite.tmp
-if errorlevel 1 goto SedError3
-mv -f ./testsuite.tmp %XSRC%/tests/testsuite
-
-Rem Fixing illicit calc++ file names in the calc++ directory.
-test -d %XSRC%/examples/calc++
-if not errorlevel 1 mv -f %XSRC%/examples/calc++ %XSRC%/examples/calcxx
-test -d %XSRC%/examples/calcxx
-if errorlevel 1 mv -f %XSRC%/examples/calcpp %XSRC%/examples/calcxx
-test -f %XSRC%/examples/calcxx/calc++-scanner.cc
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.cc 
%XSRC%/examples/calcxx/calcxx-scanner.cc
-test -f %XSRC%/examples/calcxx/calcxx-scanner.cc
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.cc 
%XSRC%/examples/calcxx/calcxx-scanner.cc
-test -f %XSRC%/examples/calcxx/calc++-scanner.ll
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-scanner.ll 
%XSRC%/examples/calcxx/calcxx-scanner.ll
-test -f %XSRC%/examples/calcxx/calcxx-scanner.ll
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-scanner.ll 
%XSRC%/examples/calcxx/calcxx-scanner.ll
-test -f %XSRC%/examples/calcxx/calc++-driver.cc
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.cc 
%XSRC%/examples/calcxx/calcxx-driver.cc
-test -f %XSRC%/examples/calcxx/calcxx-driver.cc
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.cc 
%XSRC%/examples/calcxx/calcxx-driver.cc
-test -f %XSRC%/examples/calcxx/calc++-driver.hh
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-driver.hh 
%XSRC%/examples/calcxx/calcxx-driver.hh
-test -f %XSRC%/examples/calcxx/calcxx-driver.hh
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-driver.hh 
%XSRC%/examples/calcxx/calcxx-driver.hh
-test -f %XSRC%/examples/calcxx/calc++-parser.cc
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.cc 
%XSRC%/examples/calcxx/calcxx-parser.cc
-test -f %XSRC%/examples/calcxx/calcxx-parser.cc
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.cc 
%XSRC%/examples/calcxx/calcxx-parser.cc
-test -f %XSRC%/examples/calcxx/calc++-parser.hh
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.hh 
%XSRC%/examples/calcxx/calcxx-parser.hh
-test -f %XSRC%/examples/calcxx/calcxx-parser.hh
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.hh 
%XSRC%/examples/calcxx/calcxx-parser.hh
-test -f %XSRC%/examples/calcxx/calc++-parser.stamp
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.stamp 
%XSRC%/examples/calcxx/calcxx-parser.stamp
-test -f %XSRC%/examples/calcxx/calcxx-parser.stamp
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.stamp 
%XSRC%/examples/calcxx/calcxx-parser.stamp
-test -f %XSRC%/examples/calcxx/calc++-parser.yy
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++-parser.yy 
%XSRC%/examples/calcxx/calcxx-parser.yy
-test -f %XSRC%/examples/calcxx/calcxx-parser.yy
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp-parser.yy 
%XSRC%/examples/calcxx/calcxx-parser.yy
-test -f %XSRC%/examples/calcxx/calc++.cc
-if not errorlevel 1 mv -f %XSRC%/examples/calcxx/calc++.cc 
%XSRC%/examples/calcxx/calcxx.cc
-test -f %XSRC%/examples/calcxx/calcxx.cc
-if errorlevel 1 mv -f %XSRC%/examples/calcxx/calcpp.cc 
%XSRC%/examples/calcxx/calcxx.cc
-
-Rem Fixing #include lines in calcxx files.
-sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx.cc > 
calcxx.cc
-if errorlevel 1 goto calcxxFileError
-mv ./calcxx.cc %XSRC%/examples/calcxx/calcxx.cc
-sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.cc > 
calcxx-driver.cc
-if errorlevel 1 goto calcxxFileError
-mv ./calcxx-driver.cc %XSRC%/examples/calcxx/calcxx-driver.cc
-sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-driver.hh > 
calcxx-driver.hh
-if errorlevel 1 goto calcxxFileError
-mv ./calcxx-driver.hh %XSRC%/examples/calcxx/calcxx-driver.hh
-sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.cc > 
calcxx-parser.cc
-if errorlevel 1 goto calcxxFileError
-mv ./calcxx-parser.cc %XSRC%/examples/calcxx/calcxx-parser.cc
-sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.hh > 
calcxx-parser.hh
-if errorlevel 1 goto calcxxFileError
-mv ./calcxx-parser.hh %XSRC%/examples/calcxx/calcxx-parser.hh
-:sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-parser.yy > 
calcxx-parser.yy
-:if errorlevel 1 goto calcxxFileError
-:mv ./calcxx-parser.yy %XSRC%/examples/calcxx/calcxx-parser.yy
-sed "/#[        ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.cc > 
calcxx-scanner.cc
-if errorlevel 1 goto calcxxFileError
-mv ./calcxx-scanner.cc %XSRC%/examples/calcxx/calcxx-scanner.cc
-:sed "/#[       ]*include/s/++/xx/" %XSRC%/examples/calcxx/calcxx-scanner.ll > 
calcxx-scanner.ll
-:if errorlevel 1 goto calcxxFileError
-:mv ./calcxx-scanner.ll %XSRC%/examples/calcxx/calcxx-scanner.ll
-sed "s/calc++/calcxx/" %XSRC%/examples/calcxx/test > test
-if errorlevel 1 goto calcxxFileError
-mv ./test %XSRC%/examples/calcxx/test
-
-
-Rem Fixing the scanner files to make file names 8.3 valid.
-Rem Use only if you want to change the scan-gram.l and scan-skel.l files.
-: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-gram.l > scan-gram.l
-: if errorlevel 1 goto ScannerFileError
-: mv ./scan-gram.l %XSRC%/src/scan-gram.l
-: sed "/outfile=/s/\.yy/yy/" %XSRC%/src/scan-skel.l > scan-skel.l
-: if errorlevel 1 goto ScannerFileError
-: mv ./scan-skel.l %XSRC%/src/scan-skel.l
-
-
-Rem This is required because DOS/Windows are case-insensitive
-Rem to file names, and "make install" will do nothing if Make
-Rem finds a file called `install'.
-if exist INSTALL ren INSTALL INSTALL.txt
-
-Rem Set SHELL to a sane default or some configure tests stop working
-Rem if the package is configured across partitions.
-if not "%SHELL%" == "" goto HomeName
-set SHELL=/bin/sh
-if not "%SHELL%" == "/bin/sh" goto SmallEnv
-echo No SHELL found in the environment, using default value
-
-:HomeName
-Rem Set HOME to a sane default so configure stops complaining.
-if not "%HOME%" == "" goto HostName
-set HOME=%XSRC%/djgpp
-if not "%HOME%" == "%XSRC%/djgpp" goto SmallEnv
-echo No HOME found in the environment, using default value
-
-:HostName
-Rem Set HOSTNAME so it shows in config.status
-if not "%HOSTNAME%" == "" goto hostdone
-if "%windir%" == "" goto msdos
-set OS=MS-Windows
-if not "%OS%" == "MS-Windows" goto SmallEnv
-goto haveos
-:msdos
-set OS=MS-DOS
-if not "%OS%" == "MS-DOS" goto SmallEnv
-:haveos
-if not "%USERNAME%" == "" goto haveuname
-if not "%USER%" == "" goto haveuser
-echo No USERNAME and no USER found in the environment, using default values
-set HOSTNAME=Unknown PC
-if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv
-goto userdone
-:haveuser
-set HOSTNAME=%USER%'s PC
-if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv
-goto userdone
-:haveuname
-set HOSTNAME=%USERNAME%'s PC
-if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv
-:userdone
-set _HOSTNAME=%HOSTNAME%, %OS%
-if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv
-set HOSTNAME=%_HOSTNAME%
-:hostdone
-set _HOSTNAME=
-set OS=
-
-Rem install-sh is required by the configure script but clashes with the
-Rem various Makefile install-foo targets, so we MUST have it before the
-Rem script runs and rename it afterwards
-test -f %XSRC%/install-sh
-if not errorlevel 1 goto NoRen0
-test -f %XSRC%/install-sh.sh
-if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh
-:NoRen0
-
-if "%NLS%" == "disabled" goto WithoutNLS
-
-:WithNLS
-Rem Check for the needed libraries and binaries.
-test -x /dev/env/DJDIR/bin/msgfmt.exe
-if errorlevel 1 goto MissingNLSTools
-test -x /dev/env/DJDIR/bin/xgettext.exe
-if errorlevel 1 goto MissingNLSTools
-test -f /dev/env/DJDIR/include/libcharset.h
-if errorlevel 1 goto MissingNLSTools
-test -f /dev/env/DJDIR/lib/libcharset.a
-if errorlevel 1 goto MissingNLSTools
-test -f /dev/env/DJDIR/include/iconv.h
-if errorlevel 1 goto MissingNLSTools
-test -f /dev/env/DJDIR/lib/libiconv.a
-if errorlevel 1 goto MissingNLSTools
-test -f /dev/env/DJDIR/include/libintl.h
-if errorlevel 1 goto MissingNLSTools
-test -f /dev/env/DJDIR/lib/libintl.a
-if errorlevel 1 goto MissingNLSTools
-
-Rem Recreate the files in the %XSRC%/po subdir with our ported tools.
-redir -e /dev/null rm %XSRC%/po/*.gmo
-redir -e /dev/null rm %XSRC%/po/bison.pot
-redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c
-redir -e /dev/null rm %XSRC%/po/stamp-cat-id
-
-Rem Update the arguments file for the configure script.
-Rem We prefer without-included-gettext because libintl.a from gettext package
-Rem is the only one that is guaranteed to have been ported to DJGPP.
-echo --enable-nls --without-included-gettext >> args
-goto ConfigurePackage
-
-:MissingNLSTools
-echo Needed libs/tools for NLS not found. Configuring without NLS.
-:WithoutNLS
-Rem Update the arguments file for the configure script.
-echo --disable-nls >> args
-
-:ConfigurePackage
-echo Running the ./configure script...
-sh ./configure @args
-if errorlevel 1 goto CfgError
-rm args
-echo Done.
-goto End
-
-:lalr1_ccFileError
-echo ./data/lalr1.cc file editing failed!
-goto End
-
-:glr_ccFileError
-echo ./data/glr.cc file editing failed!
-goto End
-
-:getargs_cFileError
-echo ./src/getargs.c file editing failed!
-goto End
-
-:location_ccFileError
-echo ./data/location.cc file editing failed!
-goto End
-
-:calcxxFileError
-echo ./examples/calcxx file editing failed!
-goto End
-
-:ScannerFileError
-echo ./scanner file editing failed!
-goto End
-
-:SedError
-echo ./configure script editing failed!
-goto End
-
-:SedError2
-echo ./lib/config.hin editing failed!
-goto End
-
-:SedError3
-echo ./tests/testsuite editing failed!
-goto End
-
-:CfgError
-echo ./configure script exited abnormally!
-goto End
-
-:SmallEnv
-echo Your environment size is too small.  Enlarge it and run me again.
-echo Configuration NOT done!
-
-:End
-test -f %XSRC%/install-sh.sh
-if not errorlevel 1 goto NoRen1
-test -f %XSRC%/install-sh
-if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh
-:NoRen1
-if "%SHELL%" == "/bin/sh" set SHELL=
-if "%HOME%" == "%XSRC%/djgpp" set HOME=
-set CONFIG_SITE=
-set HOSTNAME=
-set NLS=
-set XSRC=
diff --git a/djgpp/config.sed b/djgpp/config.sed
deleted file mode 100644
index 1a2d8c6c..00000000
--- a/djgpp/config.sed
+++ /dev/null
@@ -1,190 +0,0 @@
-# DJGPP specific configuration file.
-# Sed script for additional DJGPP specific editing
-# of the configure script generated by autoconf 2.62.
-
-# Copyright (C) 2005-2015, 2018 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 3 of the License, 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/>.
-
-
-# Additional editing of Makefiles
-/^eval sed.*ac_file_inputs.*tmp\/out \\$/ {
-:loop
-n
-/^$/!b loop
-a\
-cat > "$tmp/subs-djgpp.sed" << eof_djgpp\
-# DJGPP specific Makefile changes.\
-s,\\.deps,_deps,g\
-s,\\.libs,_libs,g\
-s,\\.new\\.,_new.,g\
-s,\\.old\\.,_old.,g\
-s,\\.tab\\.,_tab.,g\
-s,c++\\.at,cxx.at,g\
-s,c++\\.m4,cxx.m4,g\
-s,c++-skel\\.m4,cxx-skel.m4,g\
-s,calc++,calcxx,g\
-s,scan-gram-c,c-scan-gram,g\
-s,scan-skel-c,c-scan-skel,g\
-s,inttypes_,_inttypes,g\
-s,javacomp\\.sh\\.in,javacomp.sh-in,g\
-s,javaexec\\.sh\\.in,javaexec.sh-in,g\
-s,yacc\\.1\\.in,yacc.1-in,g\
-s,bench\\.pl\\.in,bench.pl-in,g\
-s,Makefile\\.am\\.in,Makefile.am-in,g\
-s,Makefile\\.in\\.in,Makefile.in-in,g\
-/^\\.y\\.c:/,/^$/ {\
-  /\\\$(YACCCOMPILE)/ {\
-    a\\\\\
-       address@hidden -f y.tab.c && mv -f y.tab.c y_tab.c\\\\\
-       address@hidden -f y.tab.h && mv -f y.tab.h y_tab.h\
-  }\
-}\
-/^libbison.a:/ i\\\\\
-\\$(top_srcdir)/djgpp/subpipe.c: \\$(top_srcdir)/djgpp/subpipe.h\\\\\
-subpipe.o: \\$(top_srcdir)/djgpp/subpipe.c \\$(top_srcdir)/djgpp/subpipe.h\\\\\
-       \\$(COMPILE) -c \\$<\
-/^yacc:/ i\\\\\
-yacc.bat:\\\\\
-       echo "bison\\$(EXEEXT) -y %1 %2 %3 %4 %5 %6 %7 %8 %9" >address@hidden
-/^bin_SCRIPTS =/s/$/ yacc.bat/\
-/^MOSTLYCLEANFILES = yacc/s/$/ yacc.bat/\
-/cross-options.texi:/,/^$/ s|bison|&.exe|g\
-/^\\.x\\.1:/,/^$/ s|\\$program|&.exe|g\
-eof_djgpp\
-sed -f "\$tmp/subs-djgpp.sed" \$tmp/out > \$tmp/out.djgpp\
-mv -f \$tmp/out.djgpp \$tmp/out
-}
-
-# Makefile.in.in is renamed to Makefile.in-in.
-/ac_config_files=/ {
-  /runtime-po/!s|po/Makefile\.in|&:po/Makefile.in-in|
-  s|runtime-po/Makefile\.in|&:runtime-po/Makefile.in-in|
-  s|javacomp\.sh\.in|javacomp.sh-in|
-  s|javaexec\.sh\.in|javaexec.sh-in|
-  s|doc/yacc\.1|&:doc/yacc.1-in|
-  s|etc/bench.pl|&:etc/bench.pl-in|
-}
-
-/CONFIG_FILES=/ {
-  /runtime-po/!s|po/Makefile\.in|&:po/Makefile.in-in|2
-  s|runtime-po/Makefile\.in|&:runtime-po/Makefile.in-in|2
-  s|javacomp\.sh\.in|javacomp.sh-in|
-  s|javaexec\.sh\.in|javaexec.sh-in|
-  s|doc/yacc\.1|&:doc/yacc.1-in|2
-  s|etc/bench\.pl|&:etc/bench.pl-in|2
-}
-
-# We always use _deps and _libs instead of .deps and .libs, because
-# the latter is an invalid name on 8+3 MS-DOS file system.  This makes
-# the generated Makefiles good for every DJGPP installation, not only
-# the one where the package was configured (which could happen to be
-# a Windows box, where leading dots in file names are allowed).
-/^rmdir[        ]*\.tst/ i\
-am__leading_dot=_
-
-# Replace (command) > /dev/null with `command > /dev/null`, since
-# parenthesized commands always return zero status in the ported Bash,
-# even if the named command doesn't exist
-/if ([^|;`]*null/{
-  s,(,`,
-  s,),,
-  /null[        ]*2>&1/ s,2>&1,&`,
-  /null.*null/ s,null.*null,&`,
-  /null.*null/ !{
-    /null[      ]*2>&1/ !s,null,&`,
-  }
-}
-
-# DOS-style absolute file names should be supported as well
-/\*) top_srcdir=/s,/\*,[\\\\/]* | ?:[\\\\/]*,
-
-# The following two items are changes needed for configuring
-# and compiling across partitions.
-# 1) The given srcdir value is always translated from the
-#    "x:" syntax into "/dev/x" syntax while we run configure.
-/^[     ]*-srcdir=\*.*$/ a\
-    ac_optarg=`echo "$ac_optarg" | sed "s,^\\([A-Za-z]\\):,/dev/\\1,"`
-/set X `ls -Lt \$srcdir/ i\
-   if `echo $srcdir | grep "^/dev/" - > /dev/null`; then\
-     srcdir=`echo "$srcdir" | sed -e "s%^/dev/%%" -e "s%/%:/%"`\
-   fi
-
-# Autoconf 2.52e generated configure scripts
-# write absolute paths into Makefiles and bison.in
-# making them useless for DJGPP installations for
-# which the package has not been configured for.
-/MISSING=/,/^$/ {
-  /^fi$/ a\
-am_missing_run=`echo "$am_missing_run" | sed 
's%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%'`
-}
-/^install_sh=/a\
-install_sh=`echo "$install_sh" | sed 
's%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%'`
-
-# This will only work if the assumption that the
-# testsuite is ran from the following path:
-#   ${top_srcdir}/tests/testsuite.dir
-# holds. The explicit names are of no importance.
-#   ../../. == ${top_srcdir}
-#/^esac$/,/^ac_abs_srcdir=/ {
-/^ac_abs_srcdir=/ i\
-ac_abs_builddir=`echo "$ac_abs_builddir" | sed 
"s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%"`\
-ac_abs_top_builddir=`echo "$ac_abs_top_builddir" | sed 
"s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%"`\
-ac_abs_top_srcdir=`echo "$ac_abs_top_srcdir" | sed 
"s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%"`
-#ac_abs_srcdir=`echo "$ac_abs_srcdir" | sed 
"s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%"`
-/^ac_abs_srcdir=/ a\
-for dj_dir in $ac_abs_builddir $ac_abs_top_builddir $ac_abs_top_srcdir 
$ac_abs_srcdir\
-do\
-  ac_abs_builddir=`echo "$ac_abs_builddir" | sed "s%//%/%g"`\
-  ac_abs_top_builddir=`echo "$ac_abs_top_builddir" | sed "s%//%/%g"`\
-  ac_abs_top_srcdir=`echo "$ac_abs_top_srcdir" | sed "s%//%/%g"`\
-  ac_abs_srcdir=`echo "$ac_abs_srcdir" | sed "s%//%/%g"`\
-done
-
-# Add DJGPP version information.
-/^#define VERSION/ s/\$VERSION/&  (DJGPP port (r1))/
-
-# We need makeinfo to make the html formated docs.
-/\$am_missing_run[      ]*makeinfo/ s,\$am_missing_run,,
-
-# The path to the FORTRAN compiler and libraries
-# shall contain no absolute path reference so it
-# will be good for all djgpp installations.
-/^FLIBS="\$ac_cv_flibs"/ i\
-ac_djgpp_path=`echo "$DJDIR" | sed 's%\\\\\\%/%g' | tr $as_cr_LETTERS 
$as_cr_letters`\
-ac_cv_flibs=`echo "$ac_cv_flibs" | sed "s%-L$ac_djgpp_path%-L/dev/env/DJDIR%g"`
-
-# Autoconf generated configure scripts write absolute
-# paths of certain header files into Makefiles making
-# them useless for DJGPP installations for which the
-# package has not been configured for.
-/^.*echo "\$as_me:\$LINENO: result: \$gl_cv_absolute_.*$/ {
-h
-s,^.*\(gl_cv_absolute_\)\([a-z0-9_]*\)\(_h\).*$,\1\2\3=`echo $\1\2\3 | sed 
"s%[^:]:.*/include/%/dev/env/DJDIR/include/%"`,
-G
-}
-/^.*echo "\$as_me:\$LINENO: result: \$gl_cv_full_.*$/ {
-h
-s,^.*\(gl_cv_full_\)\([a-z0-9_]*\)\(_h\).*$,\1\2\3=`echo $\1\2\3 | sed 
"s%[^:]:.*/include/%/dev/env/DJDIR/include/%"`,
-G
-}
-
-# The following is not a valid DOS file name
-s/calc++/calcxx/g
-
-# The CR test for awk does not work for DJGPP.
-/^ac_cs_awk_cr=/,/^$/ {
-  /^fi$/ a\
-ac_cs_awk_cr=$ac_cr
-}
diff --git a/djgpp/config.site b/djgpp/config.site
deleted file mode 100644
index c5e114ea..00000000
--- a/djgpp/config.site
+++ /dev/null
@@ -1,85 +0,0 @@
-#! /bin/sh
-
-# This is the config.site file for configuring GNU packages
-# which are to be built with DJGPP tools.
-
-# Copyright (C) 2005-2015, 2018 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 3 of the License, 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/>.
-
-
-# Include the djgpp subdirectory in PATH, so that getconf is found
-PATH="$srcdir/djgpp:$PATH"
-
-# These two variables are required, otherwise looking for
-# programs along the PATH will not work.
-PATH_SEPARATOR=:
-PATH_EXPAND=y
-
-# This is required in for "test -f foo" to find foo.exe
-export TEST_FINDS_EXE=y
-
-# The root of the DJGPP tree serves as the default prefix
-test "x$prefix" = xNONE && prefix='/dev/env/DJDIR'
-
-# This is required for config.status script to be run, since
-# ./configure runs it by invoking ${CONFIG_SHELL-/bin/sh}
-CONFIG_SHELL=${CONFIG_SHELL='sh'}
-
-# These are set here so the generated Makefile's will be good
-# for every DJGPP installation, not only the one where the
-# package was configured.
-# $INSTALL must be an absolute path name, otherwise config.status
-# will try to prepend ./ and ../ to it when it goes into subdirs.
-INSTALL=${INSTALL='/dev/env/DJDIR/bin/ginstall -c'}
-RANLIB=${RANLIB='ranlib'}
-GMSGFMT=${GMSGFMT='/dev/env/DJDIR/bin/msgfmt'}
-MSGFMT=${MSGFMT='/dev/env/DJDIR/bin/msgfmt'}
-XGETTEXT=${XGETTEXT='/dev/env/DJDIR/bin/xgettext'}
-AWK=${AWK='gawk'}
-
-# A sane default for emacs.
-ac_cv_path_EMACS=${EMACS='/dev/env/DJDIR/gnu/emacs/bin/emacs'}
-
-# A sane default for m4.
-ac_cv_path_M4=${M4='/dev/env/DJDIR/bin/m4'}
-
-# A sane default for grep.
-ac_cv_path_GREP=${GREP='/dev/env/DJDIR/bin/grep'}
-
-# A sane default for egrep.
-ac_cv_path_EGREP=${EGREP='/dev/env/DJDIR/bin/egrep'}
-
-# A sane default for fgrep.
-ac_cv_path_FGREP=${FGREP='/dev/env/DJDIR/bin/fgrep'}
-
-# A sane default for sed.
-ac_cv_path_SED=${SED='/dev/env/DJDIR/bin/sed'}
-
-# A sane default for mkdir.
-ac_cv_path_mkdir=${MKDIR_P='/dev/env/DJDIR/bin/mkdir -p'}
-
-# These are set here so the generated libtool will be good
-# for every DJGPP installation, not only the one where the
-# package was configured.
-NM=${NM='nm'}
-LD=${LD='ld'}
-
-# Force the test for 'ln -s' to report 'cp -pf'.
-ac_cv_prog_LN_S='cp -pf'
-
-# There is no fork and vfork functionality.
-ac_cv_func_fork=no
-ac_cv_func_vfork=no
-ac_cv_func_pipe=no
diff --git a/djgpp/config_h.sed b/djgpp/config_h.sed
deleted file mode 100644
index 3d6be931..00000000
--- a/djgpp/config_h.sed
+++ /dev/null
@@ -1,28 +0,0 @@
-# sed script for DJGPP specific editing of config.hin
-
-# Copyright (C) 2005-2015, 2018 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 3 of the License, 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/>.
-
-
-$ a\
-\
-\
-/* DJGPP specific defines.  */\
-\
-#include <unistd.h>\
-#define TAB_EXT     ((pathconf(NULL, _PC_NAME_MAX) > 12) ? ".tab" : "_tab")\
-#define OUTPUT_EXT  ((pathconf(NULL, _PC_NAME_MAX) > 12) ? ".output" : ".out")\
-\
-#define DEFAULT_TMPDIR  "/dev/env/DJDIR/tmp"
diff --git a/djgpp/djunpack.bat b/djgpp/djunpack.bat
deleted file mode 100644
index 1359db63..00000000
--- a/djgpp/djunpack.bat
+++ /dev/null
@@ -1,87 +0,0 @@
address@hidden off
-Rem
-Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
-Rem format, or else stock DOS/Windows shells will refuse to run it.
-Rem
-Rem This batch file unpacks the Bison distribution while simultaneously
-Rem renaming some of the files whose names are invalid on DOS or conflict
-Rem with other file names after truncation to DOS 8+3 namespace.
-Rem
-Rem Copyright (C) 2005-2015, 2018 Free Software Foundation, Inc.
-Rem
-Rem This program is free software: you can redistribute it and/or modify
-Rem it under the terms of the GNU General Public License as published by
-Rem the Free Software Foundation, either version 3 of the License, or
-Rem (at your option) any later version.
-Rem
-Rem This program is distributed in the hope that it will be useful,
-Rem but WITHOUT ANY WARRANTY; without even the implied warranty of
-Rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-Rem GNU General Public License for more details.
-Rem
-Rem You should have received a copy of the GNU General Public License
-Rem along with this program.  If not, see <http://www.gnu.org/licenses/>.
-Rem
-Rem
-Rem Invoke like this:
-Rem
-Rem     djunpack bison-XYZ.tar.gz
-Rem or
-Rem     djunpack bison-XYZ.tar.bz2
-Rem
-Rem where XYZ is the version number.  If the argument includes leading
-Rem directories, it MUST use backslashes, not forward slashes.
-Rem
-
-set ENVIRONMENT_SIZE_TEST_STRING=ENVIRONMENT_SIZE_TEST_STRING
-if "%ENVIRONMENT_SIZE_TEST_STRING%"=="ENVIRONMENT_SIZE_TEST_STRING" GoTo EnvOk
-Rem If their environment space is too small, re-exec with a larger one
-command.com /e:4096 /c %0 %1
-GoTo End
-
-:EnvOk
-set ENVIRONMENT_SIZE_TEST_STRING=
-if "%1" == "" GoTo NoArgument
-if not exist %1 GoTo NoArchive
-Rem Extract top src dir from archive file.
-djtar -t %1 > top_src.dir
-Rem The following uses a feature of COPY whereby it does not copy
-Rem empty files.  We need that because the previous line will create
-Rem an empty fnchange.tmp even if the command failed for some reason.
-copy top_src.dir junk.tmp > nul
-if not exist junk.tmp GoTo NoDjTar
-del junk.tmp
-sed "1{s/^.*bison-/djtar -x -p -o bison-/;s|$|djgpp/fnchange.lst %%1 > 
fnchange.tmp|};2,$d" top_src.dir > ext_list.bat
-Rem See the comment above about the reason for using COPY.
-copy ext_list.bat junk.tmp > nul
-if not exist junk.tmp GoTo NoSed
-del junk.tmp
-Rem Extract fnchange.lst from archive.
-call ext_list.bat %1
-del ext_list.bat
-sed "1{s|^.*bison-|s/@V@/bison-|;s|$|g|};2,$d" top_src.dir > version.sed
-sed -f version.sed < fnchange.tmp > fnchange.lst
-del version.sed
-del fnchange.tmp
-del top_src.dir
-Rem unpack the source distribution
-djtar -x -n fnchange.lst %1
-del fnchange.lst
-GoTo End
-
-:NoSed
-del junk.tmp
-echo FAIL: Sed is not available.
-GoTo End
-:NoDjTar
-del junk.tmp
-echo FAIL: DJTAR is not available or no fnchange.lst file in %1.
-GoTo End
-:NoArchive
-echo FAIL: the file %1 does not seem to exist.
-echo Remember that %1 cannot use forward slashes, only backslashes.
-GoTo End
-:NoArgument
-echo FAIL: no archive file has been specified.
-echo Remember that the file name cannot use forward slashes, only backslashes.
-:End
diff --git a/djgpp/fnchange.lst b/djgpp/fnchange.lst
deleted file mode 100644
index 1b43d9b2..00000000
--- a/djgpp/fnchange.lst
+++ /dev/null
@@ -1,27 +0,0 @@
address@hidden@/build-aux/javacomp.sh.in              
@V@/build-aux/javacomp.sh-in
address@hidden@/build-aux/javaexec.sh.in              
@V@/build-aux/javaexec.sh-in
address@hidden@/data/c++-skel.m4                      @V@/data/cxx-skel.m4
address@hidden@/data/c++.m4                           @V@/data/cxx.m4
address@hidden@/doc/yacc.1.in                         @V@/doc/yacc.1-in
address@hidden@/etc/bench.pl.in                       @V@/etc/bench.pl-in
address@hidden@/examples/calc++/                      @V@/examples/calcxx/
address@hidden@/examples/calc++/Makefile.am           
@V@/examples/calcxx/Makefile.am
address@hidden@/examples/calc++/Makefile.in           
@V@/examples/calcxx/Makefile.in
address@hidden@/examples/calc++/calc++-scanner.cc     
@V@/examples/calcxx/calcxx-scanner.cc
address@hidden@/examples/calc++/calc++-scanner.ll     
@V@/examples/calcxx/calcxx-scanner.ll
address@hidden@/examples/calc++/calc++.cc             
@V@/examples/calcxx/calcxx.cc
address@hidden@/examples/calc++/calc++-driver.hh      
@V@/examples/calcxx/calcxx-driver.hh
address@hidden@/examples/calc++/calc++-driver.cc      
@V@/examples/calcxx/calcxx-driver.cc
address@hidden@/examples/calc++/stack.hh              
@V@/examples/calcxx/stack.hh
address@hidden@/examples/calc++/position.hh           
@V@/examples/calcxx/position.hh
address@hidden@/examples/calc++/location.hh           
@V@/examples/calcxx/location.hh
address@hidden@/examples/calc++/calc++-parser.hh      
@V@/examples/calcxx/calcxx-parser.hh
address@hidden@/examples/calc++/calc++-parser.cc      
@V@/examples/calcxx/calcxx-parser.cc
address@hidden@/examples/calc++/calc++-parser.stamp   
@V@/examples/calcxx/calcxx-parser.stamp
address@hidden@/examples/calc++/calc++-parser.yy      
@V@/examples/calcxx/calcxx-parser.yy
address@hidden@/examples/calc++/test                  @V@/examples/calcxx/test
address@hidden@/po/Makefile.in.in                     @V@/po/Makefile.in-in
address@hidden@/runtime-po/Makefile.in.in             
@V@/runtime-po/Makefile.in-in
address@hidden@/src/scan-gram-c.c                     @V@/src/c-scan-gram.c
address@hidden@/src/scan-skel-c.c                     @V@/src/c-scan-skel.c
address@hidden@/tests/c++.at                          @V@/tests/cxx.at
diff --git a/djgpp/local.mk b/djgpp/local.mk
deleted file mode 100644
index 50b1a336..00000000
--- a/djgpp/local.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-## Copyright (C) 2008-2015, 2018 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 3 of the License, 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/>.
-
-EXTRA_DIST +=                                  \
-  djgpp/Makefile.maint                         \
-  djgpp/README.in                              \
-  djgpp/config.bat                             \
-  djgpp/config.sed                             \
-  djgpp/config.site                            \
-  djgpp/config_h.sed                           \
-  djgpp/djunpack.bat                           \
-  djgpp/fnchange.lst                           \
-  djgpp/subpipe.c                              \
-  djgpp/subpipe.h                              \
-  djgpp/testsuite.sed
diff --git a/djgpp/subpipe.c b/djgpp/subpipe.c
deleted file mode 100644
index f5de36ca..00000000
--- a/djgpp/subpipe.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/* Subprocesses with pipes.
-
-   Copyright (C) 2005-2015, 2018 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 3 of the License, 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/>.  */
-
-/* Written by Juan Manuel Guerrero <address@hidden>. */
-
-
-#include <config.h>
-
-#include "subpipe.h"
-
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <process.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "xalloc.h"
-
-
-#ifndef STDIN_FILENO
-# define STDIN_FILENO 0
-#endif
-#ifndef STDOUT_FILENO
-# define STDOUT_FILENO 1
-#endif
-
-
-#include "error.h"
-
-#include "gettext.h"
-#define _(Msgid)  gettext (Msgid)
-
-
-/* Initialize this module. */
-
-
-static int old_stdin;
-static int old_stdout;
-static char **arguments;
-static char tmp_file_name[2][L_tmpnam];
-
-#define remove_tmp_file(fd, name)                                     \
-  do {                                                                \
-    close ((fd));                                                     \
-    if (unlink ((name)))                                              \
-      error (EXIT_FAILURE, 0, _("removing of '%s' failed"), (name));  \
-  } while (0)
-
-
-void
-init_subpipe(void)
-{
-  char *tmpdir;
-  int fd;
-
-  tmpdir = getenv("TMPDIR");
-  if (tmpdir == NULL)
-    tmpdir = getenv("TMP");
-  if (tmpdir == NULL)
-    tmpdir = getenv("TEMP");
-  if (access(tmpdir, D_OK))
-    tmpdir = ".";
-
-  strcpy(tmp_file_name[0], tmpdir);
-  strcat(tmp_file_name[0], "/bnXXXXXX");
-  fd = mkstemp(tmp_file_name[0]);
-  if (fd < 0)
-    error(EXIT_FAILURE, 0, _("creation of a temporary file failed"));
-  close (fd);
-
-  strcpy(tmp_file_name[1], tmpdir);
-  strcat(tmp_file_name[1], "/bnXXXXXX");
-  fd = mkstemp(tmp_file_name[1]);
-  if (fd < 0)
-    error(EXIT_FAILURE, 0, _("creation of a temporary file failed"));
-  close (fd);
-}
-
-
-/* Create a subprocess that is run as a filter.  ARGV is the
-   NULL-terminated argument vector for the subprocess.  Store read and
-   write file descriptors for communication with the subprocess into
-   FD[0] and FD[1]: input meant for the process can be written into
-   FD[0], and output from the process can be read from FD[1].  Return
-   the subprocess id.
-
-   Because DOS has neither fork nor pipe functionality to run the subprocess
-   as a filter, the filter is reproduced using temporary files. First bison's
-   stdout is redirected to a temporary file. After bison has produced all of
-   is output, this file is closed and connected to m4's stdin. All m4's output
-   is redirected from m4's stdout to a second temporary file and reopened as
-   bison's stdin. */
-
-pid_t
-create_subpipe(char const *const *argv, int fd[2])
-{
-  int argc;
-  int from_in_fd;  /* pipe from bison to m4. */
-  pid_t pid;
-
-
-  pid = getpid();
-
-  /*
-   *  Save original stdin and stdout
-   *  for later restauration.
-   */
-  old_stdin = dup(STDIN_FILENO);
-  if (old_stdin < 0)
-    error(EXIT_FAILURE, 0, _("saving stdin failed"));
-
-  old_stdout = dup(STDOUT_FILENO);
-  if (old_stdout < 0)
-    error(EXIT_FAILURE, 0, _("saving stdout failed"));
-
-  /*
-   *  Save argv for later use.
-   */
-  for (argc = 0; argv[argc]; argc++)
-    ;
-  argc++;
-  arguments = xmalloc(argc * sizeof(arguments[0]));
-  for (argc = 0; argv[argc]; argc++)
-  {
-    arguments[argc] = xmalloc((strlen(argv[argc]) + 1) * 
sizeof(arguments[0][0]));
-    strcpy(arguments[argc], argv[argc]);
-  }
-  arguments[argc] = NULL;
-
-  /*
-   *  All bison's output will be gathered in this temporary file
-   *  and will be redirected to m4's stdin.
-   */
-  from_in_fd = open(tmp_file_name[0], O_WRONLY | O_CREAT | O_TRUNC, S_IWUSR);
-  if (from_in_fd < 0)
-    error(EXIT_FAILURE, 0, _("opening of tmpfile failed"));
-  if (dup2(from_in_fd, STDOUT_FILENO) < 0)
-  {
-    remove_tmp_file(from_in_fd, tmp_file_name[0]);
-    error(EXIT_FAILURE, 0, _("redirecting bison's stdout to the temporary file 
failed"));
-  }
-  close(from_in_fd);
-
-
-  fd[0] = STDOUT_FILENO;
-  return pid;
-}
-
-
-/* A signal handler that just records that a signal has happened. */
-static int child_interrupted;
-
-static void
-signal_catcher(int signo)
-{
-  child_interrupted++;
-}
-
-
-void
-end_of_output_subpipe(pid_t pid, int fd[2])
-{
-  char *program;
-  int from_out_fd = open(tmp_file_name[0], O_RDONLY, S_IRUSR);                 
  /* pipe from bison to m4. */
-  int to_in_fd = open(tmp_file_name[1], O_WRONLY | O_CREAT | O_TRUNC, 
S_IWUSR);  /* pipe from m4 to bison. */
-  int status;
-  void (*previous_handler)(int);
-
-
-  program = strrchr(arguments[0], '/');
-  if (program)
-    program++;
-  else
-    program = arguments[0];
-
-  /*
-   *  Redirect bison's output to m4's stdin.
-   */
-  if (from_out_fd < 0)
-    error(EXIT_FAILURE, 0, _("opening of tmpfile failed"));
-  if (dup2(from_out_fd, STDIN_FILENO) < 0)
-  {
-    remove_tmp_file(from_out_fd, tmp_file_name[0]);
-    error(EXIT_FAILURE, 0, _("redirecting m4's stdin from the temporary file 
failed"));
-  }
-  close(from_out_fd);
-
-  /*
-   *  All m4's output will be gathered in this temporary file
-   *  and will be redirected to bison's stdin.
-   */
-  if (to_in_fd < 0)
-  {
-    remove_tmp_file(STDIN_FILENO, tmp_file_name[0]);
-    error(EXIT_FAILURE, 0, _("opening of a temporary file failed"));
-  }
-  if (dup2(to_in_fd, STDOUT_FILENO) < 0)
-  {
-    remove_tmp_file(STDIN_FILENO, tmp_file_name[0]);
-    remove_tmp_file(to_in_fd, tmp_file_name[1]);
-    error(EXIT_FAILURE, 0, _("redirecting m4's stdout to a temporary file 
failed"));
-  }
-  close(to_in_fd);
-
-  /*
-   *  Run m4.
-   */
-  child_interrupted = 0;
-  errno = 0;
-  previous_handler = signal(SIGINT, signal_catcher);
-  status = spawnvp(P_WAIT, program, arguments);
-  signal(SIGINT, previous_handler);
-  if (child_interrupted)
-  {
-    remove_tmp_file(STDIN_FILENO, tmp_file_name[0]);
-    remove_tmp_file(STDOUT_FILENO, tmp_file_name[1]);
-    error(EXIT_FAILURE, 0, _("subsidiary program '%s' interrupted"), program);
-  }
-  if (status)
-  {
-    remove_tmp_file(STDIN_FILENO, tmp_file_name[0]);
-    remove_tmp_file(STDOUT_FILENO, tmp_file_name[1]);
-    error(EXIT_FAILURE, 0, _(errno == ENOENT
-                            ? "subsidiary program '%s' not found"
-                            : status < 1
-                            ? "subsidiary program '%s' failed"
-                            : "subsidiary program '%s' failed (status=%i, 
errno=%i)"), program, status, errno);
-  }
-
-
-  /*
-   *  Redirect m4's output to bison's stdin.
-   */
-  if (dup2(old_stdout, STDOUT_FILENO) < 0)
-    error(EXIT_FAILURE, 0, "restore of bison's stdout failed");
-  close(old_stdout);
-  to_in_fd = open(tmp_file_name[1], O_RDONLY, S_IRUSR);  /* pipe from m4 to 
bison. */
-  if (to_in_fd < 0)
-  {
-    remove_tmp_file(STDIN_FILENO, tmp_file_name[0]);
-    error(EXIT_FAILURE, 0, _("opening of tmpfile failed"));
-  }
-  if (dup2(to_in_fd, STDIN_FILENO) < 0)
-  {
-    remove_tmp_file(STDIN_FILENO, tmp_file_name[0]);
-    remove_tmp_file(to_in_fd, tmp_file_name[1]);
-    error(EXIT_FAILURE, -1, "dup2");
-    error(EXIT_FAILURE, 0, _("redirecting bison's stdin from the temporary 
file failed"));
-  }
-  close(to_in_fd);
-
-
-  fd[1] = STDIN_FILENO;
-}
-
-
-/* Free resources, unlink temporary files and restore stdin and stdout. */
-
-void
-reap_subpipe(pid_t pid, char const *program)
-{
-  int argc;
-
-  for (argc = 0; arguments[argc]; argc++)
-    free(arguments[argc]);
-  free(arguments);
-
-  if (unlink(tmp_file_name[0]))
-    error(EXIT_FAILURE, 0, _("removing of '%s' failed"), tmp_file_name[0]);
-  if (unlink(tmp_file_name[1]))
-    error(EXIT_FAILURE, 0, _("removing of '%s' failed"), tmp_file_name[1]);
-
-  if (dup2(old_stdin, STDIN_FILENO) < 0)
-    error(EXIT_FAILURE, 0, "restore of bison's stdin failed");
-  close(old_stdin);
-}
diff --git a/djgpp/subpipe.h b/djgpp/subpipe.h
deleted file mode 100644
index 590b00d5..00000000
--- a/djgpp/subpipe.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Subprocesses with pipes.
-
-   Copyright (C) 2005-2015, 2018 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 3 of the License, 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/>.  */
-
-/* Written by Juan Manuel Guerrero <address@hidden>. */
-
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-void init_subpipe(void);
-pid_t create_subpipe(char const * const *, int[2]);
-void end_of_output_subpipe(pid_t, int[2]);
-void reap_subpipe(pid_t, char const *);
diff --git a/djgpp/testsuite.sed b/djgpp/testsuite.sed
deleted file mode 100644
index 0623b9d1..00000000
--- a/djgpp/testsuite.sed
+++ /dev/null
@@ -1,23 +0,0 @@
-# DJGPP specific configuration file.
-# Sed script for additional DJGPP specific editing
-# of the testsuite script generated by autoconf 2.61.
-
-# Copyright (C) 2007-2015, 2018 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 3 of the License, 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/>.
-
-
-# Remove disallowed characters from file names.
-
-s/address@hidden&\*()-=_+{}\[\]|\\\\:;<>, ./address@hidden&()-=_+{}[];, ./g
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 8086f556..c56d1b50 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -17,7 +17,6 @@ src/scan-gram.l
 src/scan-skel.l
 src/symtab.c
 
-djgpp/subpipe.c
 lib/argmatch.c
 lib/bitset_stats.c
 lib/closeout.c




reply via email to

[Prev in Thread] Current Thread [Next in Thread]