]> git.saurik.com Git - bison.git/blame - djgpp/README.in
bison: avoid warnings from static code analysis
[bison.git] / djgpp / README.in
CommitLineData
cd72b08b
JMG
1This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
2
3209eb1c 3Copyright (C) 2005-2015 Free Software Foundation, Inc.
02650b7f 4
f16b0819 5This program is free software: you can redistribute it and/or modify
02650b7f 6it under the terms of the GNU General Public License as published by
f16b0819
PE
7the Free Software Foundation, either version 3 of the License, or
8(at your option) any later version.
02650b7f
PE
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
f16b0819 16along with this program. If not, see <http://www.gnu.org/licenses/>.
02650b7f 17
cd72b08b
JMG
18
191.: DJGPP specific changes.
02650b7f
PE
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
127bcae6
JMG
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.
02650b7f
PE
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-
127bcae6 36 ment variables BISON_HAIRY and BISON_SIMPLE. Those variables are *no*
02650b7f
PE
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
1ab41b2a
JMG
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
02650b7f
PE
55
56 Please **read** the docs.
cd72b08b
JMG
57
58
592.: Installing the binary package.
02650b7f 60 ==============================
cd72b08b
JMG
61
622.1.: Copy the binary distribution into the top DJGPP installation directory,
02650b7f
PE
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
cd72b08b
JMG
68
69
70
713.: Building the binaries from sources.
02650b7f 72 ===================================
cd72b08b 73
bf60087f 743.1.: Create a temporary directory and copy the source package into the
02650b7f
PE
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.
bf60087f
JMG
82
833.2.: Source distributions downloaded from one of the GNU FTP sites need
02650b7f
PE
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
77315a51 87 name issue will be handled by the DJGPP configuration files.
02650b7f
PE
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
127bcae6
JMG
98 djtar -x -p -o bison-@VERSION@/djgpp/djunpack.bat bison-@VERSION@.tar.gz > djunpack.bat
99 djunpack bison-@VERSION@.tar.gz
02650b7f
PE
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
127bcae6 103 versions of Bison other than @VERSION@.)
02650b7f
PE
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
127bcae6
JMG
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
bf60087f
JMG
116
1173.3.: To build the binaries you will need the following binary packages:
02650b7f
PE
118 djdev203.zip (or a later but NOT a prior version)
119 bsh204b.zip (or a later but NOT a prior version)
1ab41b2a 120 gccNNNb.zip, gppNNN.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip,
f8cec99b
JMG
121 perlNNNb.zip, shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip,
122 sedNNNb.zip and m4NNN.zip
02650b7f
PE
123
124 If you want to run the check you will need also:
1ab41b2a 125 difNNNb.zip
02650b7f 126
1ab41b2a
JMG
127 NNN represents the latest version number of the binary packages. All
128 this packages can be found in the /v2gnu directory of any
02650b7f 129 ftp.delorie.com mirror.
c211f84b 130 You will need bsh204b.zip or later and *NOT* a prior version or
02650b7f 131 the build will fail. The same applies to djdev203.zip. Please note
1ab41b2a 132 that Bison requires m4-144b.zip or later to work properly.
cd72b08b 133
bf60087f 1343.4.: If for some reason you want to reconfigure the package cd into the top
02650b7f
PE
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.
cd72b08b 163
bf60087f 1643.5.: To compile the package run from the top srcdir the command:
02650b7f 165 make
cd72b08b 166
bf60087f 1673.6.: Now you can run the tests if you like. From the top srcdir run the
02650b7f
PE
168 command:
169 make check
cd72b08b 170
c211f84b
JMG
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.
cd72b08b 175
bf60087f 1763.7.: To install the binaries, header, library, catalogs, and info docs
02650b7f
PE
177 run the following command from the top srcdir:
178 make install
cd72b08b 179
02650b7f
PE
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
cbdb6d91 182 into some other directory you will have to set prefix to the appropriate
02650b7f
PE
183 value:
184 make install prefix=z:/some/other/place
cd72b08b
JMG
185
186
187
02650b7f
PE
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>.
cd72b08b
JMG
191
192
193Enjoy.
194
02650b7f 195 Guerrero, Juan Manuel <juan.guerrero@gmx.de>