13 Dec 2006
emacs binaries
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:
emacs-21.4.1-i386-mingw-nt5.1.2600.tar.gz
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.
Notes
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.