]> git.saurik.com Git - bison.git/blob - djgpp/README.in
* data/glr.c (yyprocessOneStack): Synchronize the shift for all
[bison.git] / djgpp / README.in
1 This is a port of GNU Bison @VERSION@ to MSDOS/DJGPP.
2
3
4 1.: DJGPP specific changes.
5 =======================
6
7 The DJGPP port of Bison offers LFN and SFN support depending on which
8 OS it is running. If LFN support is available or not is determinated at
9 run time. If LFN support is available (DOS session under Win9X), the
10 standard posix file name extensions will be used. These are: y.tab.c,
11 y.tab.c++, y.tab.h, y.output, etc. If only SFN support is available
12 (plain DOS), then the standard MSDOS short file names will be used.
13 These are: y_tab.c, y_tab.h, y.out, etc.
14 It should be noticed that this bison version needs the m4 program as
15 back end to generate the parser file (y.tab.c etc.) from the skeleton
16 files. This implies that m4 must always be installed to get bison
17 working. m4 will use a couple of m4 scripts that will be installed in
18 /dev/env/DJDIR/share/bison and shall not be removed.
19 It should also be noticed that the skeleton files bison.simple and
20 bison.hairy are no longer supported. This applies also to the environ-
21 ment variables BISON_HAIRY and BISON_SIMPLE. Those variables are *no*
22 longer honored at all.
23 The kind of skeleton file bison.hairy is no longer supported at all.
24 The skeleton file bison.simple is now called yacc.c and is an m4 script.
25 The other two skeleton files supported by this bison version are glr.c
26 and lalr1.cc. The first one is a generalized LR C parser based on
27 Bison's LALR(1) tables and the second one is a experimental C++ parser
28 class.
29 As has been told before, bison uses m4 to generate the parser file.
30 This is done by forking and using pipes for the IPC. MSDOS does not
31 support this functionality so this has been reproduced in the usual
32 way by redirecting stdin and stdout of bison and m4 to temporary files
33 and processing these files in sequence. All the changes to the sources
34 are documented in the djgpp/diffs file.
35
36 Please **read** the docs.
37
38
39 2.: Installing the binary package.
40 ==============================
41
42 2.1.: Copy the binary distribution into the top DJGPP installation directory,
43 just unzip it preserving the directory structure running *ONE* of the
44 following commands:
45 unzip32 bsn@PACKAGE_VERSION@b.zip or
46 djtarx bsn@PACKAGE_VERSION@b.zip or
47 pkunzip -d bsn@PACKAGE_VERSION@b.zip
48
49
50
51 3.: Building the binaries from sources.
52 ===================================
53
54 3.1.: To build the binaries you will need the following binary packages:
55 djdev203.zip (or a later but NOT a prior version)
56 bsh204b.zip (or a later but NOT a prior version)
57 gcc400b.zip, gpp400b.zip, bnu215b.zip, mak3791b.zip,
58 fil40b.zip, shl20jb.zip, txt20b.zip,
59 txi48b.zip, grep24b.zip, sed414b.zip,
60 m4-143b.zip.
61
62 If you want to run the check you will need also:
63 dif281b.zip
64
65 All this packages can be found in the v2gnu directory of any
66 ftp.delorie.com mirror.
67 You will need bsh203b.zip or later and *NOT* a prior version or
68 the build will fail. The same applies to djdev203.zip. Please note
69 that Bison requires m4-143b.zip or later to work properly. All the
70 other packages are the ones I have used to build the binaries
71 from this source. Previuos versions of this packages may do the
72 job as well but I have not tested this.
73
74 3.2.: 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 archives, 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
82 3.3.: If for some reason you want to reconfigure the package cd into the top
83 srcdir (bison-@TREE_VERSION@) and run the following commands:
84 del djgpp\config.cache
85 make clean
86 djgpp\config
87
88 Please note that you *MUST* delete the config.cache file in the djgpp
89 subdir or you will not really reconfigure the sources because the
90 configuration informations will be read from the cache file instead
91 of being newly computed.
92 To build the programs in a directory other than where the sources are,
93 you must add the parameter that specifies the source directory,
94 e.g:
95 x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
96
97 Lets assume you want to build the binaries in a directory placed on a
98 different drive (z:\build in this case) from where the sources are,
99 then you will run the following commands:
100 z:
101 md \build
102 cd \build
103 x:\src\gnu\bison-@TREE_VERSION@\djgpp\config x:/src/gnu/bison-@TREE_VERSION@
104
105 The order of the options and the srcdir option does not matter. You
106 *MUST* use forward slashes to specify the source directory.
107
108 The batch file will set same environment variables, make MSDOS specific
109 modifications to the Makefile.in's and supply all other needed options
110 to the configure script.
111
112
113 3.4.: To compile the package run from the top srcdir the command:
114 make
115
116 3.5.: Now you can run the tests if you like. From the top srcdir run the
117 command:
118 make check
119
120 No test should fail.
121 Please note that the testsuite only works with LFN available. On plain
122 DOS, most of the tests will fail due to invalid DOS names.
123
124 3.6.: To install the binaries, header, library, catalogs, and info docs
125 run the following command from the top srcdir:
126 make install
127
128 This will install the products into your DJGPP installation tree given
129 by the default prefix "/dev/env/DJDIR". If you prefer to install them
130 into some other directory you will have to set prefix to the appropiate
131 value:
132 make install prefix=z:/some/other/place
133
134
135
136 Send GNU bison specific bug reports to <bug-bison@gnu.org>.
137 Send suggestions and bug reports concerning the DJGPP port to
138 comp.os.msdos.djgpp or <djgpp@delorie.com>.
139
140
141 Enjoy.
142
143 Guerrero, Juan Manuel <juan.guerrero@gmx.de>