The compiler used for MESS and MAME on Windows has changed starting with version 0.137. These instructions are for versions 0.136 and older. For current compile instructions, go here.
MESS is developed as a patch for the MAME source, so the MESS source distribution does not include important files like the makefile, which come from MAME.
Download the MESS source and the MAME source with the same version number. Extract the MAME source into a directory somewhere, then extract the MESS source overtop of it, overwriting files if prompted.
Download the Build Tools (or from MAMEDev.org) and follow the instructions to install them. To verify your install, open a command line window and try the following:
C:\>gcc --version gcc (GCC) 4.2.1-sjlj (mingw32 sjlj-unwind) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The output should be the same or similar. If there is an error message like this:
C:\>gcc --version 'gcc' is not recognized as an internal or external command, operable program or batch file.
Then your path environment variable is not setup correctly. To fix this temporarily, use the following command:
C:\>path C:\mingw\bin;%path%
If you installed the tools into a different directory, change the location appropriately.
You are now ready to compile MESS. To do so, change to the directory where you installed the MESS (and MAME) sources using the cd command and drive letters. For example:
C:\>D: D:\>cd mess D:\mess>
To start the build process, type mingw32-make TARGET=mess
:
D:\mess>mingw32-make TARGET=mess mkdir.exe -p obj/windows/mess mkdir.exe -p obj/windows/mess/build mkdir.exe -p obj/windows/mess/emu/audio mkdir.exe -p obj/windows/mess/emu/cpu mkdir.exe -p obj/windows/mess/emu/cpu/apexc ...
When it's finished, you will have some new executables, among them mess.exe
and messui.exe
.
You will need to create MESS's config files before running, to do that, type mess -cc
:
D:\mess>mess -cc
You have now fully compiled MESS, have fun! :)
To compile a symbols-enabled version for backtracing add SYMBOLS=1
:
D:\mess>mingw32-make TARGET=mess SYMBOLS=1