|Cheat sheets: CVS | cygwin | Debian | Emacs | MythTV|
8 Jan 2007
Editor's note: don't bother with this -- it has a few misc bugs, and 21.4 lacks any interesting features. Either use gnu's 21.3, or try [[http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl][EmacsW32 which uses CVS sources]].
13 Dec 2006
I'm setting up yet another Windows machine, and I wanted to try a newer Emacs than the precompiled 21.3 available on gnu.org. I couldn't find any precompiled version of 21.4.x for Win32, so I compiled it myself.
This was enough of a pain that I'm posting the tarball of binaries in case someone else wants them:
Install in the usual way -- untar to something like c:/emacs and add c:/emacs/bin to your PATH.
Caveats: I just compiled this today; I haven't tested the binaries very much yet.
I downloaded emacs-21.4a source from gnu.org and extracted under c:/emacs_src
I installed cygwin, including gcc and mingw.
I grabbed UnxUtils as well, from http://unxutils.sourceforge.net/ and extracted make.exe and sh.exe. I renamed make.exe as make-unxutils.exe, and temporarily put make-unxutils.exe and sh.exe in the front of my $PATH.
To fix a compile error with gcc 3.4.4, I made the following diff to c:/emacs_src/emacs-21.4/src/lisp.h:
#ifndef USE_CRT_DLL extern char *egetenv P_ ((char *)); +#else +extern char * egetenv(char *); /* xxx tulrich: add missing function prototype */ #endif
I ran these commands (in a cygwin bash shell) to build the executables and the tarball:
cd c:/emacs_src/emacs-21.4/nt ./configure.bat --with-gcc --no-cygwin make-unxutils.exe make-unxutils.exe install INSTALL_DIR=c:/emacs cd c:/ tar czvf emacs-21.4.1-i386-mingw-nt5.1.2600.tar.gz c:/emacs
Things that didn't work
Compiling with MS Visual Studio .NET 2003 and Platform SDK, under a cygwin shell. Some problem with link.exe. In hindsight this looks like a naming clash between the MSVC link.exe and the link.exe in cygwin, so it's probably not hard to fix.