-4. If you have the programming utilities lex or flex and yacc or bison,
- you may edit the procedure [.sys.vms]spec_lev.com and execute it to
- process several source files for NetHack's special level and dungeon
- compilers. If you use the version of these utilities from the OpenVMS
- freeware CD you will have to remove the include <stdlib.h> that yacc
- places at the top of each file. The provided spec_lev.com will default
- to copy pre-processed versions of the appropriate files (dgn_lex.c, lev_lex.c,
- dgn_yacc.c, lev_yacc.c, dgn_comp.h, and lev_comp.h) from [.sys.share]
- into [.util]*.c and [.include]*.h.
- If you choose to modify spec_lev.com, you want to run and test your
- changes prior to executing vmsbuild.com; otherwise, vmsbuild.com will
- do so for you and the results might not be what you expect.
+4. vmsbuild.com checks for several source files in [.util] and if it doesn't
+ find them, it uses [.sys.vms]spec_lev.com to generate them. If you have
+ the programming utilities lex or flex and yacc or bison, they be will
+ used if symbols are set up to run them. Or if you have them but do not
+ have symbols set up, you may edit spec_lev.com to have it run them.
+ If neither of those situations applies, spec_lev.com will default to
+ copying pre-genearated versions of the appropriate files (dgn_lex.c,
+ lev_lex.c, dgn_yacc.c, lev_yacc.c, dgn_comp.h, and lev_comp.h) from
+ [.sys.share] into [.util]*.c and [.include]*.h.
+
+ Once the file lev_yacc.c is in place, vmsbuild.com won't execute
+ spec_lev.com to make any of them, so if you decide to modify *_comp.l
+ and/or *_comp.y then you'll either need to execute spec_lev.com before
+ vmsbuild.com or remove [.util]lev_yacc.c so vmsbuild.com will do so.
+
+ If you use the versions of the lex and yacc utilities from the OpenVMS
+ freeware CD, you will need to pass "/Define=_DECC_V4_SOURCE" as the
+ third argument to vmsbuild.com in step #5. The version of yacc
+ or bison in that distribution places '#include <stdlib.h>' in the
+ generated code, before nethack's '#include "config.h"', leading to
+ conflicts that prevent compilation from completing.