XEmacs MinGW

This is the MinGW (32bit) port for XEmacs Beta (21.5). It should be able to work as the offical native Win32 port.


This part consist of the how to get the XEmacs for MinGW source code, install the MinGW compiler, install the graphic libraries used by XEmacs. And finally how to compile the thing with graphic support.

Get the source code

It's very easy to clone the whole XEmacs MinGW source into your local drive as long as you have Mercurial installed.

Just run one of the following command in your command prompt. Note, to use the second one, you must have ssh configured in your OS. Google for how to configure Mercurial ssh in windows if you want.

hg clone https://m_pupil@bitbucket.org/m_pupil/xemacs-mingw
hg clone ssh://hg@bitbucket.org/m_pupil/xemacs-mingw

If everything goes well you should have a new xemacs-mingw folder full of INSTALL, README and subfolders generated at your current folder.

Install the MinGW compiler

Go to the MinGW offical site and follow the Download link to download the latest amazing mingw-get-setup.exe

Make sure to install MingW runtime, Gnu compiler collection, Development libraries, MSYS to a directory without any space in its name. e.g. I install them to the following location:


Note that MSYS was designed to support the GNU configure script and compilation procedure in Windows, it should not be installed in the same bin directory(folder) of the MinGW tools.

Install the GNU Win32 libraries

To compile in graphic support we have to download following libraries from GnuWin32 site.

  • xpm
  • tiff
  • libpng
  • libungif
  • jpeg

Make sure to download both the runtime libraries and development files and install them in a directory without any space in its name. e.g. I install them into the following directory:


The add the bin sub-directory to system's Path.

Special section for xpm library

The development files for xpm library misses a header file simx.h which was used by XEmacs. The file was shipped with the xpm source package. Just download the file and extact the simx.h to the include sub-directory of your gnuwin32 library root. e.g. for me I have to copy the extracted simx.h file into


Compile XEmacs with MinGW

Start a MSYS shell by click the start menu item, or msys.bat in msys\1.0 sub-directory if the menu item or desktop short cut was not created for you automatically during the mingw-get running.

Change to the directory where your XEmacs source resides. and run configure follows the make:

./configure --with-mule --with-site-prefixes=/c/opt/gnuwin

Ignore any warning and click ok for the dialog box where shows "messages outputed exiting XEmacs". And you will have a copy of xemacs.exe ready in the src sub-directory. Go into the directory and run it there :P

cd src

Or you may just click the xemacs.exe executable in your windows explorer.