OpenJDK Hotspot built on Haiku

Blog post by andrewbachmann on Sun, 2009-12-20 23:49

As my first blog entry, I present a set of instructions for building the OpenJDK “hotspot” repository on Haiku. The product of this process will be a partial jre, including the libraries.

The Haiku alpha already has installed some of the required software, such as mercurial, gcc 2.95.3 and gcc 4.x.

To build OpenJDK on Haiku some extra files are required. By default the build will attempt to use xsltproc for xslt transforms. It can alternatively use xalan. The xsltproc program is available for download as part of HaikuPorts, or individually here:

Install xsltproc by unzipping it to /boot.

OpenJDK uses the forest extension of mercurial. To retrieve it, do the following:

/boot/develop> hg clone

This will create a new subdirectory hgforest which has the file in it.

Follow the instructions here and configure your .hgrc to point to the forest install. For example:


Next you should fclone the haiku repository. This will take a while.

/boot/develop> hg fclone openjdk-haiku

Next set up the environment and select gcc4.

/boot/develop> mkdir bootdir
/boot/develop> export ALT_BOOTDIR=/boot/develop/bootdir
/boot/develop> setgcc x86 gcc4

I haven’t yet integrated jvmtiEnvFill into the makefile, so you have to compile it manually.

/boot/develop> cd /boot/develop/openjdk-haiku/hotspot/src/share/tools/jvmti
/boot/develop/openjdk-haiku/hotspot/src/share/tools/jvmti> g++ -o jvmtiEnvFill jvmtiEnvFill.cpp

Finally, run the make. This will really take a while.

/boot/develop> cd /boot/develop/haiku/hotspot/make
/boot/develop/openjdk-haiku/hotspot/make> make

The outputs will be in a “build” folder in the hotspot directory.