| 1 |
How to compile PennMUSH 1.7.x under Windows (MinGW32 and MSys) |
|---|
| 2 |
-------------------------------------------------------------- |
|---|
| 3 |
by Ervin Hearn III <noltar@korongil.net> |
|---|
| 4 |
|
|---|
| 5 |
Last update: Monday, 28 January 2008 |
|---|
| 6 |
|
|---|
| 7 |
A note on install locations: |
|---|
| 8 |
The entire process goes much more smoothly if you install |
|---|
| 9 |
all of the required packages in directories that do not have |
|---|
| 10 |
spaces anywhere in the path name. So Program Files is not |
|---|
| 11 |
the best location. |
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
1. Download and install the MinGW GNU Toolsets for Windows |
|---|
| 15 |
from http://www.mingw.org/ |
|---|
| 16 |
|
|---|
| 17 |
2. Download and install ActiveState Perl for Windows from |
|---|
| 18 |
http://www.activestate.com/ActivePerl/ |
|---|
| 19 |
|
|---|
| 20 |
3. Download and install the MSys package for Windows from |
|---|
| 21 |
http://www.mingw.org/ This should be installed after |
|---|
| 22 |
you have installed MinGW and ActivePerl |
|---|
| 23 |
|
|---|
| 24 |
4. Make certain that your MinGW and Perl locations are |
|---|
| 25 |
properly moutned in your MSys /etc/fstab |
|---|
| 26 |
|
|---|
| 27 |
An example fstab content is: |
|---|
| 28 |
|
|---|
| 29 |
#Win32_Path Mount_Point |
|---|
| 30 |
c:/mingw /mingw |
|---|
| 31 |
c:/perl /perl |
|---|
| 32 |
|
|---|
| 33 |
5. `cd' to the desired install location with the .tar.gz file |
|---|
| 34 |
and unpack the downloaded <version> with: |
|---|
| 35 |
|
|---|
| 36 |
tar xzf pennmush-<version>.tar.gz |
|---|
| 37 |
|
|---|
| 38 |
6. cd pennmush then type: |
|---|
| 39 |
|
|---|
| 40 |
./configure |
|---|
| 41 |
|
|---|
| 42 |
7. Now type: |
|---|
| 43 |
|
|---|
| 44 |
cp options.h.dist options.h |
|---|
| 45 |
|
|---|
| 46 |
and edit options.h as desired, keeping the following |
|---|
| 47 |
suggestions in mind: |
|---|
| 48 |
|
|---|
| 49 |
a. Use MALLOC_PACKAGE 0 |
|---|
| 50 |
b. Do *NOT* define INFO_SLAVE |
|---|
| 51 |
|
|---|
| 52 |
Hopefully the last be changed in the future. |
|---|
| 53 |
Also, 'make update' does not currently work correctly with |
|---|
| 54 |
Msys (due to Msys problems), and this will also hopefully get |
|---|
| 55 |
worked around in the future. |
|---|
| 56 |
|
|---|
| 57 |
8. Also, cp game/mushcnf.dist game/mush.cnf and edit. |
|---|
| 58 |
|
|---|
| 59 |
9. Do a `make install' This will build the necessary files and |
|---|
| 60 |
install the necessary symbolic links. You can ignore the |
|---|
| 61 |
warnings regarding the redefinition of BYTE and LONG which |
|---|
| 62 |
are given for funcrypt.c mycrypt.c and/or shs.c. |
|---|
| 63 |
|
|---|
| 64 |
10. Read game/README and follow those instructions. For MinGW |
|---|
| 65 |
you will also need to edit game/restart and explicitly |
|---|
| 66 |
set the GAMEDIR variable to your installation path, an |
|---|
| 67 |
example is: |
|---|
| 68 |
|
|---|
| 69 |
/home/noltar/pennmush/game |
|---|
| 70 |
|
|---|
| 71 |
|
|---|
| 72 |
|
|---|
| 73 |
Raevnos has had some success cross-compiling a win32 pennmush on linux |
|---|
| 74 |
using mingw32. Briefly: |
|---|
| 75 |
|
|---|
| 76 |
* Install the mingw32 cross compilation tools using your package |
|---|
| 77 |
manager. |
|---|
| 78 |
* Configure like so (The name of the cross-compiler might vary): |
|---|
| 79 |
% CC=i486-mingw32-gcc ./configure --host --without-ssl --without-mysql \ |
|---|
| 80 |
--without-sqlite3 --without-postgresql --without-pcre |
|---|
| 81 |
* Add -lwsock32 to the LIBS= line in Makefile |
|---|
| 82 |
* make update; make netmud |
|---|
| 83 |
* cp src/netmud netmush.exe |
|---|
| 84 |
* Use netmush.exe and the game/ directory on a Windows computer like usual. |
|---|