1This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
2
3Copyright (C) 2005-2012 Free Software Foundation, Inc.
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 3 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18
191.:     DJGPP specific changes.
20	=======================
21
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
43	class.
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.
54
55
56	Please **read** the docs.
57
58
592.:     Installing the binary package.
60	==============================
61
622.1.:   Copy the binary distribution into the top DJGPP installation directory,
63	just unzip it preserving the directory structure running *ONE* of the
64	following commands:
65	  unzip32 bsn@PACKAGE_VERSION@b.zip      or
66	  djtarx bsn@PACKAGE_VERSION@b.zip       or
67	  pkunzip -d bsn@PACKAGE_VERSION@b.zip
68
69
70
713.:     Building the binaries from sources.
72	===================================
73
743.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.
82
833.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 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:
97
98	  djtar -x -p -o bison-@VERSION@/djgpp/djunpack.bat bison-@VERSION@.tar.gz > djunpack.bat
99	  djunpack bison-@VERSION@.tar.gz
100
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@.)
104
105	If the argument to `djunpack.bat' include leading directories, it MUST
106	be given with the DOS-style backslashes; Unix-style forward slashes
107	will NOT work.
108
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
111	follows:
112
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
116
1173.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
123
124	If you want to run the check you will need also:
125	  difNNNb.zip
126
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.
133
1343.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
137	  make clean
138	  djgpp\config
139
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,
146	e.g:
147	  x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
148
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:
152	  z:
153	  md \build
154	  cd \build
155	  x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
156
157	The order of the options and the srcdir option does not matter.  You
158	*MUST* use forward slashes to specify the source directory.
159
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.
163
1643.5.:   To compile the package run from the top srcdir the command:
165	  make
166
1673.6.:   Now you can run the tests if you like.  From the top srcdir run the
168	command:
169	  make check
170
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.
175
1763.7.:   To install the binaries, header, library, catalogs, and info docs
177	run the following command from the top srcdir:
178	  make install
179
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 appropriate
183	value:
184	  make install prefix=z:/some/other/place
185
186
187
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>.
191
192
193Enjoy.
194
195	Guerrero, Juan Manuel <juan.guerrero@gmx.de>
196