17-02-2011 ========== This is a fork of the unreleased yet official JamVM/OpenJDK sources available at git://git.berlios.de/jamvm . The only goal of this version is to improve the MacOSX support for the OpenJDK classlib without bothering the author too much. I may have broken other OS support or GNU classpath support but that's not important ATM as my only intent is to figure out what's missing and what's broken in the JamVM/OpenJDK/MacOSX trio to make it work as well as Hotspot then persuade Rob Lougher to make the necessary changes in the official version. Quick instructions (modified version of the original ones the author published on his blog: http://draenog.blogspot.com/2011/02/openjdkjamvm-git-repository.html) ~~~~~~~ After cloning the git repository, do: CFLAGS=-m32 ./autogen.sh --with-java-runtime-library=openjdk This will generate the autoconf/automake files and configure JamVM to build support for 32-bit OpenJDK. Then do make as usual. This will put libjvm.dylib into ./src/.libs/ . This can then be copied onto an existing 32-bit OpenJDK6 installation (or a copy of one), e.g.: cd /Applications/OSCG cp -r OpenJDK6-b16 OpenJDK6-b16-jamvm cp <JAMVM_BUILD_DIR>/src/.libs/libjvm.dylib OpenJDK6-b16-jamvm/jre/lib/i386/client cp <JAMVM_BUILD_DIR>/src/.libs/libjvm.dylib OpenJDK6-b16-jamvm/jre/lib/i386/server You can then run it by running the normal java wrapper, e.g.: /Applications/OSCG/OpenJDK6-b16-jamvm/bin/java -version openjdk version "1.6.0-internal" OpenJDK Runtime Environment (build 1.6.0-internal-landonf_17_may_2009_13_58-b00) JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching) (the inline-threaded interpreter is the other name for the code-copying JIT) There are two pre-built versions of 32-bit OpenJDK6 which do work fine: * OpenSCG OpenJDK 6 One-click Installers: http://www.openscg.com/se/openjdk/index.jsp This is the most recent of the two but its Swing support is broken. It fails with 'Trace/BPT trap' when the Swing API is called as it tries to load CoreFoundation libs from a non-main thread, see: http://openradar.appspot.com/7209349 * SoyLatte: http://landonf.bikemonkey.org/static/soylatte/ This build is older than the OpenSCG one but Swing works with it. ~~~~~~~ For a 64-bit build, after cloning the git repository, do: CFLAGS=-m64 ./autogen.sh --with-java-runtime-library=openjdk There is no pre-built version of 64-bit OpenJDK6 but the one maintained by macports (http://www.macports.org) works fine. After building it, just do the same as for the 32-bit build, ie: replace the libjvm.dylib bundled with OpenJDK6 with the JamVM one: cp <JAMVM_BUILD_DIR>/src/.libs/libjvm.dylib <OpenJDK6-HOME>/jre/lib/amd64/server