     -=[ Building 3.2.1@xx for MS-DOS ]=-

This document is based on John Olson's building doc.
It was written by Zilanthius/Ray Gilbert.
Modified by Amylaar to reflect obvious changes due to
  integration in the 3.2.1 sources.
Last revised: 1996-03-12 [by Rap]


BUILDING of LPmud for MS-DOS
============================


This file contains a step by step description of how to compile
LPmud 3.2.1@xx on MS-DOS on 80386/80486-based systems.


BEFORE YOU START
================

Make sure you have enough free disk space. 20 MB should be enough
in most cases. You probably won't need all the space but it is
always better to be able to keep some of the .ZIP and .TAR files
on-line rather than having to copy them to floppies in order to
free some disk space.

READ THIS FILE TO THE END before doing anything. You should also
read the file README. It could be useful to verify your system's
and its setup's compatibility by installing and test running the
binary distribution first.
There are several support files you need to build LPmud. These
are the dependencies:

  Target    File(s)                     Required parts(s)
  --------  ------------------------   ----------------------
  ZIP       pkz204g.exe                 PKUNZIP.EXE
  GCC       \DJGPP                      Directory
  YACC      BYACC19.ZIP                 Directory
  COMPRESS  GZIP124.ZIP                 GUNZIP.EXE
  TAR       DJTARX.EXE or TAR315us.zip  DJTARX.EXE or TAR>EXE
  MUDLIB    heaven7.tgz/2.4.5.tar.gz/   Directory


FTP SITES
=========

All of the above files are available on simtel-20,

        Address            Locale       Directory, ./

 OAK    oak.oakland.edu    USA          SimTel
 OZ     archie.oz.au       Australia    micros/pc/simtel-20
 FUNET  ftp.funet.fi       Finland      mirrors/oak.oakland.edu/Simtel

There are many other simtel mirror sites.  Use the closest site.
OAK and OZ directory names may no longer be valid.  This document
is based on using Funet.


ZIP
===

This is a zip archiver.  This package is found at simtel-20 in
the directory ./msdos/zip/pkz204g.exe.  It is needed to unarchive
the other packages.


GCC
===

DJ Delories has ported the GNU C compiler to MS-DOS.  The most
recent version is 2.6.3.  This package is a 32-bit C compiler.
This is available at simtel-20 in the directory ./vendors/djgpp.
The djgpp faq should help you on installation, but to give you
some directions, I installed these packages:

djoeo112.zip    gcc263bn.zip    bnu252bn.zip
djdev112.zip    mak371bn.zip    (pat21bn.zip)
dj112m1.zip     dj112m2.zip
dj112m3.zip     dj112m4.zip

If you choose to download all these files, they total 3.5 MB and
somewhere around 13 MB when unzipped.


BYACC
=====

BYACC is a parser generator for C.  byacc19.zip is available at
simtel-20 in the directory ./msdos/pgmutil

Installing BYACC
     pkunzip -d byacc19

If you have a *lot* of conventional DOS memory available (I was
only able to compile lang.y in a DOS-box under OS/2), you can
use the executable right out of the box.
Otherwise you can compile byacc using your recently installed
gcc!  The source makefile needs to be changed a little, so I
have included a usable makefile in the BYACC directory. After
copying the modified makefile to the byacc source directory:

     make
     strip byacc
     coff2exe byacc

No matter which way you follow, you must have yacc in your path:

     copy byacc.exe \djgpp\bin\yacc.exe


COMPRESS
========

GZIP is now the standard GNU compressor.  This package is
found at simtel-20 in ./msdos/compress/gzip124.exe.  It can
uncompress archives with the extension .gz, .z, .Z.

Installing GZIP
     pkunzip -d gzip124
     copy gzip386.exe \djgpp\bin\gunzip.exe
     copy gzip386.exe \djgpp\bin\gzip.exe


TAR
===

DJTARX is one of many tar extract packages (it comes with the
djdev112.zip file).  If you use another tar package try,

tar -xvf <file>


MUDLIB
======

Here you have more of a choice.  If you don't know where to
start, look for one of these.

The heaven7 mudlib is available at
     ftp.ccs.neu.edu:pub/mud/mudlibs/heaven7/heaven7.tgz

The 2.4.5 mudlib is available a lot of places, probably at
     ftp.ccs.neu.edu:pub/mud/mudlibs/lpmud/2.4.5.tar.gz


LPMUD
=====

Getting Source
--------------

You should have it already when you read this file.  If not, or
you want to upgrade, see the file README in the main directory.

Installing
----------

Make home directory -
     mkdir \lpmud

Move source archive to home directory -
     copy amylaar.tgz \lpmud

Change to home directory -
     cd \lpmud

Make bin directory -
     mkdir bin

Make src directory -
     mkdir src

Make mudlib directory -
     mkdir mudlib

Uncompress source archive -
     gunzip amylaar.tgz

Extract source from tar archive -
     djtarx amylaar.tar

Rename source directory to src -
     move driver3.2_1 src
or   xcopy driver3.2_1 src /s/e  (for pre dos6)
and  cd src

Copy MS-DOS makefile and machine.h to src -
     copy hosts\msdos\makefile .
     copy hosts\msdos\machine.h .

Read the INSTALL file.

Make changes to the config.h file

There are really only 4 #defines that _must_ be changed in the
config.h file.  And that is because MS-DOS is without udp, fork(),
fcntl(), etc.  Here they are, remember to #undef them all:

#undef ERQ_DEMON
#undef ACCESS_CONTROL
#undef CATCH_UDP_PORT
#undef UDP_SEND

I extracted this comment from a config.h file that used to come with
this package. It is Zilanthius' notes regarding MAX_BYTE_TRANSFER.
>  *
>  * Considering that print_svalue() has a maximum value of 9500, I
>  * don't think it needs to be so large.  Anyway it has to be less
>  * then the machine limit which is 65535. Zil


Edit makefile if you have a dos version older than dos6.xx (it uses
the move command).

Make Driver with -
     make

If all goes well the driver will start to compile.  On a 386sx,
it is slow and takes a few hours.  On a 66MHz 486DX-2 with a load
of mem, it takes less than 10 minutes.
To make a nice and small executable do:

     strip driver
     coff2exe driver

Have fun!

-=[ The End ]=-
