OpenJDK 7 Environment Setup for BeOS R5.0.3

This document outlines the steps for installing and configuring an environment on BeOS R5 suitable for preliminary work on the OpenJDK 7 port to Haiku. This document, like the foundation for our porting effort is currently a work in progress.

Requirements to access OpenJDK's Mercurial Repository

Python 2.4

This Python package from bebits works well on R5.
Follow the instructions to install it. It's not the cleanest install in the world, (I don't like
the ~/bin and ~/lib) but it works. Clearly in the future we need to port Python to Haiku, so
perhaps it's time someone take a stab at it.

Mercurial

This slightly patched, 'stable' snapshot of Mercurial will build and install on BeOS R5. Follow the UnixInstall
process for a Per-user installation. Instead of adding the exports to ~/.bashrc,
I would recommend adding them to ~/.profile. Before testing your new install,
create ~/.hgrc and add the following contents:

[ui]
username = -your-email-address-here-

For those curious, the patch removes the check for file descriptors to be sockets. This was necessary on R5, and involved commenting out two lines. After that, mercurial built just fine.

Mercurial Forest Extension

The forest extension will need to be downloaded (from a mercural repo!) and then added to your ~/.hgrc file as an extension.

  1. hg clone http://hg.akoha.org/hgforest/ hgforest
  2. Add the following to your ~/.hgrc file
    [extensions]
    hgext.forest = /path/to/cloned/hgforest/forest.py
    

Getting the JDK7 code

Once we have a real sub-project over at the OpenJDK (soon, if all goes well), these instructions will likely change, as we should have our own repository. That said, to satiate the desire of the hungry developers out there (like myself) a good way to familiarize yourself with the OpenJDK code is to checkout the full JDK7 repository. Referr to this post on Kelly O'Hair's blog.
Or, for the impatient

hg fclone http://hg.openjdk.java.net/jdk7/jdk7 yourjdk7
cd yourjdk7

This will take a very, very long time. Be Patient.