/***************************************************************************** * * * Project : Diku-Mud-World-Creator (DikuEd) * * * * Program : Diku-Mud-Item-Editor (IEdit) * * Version : 1.6 * * Last changed on: 07.8.93 * * * * Program : Diku-Mud-Mobile-Editor (MEdit) * * Version : 1.1 * * Last changed on: 07.8.93 * * * * Program : Diku-Mud-Room-Editor (REdit) * * Version : 1.1 * * Last changed on: 07.8.93 * * * * Program : Diku-Mud-Zone-Editor (ZEdit) * * Version : 1.0 * * Last changed on: 07.8.93 * * * * Program : Diku-Mud-Style Command-Line Interface (DikuCli) * * Version : 1.0 * * Last changed on: 07.8.93 * * * * Program : Diku-Mud-Style Simulator (DikuSim) * * Version : 1.0 * * Last changed on: 07.8.93 * * * * Code by: Georg Essl (essl@fstgds06.tu-graz.ac.at) * * and: Kenneth Holmlund (holmlund@tp.umu.se) * * * *****************************************************************************/ HOW TO COMPILE -DikuEd- ----------------------- 1) IN GENERAL: As a part of the concept, the DikuEd should run on any machine you find a ANSI-C compiler for, but due to the different options and surroundings of the various compilers on different machines, I can only give general information to help you compile it. At the end I will show how the general information can be used under UNIX and MS-DOS/BORLAND- conditions. The source-code is split in 15 parts, 8 being *.c, 7 being *.h files: dikucli.c dikusim.c iedit.c medit.c redit.c zedit.c dutil.c strext.c dikusim.h iedit.h medit.h redit.h zedit.h dutil.h strext.h Compiling it can be seperated in 2 steps: 1.Step: Creating the linkable object-files. You have to compile all 8 *.c files to linkable object-files. 2.Step: Linking to an executeable file. You have to link all 8 object-files created in 1.Step (and if needed, the library-files containing the standard-functions. (stdio, stdlib, ctype, string)) to the executeable file. Nearly every compiler offers the possibility to create makefiles to let the compiler do this all in one operation. 2) USING UNIX (tested under Dec/Mips/Ultrix conditions with cc and gcc): 1.Step: cc strext.c -c cc dutil.c -c cc iedit.c -c cc medit.c -c cc redit.c -c cc zedit.c -c cc dikusim.c -c cc dikucli.c -c 2.Step: cc strext.o dutil.o iedit.o medit.o redit.o zedit.o dikusim.o dikucli.o -o dikued Result: The file -dikued- is the executeable file. Remark: You can do this with a makefile too. ;-) 3) USING MS-DOS AND BORLAND-C++ COMPILER. i) When using the editor-version just open a project named -dikued.prj-. Add: strext.c dutil.c iedit.c medit.c redit.c zedit.c dikusim.c dikucli.c Select -Make EXE file- in the -Compile- menu. Result: The file -dikued.exe- is the executeable file. ii) When using bcc: 1.Step: bcc -c strext.c bcc -c dutil.c bcc -c iedit.c bcc -c medit.c bcc -c redit.c bcc -c zedit.c bcc -c dikusim.c bcc -c dikucli.c 2.Step: bcc -edikued.exe strext.obj dutil.obj iedit.obj medit.obj redit.obj zedit.obj dikusim.obj dikucli.obj Result: The file -dikued.exe- is the executeable file. 4) WHEN YOU GET SERIOUS PROBLEMS COMPILING DIKUED: ... then please send me an e-mail describing your problem (and your machine, compiler...). If it is a problem of the source I'll try to think of a solution. 5) FAQ: WHAT TO DO WHEN... i) QUESTION: My Borland-C++ compiler refuses to link dikued with some error-output. What's wrong? ANSWER: The compiler/linker-options are not set correctly: change to memory-model large and merge duplicate string. ii) QUESTION: The cc on my Unix-machine won't compile dikued without errors. When compiling dikued on my UNIX-machine I get "ERROR - Keyword not yet implemented." or "ERROR - XXXXXX is an ANSI-feature" ... What can I do about it? ANSWER: The behavior of the cc on the different unix-implementations vary quite much. With knowledge of C and the compiler, it should be possible to get around these errors. Maybe a better way is to use gcc (GNU-C-compiler). If this compiler does not exist on your machine, try to compile it for the machine, or ask your machine's administrator to do so. iii) QUESTION: It does not work. ANSWER: If you get into troubles and report your troubles via email, try to give as much information as you can around it. This will help me track down the problem more easily. Most important is it to known if you are talking about Unix, or MS-Dos-conditions. For Unix-machines the name of the OS would be important too. (Ultrix, Irix, SUNOs, Aix, Linux ...)