/* Cygwin patch documentation * * date : 11/01/04 * author : Brian Graversen & Alex Mandez */ Though SocketMud(tm) was written for Linux, it is possible to get it to run under the Windows platform using the Cygwin environment. This small guide should help most people get started. Alex Mandez managed to get SocketMud to compile on Cygwin 1.3.22, where he had the following list of packages installed - it's unlikely that they are all needed, but you can use this list as a point of reference. ash ash-20020731-1.tar.bz2 0 autoconf autoconf-2.54-1.tar.bz2 0 autoconf-devel autoconf-devel-2.57-1.tar.bz2 0 autoconf-stable autoconf-stable-2.13-4.tar.bz2 0 automake automake-1.7.1-1.tar.bz2 0 automake-devel automake-devel-1.7.3-1.tar.bz2 0 automake-stable automake-stable-1.4p5-5.tar.bz2 0 base-files base-files-1.3-1.tar.bz2 0 base-passwd base-passwd-1.1-1.tar.bz2 0 bash bash-2.05b-9.tar.bz2 0 binutils binutils-20030307-1.tar.bz2 0 bzip2 bzip2-1.0.2-2.tar.bz2 0 cygwin cygwin-1.3.22-1.tar.bz2 0 diffutils diffutils-2.8.1-1.tar.bz2 0 fileutils fileutils-4.1-1.tar.bz2 0 findutils findutils-4.1.7-4.tar.bz2 0 gawk gawk-3.1.2-2.tar.bz2 0 gcc gcc-3.2-3.tar.bz2 0 gcc-mingw gcc-mingw-20020817-5.tar.bz2 0 gcc2 gcc2-2.95.3-10.tar.bz2 0 gdb gdb-20030303-1.tar.bz2 0 gdbm gdbm-1.8.0-5.tar.bz2 0 grep grep-2.5-1.tar.bz2 0 gzip gzip-1.3.3-4.tar.bz2 0 libbz2_1 libbz2_1-1.0.2-2.tar.bz2 0 libdb3.1 libdb3.1-3.1.17-2.tar.bz2 0 libgdbm libgdbm-1.8.0-5.tar.bz2 0 libgdbm-devel libgdbm-devel-1.8.0-5.tar.bz2 0 libgdbm3 libgdbm3-1.8.3-1.tar.bz2 0 libiconv2 libiconv2-1.8-2.tar.bz2 0 libintl1 libintl1-0.10.40-1.tar.bz2 0 libintl2 libintl2-0.11.5-1.tar.bz2 0 libncurses5 libncurses5-5.2-1.tar.bz2 0 libncurses6 libncurses6-5.2-8.tar.bz2 0 libncurses7 libncurses7-5.3-1.tar.bz2 0 libreadline4 libreadline4-4.1-2.tar.bz2 0 libreadline5 libreadline5-4.3-2.tar.bz2 0 login login-1.8-1.tar.bz2 0 m4 m4-1.4-1.tar.bz2 0 make make-3.79.1-7.tar.bz2 0 mingw-runtime mingw-runtime-3.0-1.tar.bz2 0 mktemp mktemp-1.4-1.tar.bz2 0 ncurses ncurses-5.3-1.tar.bz2 0 pcre pcre-4.1-1.tar.bz2 0 perl perl-5.8.0-2.tar.bz2 0 readline readline-4.3-2.tar.bz2 0 sed sed-4.0.7-1.tar.bz2 0 sh-utils sh-utils-2.0.15-3.tar.bz2 0 tar tar-1.13.25-1.tar.bz2 0 tcltk tcltk-20030214-1.tar.bz2 0 termcap termcap-20020930-1.tar.bz2 0 terminfo terminfo-5.3-2.tar.bz2 0 texinfo texinfo-4.2-4.tar.bz2 0 textutils textutils-2.0.21-1.tar.bz2 0 w32api w32api-2.3-1.tar.bz2 0 which which-1.5-1.tar.bz2 0 zlib zlib-1.1.4-1.tar.bz2 0 _update-info-dir _update-info-dir-00164-1.tar.bz2 0 It should also be noted that I managed to get the code working with the latest version of Cygwin installed (Cygwin 1.5.5) on a Windows ME machine. I opted to install all packages, so I had no problem with dependencies of any kind. Since SocketMud doesn't work on Cygwin out-of-the-box, a patch was written to make the needed changes to the SocketMud code. This patch should be applied to the stock SocketMud code, after which SocketMud should compile without any compile errors on Cygwin. Simply download the codebase and the patch, and type (replace the version number with whatever you download - the SocketMud version should match the patch) $ tar xvzf SocketMud-1.7.tar.gz $ patch -p0 < cygwin-1.7.patch The patch adds three new defines to the Makefile, which I will attempt to explain here. DNOCRYPT ======== This removes the encryption of the passwords. If you install everything with Cygwin, you should be able to remove this without any problems, but if you get compile errors regarding crypt, then you need to keep this in the Makefile. Player files that are encrypted cannot be loaded when this is in the Makefile (the password won't match), so once your MUD opens to the public, you shouldn't change this setting again. DNOMCCP ======= This turns of the support for MCCP (the compression protocol). You can safely switch this on and off, depending on what machine you are working on. I don't think Cygwin supports this feature at the moment, so you should probably keep this in the Makefile when working on Cygwin. DCYGWIN32 ========= This is what makes the codebase compile under Cygwin. The needed changes can be turned on and off simply be adding or removing this definition in the Makefile. When compiling on a Linux system, remove this from the Makefile, and when compiling on Cygwin, simply keep it in the Makefile.