-=[ 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 ]=-