Jikes Developer FAQ Jikes


Jikes on 32-bit Windows

Installing MinGW and MSYS

This document describes how to compile Jikes on Windows using MinGW and MSYS. This combination provides the only "supported" method of compiling Jikes for Windows. If you run into a problem using this build method, please report it on the jikes-dev mailing list. You are welcome to use other tools to compile Jikes, but if you run into problems you are on your own.

What are MinGW and MSYS?

MinGW is a set of GNU compiler tools, header files, and import libraries that allow you to compile Windows applications. MSYS is an environment for MinGW that allows you to run configure -- a script used by Jikes and many other open source projects that use the GNU autotools configuration system. For more details about both MinGW and MSYS see the website www.mingw.org.

How do I install MinGW and MSYS?

We suggest grabbing the most recent msys_mingw zip file (scroll down, it is near the bottom). Then just unzip the file and double click on the msys shortcut (not the icon) to start the shell. One can run the jikes configure script in the normal way from inside the shell. Using the bundled zip file is the most simple method to get up and running, if you want to install these tools separately, you can download the installers here.

UNIX users will already be familiar with the shell interface. Windows users should not fear, bash is similar to the Command Prompt. To learn more about bash see Introduction to bash.

Compiling Without Encoding Support

Grab the latest release of Jikes from Jikes downloads page and follow the generic build instructions. This will generate a jikes.exe executable that does not recognize the -encoding option. If you need to make use of encodings go to the next section.

Compiling With Encoding Support

To build a jikes executable that supports encodings, one must first build the libiconv library. Download the libiconv source package from your closest GNU mirror. If you just want a link to click on try libiconv-1.8.tar.gz. The following assumes that you save the file to C:\temp. In MSYS drive C: is represented as /c, so in the examples below C:\temp is /c/temp. If you saved the file somewhere else you'll need to change the references accordingly.

If you have not already done so, start up an MSYS bash shell. At the prompt, execute the following to extract the source files, and compile libiconv:

$ tar xvzf /c/temp/libiconv-1.8.tar.gz
$ mkdir libiconv-build
$ cd libiconv-build
$ ../libiconv-1.8/configure --enable-extra-encodings \
--enable-static --disable-shared
$ make
$ cd ..

Note that libiconv is not installed, it is only used when linking the jikes executable.

Now grab the latest release of Jikes from Jikes downloads page. These instructions assume Jikes version 1.18, but use a newer release if available.

As in the previous instructions, we assume you save the file to C:\temp, which is /c/temp in MSYS. At the MSYS prompt, execute the following to extract the source files, compile, and install Jikes. Note that a little shell trick is used here to ensure that the CPPFLAGS and LDFLAGS variables use fully qualified path names.

$ tar xvjf /c/temp/jikes-1.18.tar.bz2
$ mkdir jikes-build
$ cd jikes-build
$ ../jikes-1.18/configure \
CPPFLAGS=-I`cd ../libiconv-build/include;pwd` \
LDFLAGS=-L`cd ../libiconv-build/lib/.libs;pwd`
$ make

You should now have your own compiled version of jikes.exe with -encoding support in the src directory. Copy jikes.exe to where you normally have Jikes installed (make a backup of your old installation first) and give it a whirl!