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