1 This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
 
   3 Copyright (C) 2005-2012 Free Software Foundation, Inc.
 
   5 This program is free software: you can redistribute it and/or modify
 
   6 it under the terms of the GNU General Public License as published by
 
   7 the Free Software Foundation, either version 3 of the License, or
 
   8 (at your option) any later version.
 
  10 This program is distributed in the hope that it will be useful,
 
  11 but WITHOUT ANY WARRANTY; without even the implied warranty of
 
  12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
  13 GNU General Public License for more details.
 
  15 You should have received a copy of the GNU General Public License
 
  16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
  19 1.:     DJGPP specific changes.
 
  20         =======================
 
  22         The DJGPP port of Bison offers LFN and SFN support depending on which
 
  23         OS it is running. If LFN support is available or not is determinated at
 
  24         run time.  If LFN support is available (DOS session under Win9X, Win2K,
 
  25         WinXP, etc.) the standard posix file name extensions will be used.
 
  26         These are: y.tab.c, y.tab.c++, y.tab.h, y.output, etc.  If only SFN
 
  27         support is available (plain DOS), then the standard MSDOS short file
 
  28         names will be used. These are: y_tab.c, y_tab.h, y.out, etc.
 
  29         It should be noticed that this bison version needs the m4 program as
 
  30         back end to generate the parser file (y.tab.c etc.) from the skeleton
 
  31         files.  This implies that m4 must always be installed to get bison
 
  32         working.  m4 will use a couple of m4 scripts that will be installed in
 
  33         /dev/env/DJDIR/share/bison and shall not be removed.
 
  34         It should also be noticed that the skeleton files bison.simple and
 
  35         bison.hairy are no longer supported.  This applies also to the environ-
 
  36         ment variables BISON_HAIRY and BISON_SIMPLE.  Those variables are *no*
 
  37         longer honored at all.
 
  38         The kind of skeleton file bison.hairy is no longer supported at all.
 
  39         The skeleton file bison.simple is now called yacc.c and is an m4 script.
 
  40         The other two skeleton files supported by this bison version are glr.c
 
  41         and lalr1.cc.  The first one is a generalized LR C parser based on
 
  42         Bison's LALR(1) tables and the second one is a experimental C++ parser
 
  44         As has been told before, bison uses m4 to generate the parser file.
 
  45         This is done by forking and using pipes for the IPC.  MSDOS does not
 
  46         support this functionality so this has been reproduced in the usual
 
  47         way by redirecting stdin and stdout of bison and m4 to temporary files
 
  48         and processing these files in sequence.
 
  49         It should be noticed that due to the great amount of file names that do
 
  50         not cleanly map to 8.3 file names, you will need an OS with LFN support
 
  51         to configure and compile the sources. On Win98 this implies that the
 
  52         generation of numeric tails for 8.3 file name aliases must be enabled
 
  53         or the compilation will fail.
 
  56         Please **read** the docs.
 
  59 2.:     Installing the binary package.
 
  60         ==============================
 
  62 2.1.:   Copy the binary distribution into the top DJGPP installation directory,
 
  63         just unzip it preserving the directory structure running *ONE* of the
 
  65           unzip32 bsn@PACKAGE_VERSION@b.zip      or
 
  66           djtarx bsn@PACKAGE_VERSION@b.zip       or
 
  67           pkunzip -d bsn@PACKAGE_VERSION@b.zip
 
  71 3.:     Building the binaries from sources.
 
  72         ===================================
 
  74 3.1.:   Create a temporary directory and copy the source package into the
 
  75         directory.  If you download the source distribution from one of the
 
  76         DJGPP sites, just unzip it preserving the directory structure
 
  77         running *ONE* of the following commands:
 
  78           unzip32 bsn@PACKAGE_VERSION@s.zip      or
 
  79           djtarx bsn@PACKAGE_VERSION@s.zip       or
 
  80           pkunzip -d bsn@PACKAGE_VERSION@s.zip
 
  81         and proceed to the paragraph 3.3, below.
 
  83 3.2.:   Source distributions downloaded from one of the GNU FTP sites need
 
  84         some more work to unpack, if LFN support is not available.  If LFN is
 
  85         available then you can extract the source files from the archive with
 
  86         any unzip program and proceed to the paragraph 3.3, below.  Any file
 
  87         name issue will be handled by the the DJGPP configuration files.
 
  88         To unpack the source distribution on SFN systems, first, you MUST use
 
  89         the `djunpack' batch file to unzip the package.  That is because some
 
  90         file names in the official distributions need to be changed to avoid
 
  91         problems on the various platforms supported by DJGPP.
 
  92         `djunpack' invokes the `djtar' program (that is part of the basic DJGPP
 
  93         development kit) to rename these files on the fly given a file with
 
  94         name mappings; the distribution includes a file `djgpp/fnchange.lst'
 
  95         with the necessary mappings.  So you need first to retrieve that batch
 
  96         file, and then invoke it to unpack the distribution.  Here's how:
 
  98           djtar -x -p -o bison-@VERSION@/djgpp/djunpack.bat bison-@VERSION@.tar.gz > djunpack.bat
 
  99           djunpack bison-@VERSION@.tar.gz
 
 101         (The name of the distribution archive and the leading directory of the
 
 102         path to `djunpack.bat' in the distribution will be different for
 
 103         versions of Bison other than @VERSION@.)
 
 105         If the argument to `djunpack.bat' include leading directories, it MUST
 
 106         be given with the DOS-style backslashes; Unix-style forward slashes
 
 109         If the distribution comes as a .tar.bz2 archive, and your version of
 
 110         `djtar' doesn't support bzip2 decompression, you need to unpack it as
 
 113           bnzip2 bison-@VERSION@.tar.bz2
 
 114           djtar -x -p -o bison-@VERSION@/djgpp/djunpack.bat bison-@VERSION@.tar > djunpack.bat
 
 115           djunpack bison-@VERSION@.tar
 
 117 3.3.:   To build the binaries you will need the following binary packages:
 
 118           djdev203.zip (or a later but NOT a prior version)
 
 119           bsh204b.zip  (or a later but NOT a prior version)
 
 120           gccNNNb.zip, gppNNN.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip,
 
 121           perlNNNb.zip, shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip,
 
 122           sedNNNb.zip and m4NNN.zip
 
 124         If you want to run the check you will need also:
 
 127         NNN represents the latest version number of the binary packages. All
 
 128         this packages can be found in the /v2gnu directory of any
 
 129         ftp.delorie.com mirror.
 
 130         You will need bsh204b.zip or later and *NOT* a prior version or
 
 131         the build will fail.  The same applies to djdev203.zip.  Please note
 
 132         that Bison requires m4-144b.zip or later to work properly.
 
 134 3.4.:   If for some reason you want to reconfigure the package cd into the top
 
 135         srcdir (bison-@TREE_VERSION@) and run the following commands:
 
 136           del djgpp\config.cache
 
 140         Please note that you *MUST* delete the config.cache file in the djgpp
 
 141         subdir or you will not really reconfigure the sources because the
 
 142         configuration informations will be read from the cache file instead
 
 143         of being newly computed.
 
 144         To build the programs in a directory other than where the sources are,
 
 145         you must add the parameter that specifies the source directory,
 
 147           x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
 
 149         Lets assume you want to build the binaries in a directory placed on a
 
 150         different drive (z:\build in this case) from where the sources are,
 
 151         then you will run the following commands:
 
 155           x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
 
 157         The order of the options and the srcdir option does not matter.  You
 
 158         *MUST* use forward slashes to specify the source directory.
 
 160         The batch file will set same environment variables, make MSDOS specific
 
 161         modifications to the Makefile.in's and supply all other needed options
 
 162         to the configure script.
 
 164 3.5.:   To compile the package run from the top srcdir the command:
 
 167 3.6.:   Now you can run the tests if you like.  From the top srcdir run the
 
 171         No test should fail but the tests #131 (Doxygen Public Documentation)
 
 172         and #132 (Doxygen Private Documentation) will be skipped.  Please note
 
 173         that the testsuite only works with LFN available.  On plain DOS, most
 
 174         of the tests will fail due to invalid DOS names.
 
 176 3.7.:   To install the binaries, header, library, catalogs, and info docs
 
 177         run the following command from the top srcdir:
 
 180         This will install the products into your DJGPP installation tree given
 
 181         by the default prefix "/dev/env/DJDIR".  If you prefer to install them
 
 182         into some other directory you will have to set prefix to the appropiate
 
 184           make install prefix=z:/some/other/place
 
 188         Send GNU bison specific bug reports to <bug-bison@gnu.org>.
 
 189         Send suggestions and bug reports concerning the DJGPP port to
 
 190         comp.os.msdos.djgpp or <djgpp@delorie.com>.
 
 195         Guerrero, Juan Manuel <juan.guerrero@gmx.de>