]>
Commit | Line | Data |
---|---|---|
cd72b08b JMG |
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> |