Building PennMUSH on cygwin
I was recently asked about building PennMUSH under Cygwin, a port of the GNU software to Windows. We used to recommend Cygwin as a platform for Windows users, and then stopped doing so when cygwin quirks and the arrival of Mingw32+Msys offered a better alternative. But Cygwin has regular upgrades and I thought it would be interesting to try again with the most recent version (1.5.19-4) under Windows XP Pro.
I installed Cygwin and added the following extra packages to the base install: binutils, gcc, gcc-core, make, openssl, openssl-devel, perl, bash, gnupg, and patch (and anything that these depended on). Then I tried to build PennMUSH 1.8.1p5.
Lo and behold, the build went exactly like a Unix build. ./Configure -d worked perfectly, without even needing the old cygwin hints. I copied options.h.dist to options.h, edited it to undefine INFO_SLAVE, and ran make install. No problems at all.
I copied game/mushcnf.dst to game/mush.cnf and edited it to enable SSL. I edited game/restart to specify the GAMEDIR (/home/javelin/pennmush/game, in my case). I ran ./restart
The server started, and I could log in as #1. SSL logins worked fine. In fact, everything worked as expected (I did not test @shutdown/reboot, though. Perhaps someone will and post a comment here?) I was using gzip-compressed databases.
I also tested make update, which is reported to have problems under Msys, and that worked just great, too.
In conclusion, Cygwin is a very reasonable platform for building and running PennmUSH. The next 1.8.1 release will include a win32/README.cygwin file explaining the build steps (much as I've just done).
Update: @shutdown/reboot does work fine. However, closing the cygwin bash window that you run restart in does kill the process, so don't do that unless cygwin has some way of running processes as a service that I haven't looked into.

Click 

Yep.
I have been monkeying around with Penn on Cygwin since 1.7.7, both on Win 2000 Pro and Win XP Home. Using Penn just as localhost on my machine only to work on coding projects, since I am too cheap to have a server. But I have never had problems doing a make from scratch just following the README instructions, and I consider myself just barely *nix proficient, relatively speaking.
Localized Penn under Cygwin
In addition to the packages Javelin mentions above, I found you also need gettext-devel in order to build a localized (non-en_US) version of Penn under Cygwin. Otherwise trying to compile with a different locale raises an error that msgfmt can't be found.