INRIA

VMKit2 Project

Laboratoire d'Informatique de Paris6

Get Started


Overview

Get Started

Tutorial

Mailing Lists

Publications

If you would like to check out and build the project, the current scheme is:

Prerequisites
You will have to install a C++ compiler and Java 1.5 or more in order to compile vmkit2

  1. Download LLVM 3.2 and Clang 3.2 source code.
    • tar zxvf llvm-3.2.src.tar.gz
    • cd llvm-3.2.src/tools
    • tar zxvf ../../clang-3.2.src.tar.gz
    • mv clang-3.2.src clang
    • cd ..
    • ./configure --enable-optimized; make
  2. Download GNU Classpath 0.99:
    • tar zxvf classpath-0.99.tar.gz
    • cd classpath-0.99
    • ./configure --disable-plugin --disable-examples --disable-Werror; make
    • cd lib
    • If you are running on Linux:
      • ln -s ../native/jni/gtk-peer/.libs/libgtkpeer.so;
      • ln -s ../native/jni/gconf-peer/.libs/libgconfpeer.so;
      • ln -s ../native/jni/java-io/.libs/libjavaio.so;
      • ln -s ../native/jni/java-lang/.libs/libjavalangreflect.so;
      • ln -s ../native/jni/java-lang/.libs/libjavalang.so;
      • ln -s ../native/jni/java-net/.libs/libjavanet.so;
      • ln -s ../native/jni/java-nio/.libs/libjavanio.so;
      • ln -s ../native/jni/java-util/.libs/libjavautil.so;
    • If you are running on MacOS:
      • ln -s ../native/jni/gtk-peer/.libs/libgtkpeer.dylib;
      • ln -s ../native/jni/gconf-peer/.libs/libgconfpeer.dylib;
      • ln -s ../native/jni/java-io/.libs/libjavaio.dylib;
      • ln -s ../native/jni/java-lang/.libs/libjavalangreflect.dylib;
      • ln -s ../native/jni/java-lang/.libs/libjavalang.dylib;
      • ln -s ../native/jni/java-net/.libs/libjavanet.dylib;
      • ln -s ../native/jni/java-nio/.libs/libjavanio.dylib;
      • ln -s ../native/jni/java-util/.libs/libjavautil.dylib;
  3. Checkout vmkit2:
    • git clone git://scm.gforge.inria.fr/vmkit2/vmkit2.git
  4. Configure vmkit2:
    • ./configure
    • --with-llvm-config-path=<path/to/llvm-config>
      Tell vmkit where the llvm-config binary is located.

      --with-mmtk-plan=
      • org.mmtk.plan.marksweep.MS (default)
      • org.mmtk.plan.copyms.CopyMS
      • org.mmtk.plan.semispace.SS
      • org.mmtk.plan.immix.Immix
      • org.mmtk.plan.generational.marksweep.GenMS
      • org.mmtk.plan.generational.copying.GenCopy
      • org.mmtk.plan.generational.immix.GenImmix
      • you can use GNU Classpath by configuring the following :

        --with-gnu-classpath-glibj=<path/to/file/glibj.zip>
        Tell vmkit where GNU Classpath glibj.zip is located.

        --with-gnu-classpath-libs=<path/to/libs/directory>
        Tell vmkit where GNU Classpath libs are located.
      • or OpenJDK by configuring :

        --with-classpath-impl=openjdk
        Tell vmkit to use OpenJDK classpath implementation.

        --with-openjdk-path=<directory>
        Tell vmkit where OpenJDK is located.
  5. Build vmkit:
    • make (this will give you a release build)
  6. Try it out: (assuming vmkit/Release+Asserts/bin is in your path)
    • j3 --help
    • j3 HelloWorld
Last update: January 17 2013 17:28:13.