]> git.saurik.com Git - bison.git/blame - djgpp/README.in
2006-10-08 Paolo Bonzini <bonzini@gnu.org>
[bison.git] / djgpp / README.in
CommitLineData
cd72b08b
JMG
1This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
2
127bcae6 3Copyright (C) 2005, 2006 Free Software Foundation, Inc.
02650b7f
PE
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 2, or (at your option)
8any 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, write to the Free Software Foundation,
17Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
cd72b08b
JMG
19
201.: DJGPP specific changes.
02650b7f
PE
21 =======================
22
23 The DJGPP port of Bison offers LFN and SFN support depending on which
24 OS it is running. If LFN support is available or not is determinated at
127bcae6
JMG
25 run time. If LFN support is available (DOS session under Win9X, Win2K,
26 WinXP, etc.) the standard posix file name extensions will be used.
27 These are: y.tab.c, y.tab.c++, y.tab.h, y.output, etc. If only SFN
28 support is available (plain DOS), then the standard MSDOS short file
29 names will be used. These are: y_tab.c, y_tab.h, y.out, etc.
02650b7f
PE
30 It should be noticed that this bison version needs the m4 program as
31 back end to generate the parser file (y.tab.c etc.) from the skeleton
32 files. This implies that m4 must always be installed to get bison
33 working. m4 will use a couple of m4 scripts that will be installed in
34 /dev/env/DJDIR/share/bison and shall not be removed.
35 It should also be noticed that the skeleton files bison.simple and
36 bison.hairy are no longer supported. This applies also to the environ-
127bcae6 37 ment variables BISON_HAIRY and BISON_SIMPLE. Those variables are *no*
02650b7f
PE
38 longer honored at all.
39 The kind of skeleton file bison.hairy is no longer supported at all.
40 The skeleton file bison.simple is now called yacc.c and is an m4 script.
41 The other two skeleton files supported by this bison version are glr.c
42 and lalr1.cc. The first one is a generalized LR C parser based on
43 Bison's LALR(1) tables and the second one is a experimental C++ parser
44 class.
45 As has been told before, bison uses m4 to generate the parser file.
46 This is done by forking and using pipes for the IPC. MSDOS does not
47 support this functionality so this has been reproduced in the usual
48 way by redirecting stdin and stdout of bison and m4 to temporary files
49 and processing these files in sequence. All the changes to the sources
50 are documented in the djgpp/diffs file.
51
52 Please **read** the docs.
cd72b08b
JMG
53
54
552.: Installing the binary package.
02650b7f 56 ==============================
cd72b08b
JMG
57
582.1.: Copy the binary distribution into the top DJGPP installation directory,
02650b7f
PE
59 just unzip it preserving the directory structure running *ONE* of the
60 following commands:
61 unzip32 bsn@PACKAGE_VERSION@b.zip or
62 djtarx bsn@PACKAGE_VERSION@b.zip or
63 pkunzip -d bsn@PACKAGE_VERSION@b.zip
cd72b08b
JMG
64
65
66
673.: Building the binaries from sources.
02650b7f 68 ===================================
cd72b08b 69
bf60087f 703.1.: Create a temporary directory and copy the source package into the
02650b7f
PE
71 directory. If you download the source distribution from one of the
72 DJGPP sites, just unzip it preserving the directory structure
73 running *ONE* of the following commands:
74 unzip32 bsn@PACKAGE_VERSION@s.zip or
75 djtarx bsn@PACKAGE_VERSION@s.zip or
76 pkunzip -d bsn@PACKAGE_VERSION@s.zip
77 and proceed to the paragraph 3.3, below.
bf60087f
JMG
78
793.2.: Source distributions downloaded from one of the GNU FTP sites need
02650b7f
PE
80 some more work to unpack, if LFN support is not available. If LFN is
81 available then you can extract the source files from the archive with
82 any unzip program and proceed to the paragraph 3.3, below. Any file
83 name issue will be handled by the the DJGPP configuration files.
84 To unpack the source distribution on SFN systems, first, you MUST use
85 the `djunpack' batch file to unzip the package. That is because some
86 file names in the official distributions need to be changed to avoid
87 problems on the various platforms supported by DJGPP.
88 `djunpack' invokes the `djtar' program (that is part of the basic DJGPP
89 development kit) to rename these files on the fly given a file with
90 name mappings; the distribution includes a file `djgpp/fnchange.lst'
91 with the necessary mappings. So you need first to retrieve that batch
92 file, and then invoke it to unpack the distribution. Here's how:
93
127bcae6
JMG
94 djtar -x -p -o bison-@VERSION@/djgpp/djunpack.bat bison-@VERSION@.tar.gz > djunpack.bat
95 djunpack bison-@VERSION@.tar.gz
02650b7f
PE
96
97 (The name of the distribution archive and the leading directory of the
98 path to `djunpack.bat' in the distribution will be different for
127bcae6 99 versions of Bison other than @VERSION@.)
02650b7f
PE
100
101 If the argument to `djunpack.bat' include leading directories, it MUST
102 be given with the DOS-style backslashes; Unix-style forward slashes
103 will NOT work.
104
105 If the distribution comes as a .tar.bz2 archive, and your version of
106 `djtar' doesn't support bzip2 decompression, you need to unpack it as
107 follows:
108
127bcae6
JMG
109 bnzip2 bison-@VERSION@.tar.bz2
110 djtar -x -p -o bison-@VERSION@/djgpp/djunpack.bat bison-@VERSION@.tar > djunpack.bat
111 djunpack bison-@VERSION@.tar
bf60087f
JMG
112
1133.3.: To build the binaries you will need the following binary packages:
02650b7f
PE
114 djdev203.zip (or a later but NOT a prior version)
115 bsh204b.zip (or a later but NOT a prior version)
c211f84b 116 gcc410b.zip, gpp410b.zip, bnu2161b.zip, mak3791b.zip,
02650b7f 117 fil40b.zip, shl20jb.zip, txt20b.zip,
c211f84b 118 txi48b.zip, grep24b.zip, sed415b.zip,
02650b7f
PE
119 m4-144b.zip.
120
121 If you want to run the check you will need also:
c211f84b 122 dif287b.zip
02650b7f
PE
123
124 All this packages can be found in the v2gnu directory of any
125 ftp.delorie.com mirror.
c211f84b 126 You will need bsh204b.zip or later and *NOT* a prior version or
02650b7f
PE
127 the build will fail. The same applies to djdev203.zip. Please note
128 that Bison requires m4-144b.zip or later to work properly. All the
129 other packages are the ones I have used to build the binaries
130 from this source. Previuos versions of this packages may do the
131 job as well but I have not tested this.
cd72b08b 132
bf60087f 1333.4.: If for some reason you want to reconfigure the package cd into the top
02650b7f
PE
134 srcdir (bison-@TREE_VERSION@) and run the following commands:
135 del djgpp\config.cache
136 make clean
137 djgpp\config
138
139 Please note that you *MUST* delete the config.cache file in the djgpp
140 subdir or you will not really reconfigure the sources because the
141 configuration informations will be read from the cache file instead
142 of being newly computed.
143 To build the programs in a directory other than where the sources are,
144 you must add the parameter that specifies the source directory,
145 e.g:
146 x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
147
148 Lets assume you want to build the binaries in a directory placed on a
149 different drive (z:\build in this case) from where the sources are,
150 then you will run the following commands:
151 z:
152 md \build
153 cd \build
154 x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
155
156 The order of the options and the srcdir option does not matter. You
157 *MUST* use forward slashes to specify the source directory.
158
159 The batch file will set same environment variables, make MSDOS specific
160 modifications to the Makefile.in's and supply all other needed options
161 to the configure script.
cd72b08b 162
bf60087f 1633.5.: To compile the package run from the top srcdir the command:
02650b7f 164 make
cd72b08b 165
bf60087f 1663.6.: Now you can run the tests if you like. From the top srcdir run the
02650b7f
PE
167 command:
168 make check
cd72b08b 169
c211f84b
JMG
170 No test should fail but the tests #131 (Doxygen Public Documentation)
171 and #132 (Doxygen Private Documentation) will be skipped. Please note
172 that the testsuite only works with LFN available. On plain DOS, most
173 of the tests will fail due to invalid DOS names.
cd72b08b 174
bf60087f 1753.7.: To install the binaries, header, library, catalogs, and info docs
02650b7f
PE
176 run the following command from the top srcdir:
177 make install
cd72b08b 178
02650b7f
PE
179 This will install the products into your DJGPP installation tree given
180 by the default prefix "/dev/env/DJDIR". If you prefer to install them
181 into some other directory you will have to set prefix to the appropiate
182 value:
183 make install prefix=z:/some/other/place
cd72b08b
JMG
184
185
186
02650b7f
PE
187 Send GNU bison specific bug reports to <bug-bison@gnu.org>.
188 Send suggestions and bug reports concerning the DJGPP port to
189 comp.os.msdos.djgpp or <djgpp@delorie.com>.
cd72b08b
JMG
190
191
192Enjoy.
193
02650b7f 194 Guerrero, Juan Manuel <juan.guerrero@gmx.de>