<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  <title>VMKit - Getting Started</title>
  <link type="text/css" rel="stylesheet" href="menu.css" />
  <link type="text/css" rel="stylesheet" href="content.css" />
</head>
<body>

<!--#include virtual="menu.html.incl"-->

<div id="content">

<h1>Getting Started: Building and Running VMKit</h1>


<p>This page gives you the shortest path to checking out vmkit and demos a few
options.  This should get you up and running with the minimum of muss and fuss.
If you like what you see, please consider <a href="get_involved.html">getting
involved</a> with the vmkit community.</p>


<h2>A word of warning</h2>

<p>While this work aims to provide a fully functional JVM, it
is <em>still early work</em> and is under heavy development. 
<p>Some of the common missing pieces in vmkit/llvm are:</p>

<ol>
  <li> Mixed interpretation/compilation.</li>
  <li> Adaptive optimization.</li>
</ol>

<h2 id="build">Building vmkit / working with the code</h2>

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

<ol>
  <li><a href="http://www.llvm.org/docs/GettingStarted.html#checkout">Checkout
    and build LLVM</a> from SVN head. Make sure you have llvm-gcc or clang available
    when you configure LLVM. Alternatively, you can also checkout clang in llvm/tools.</li>

  <ul>
    <li><tt>svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</tt></li>
    <li><tt>cd llvm</tt></li>
    <li><tt>./configure; make</tt></li>
  </ul>

  
  <li><a href="ftp://ftp.gnu.org/gnu/classpath/classpath-0.97.2.tar.gz">Download
   GNU Classpath 0.97.2</a>:</li>

  <ul>
    <li><tt>tar zxvf classpath-0.97.2.tar.gz</tt></li>
    <li><tt>cd classpath-0.97.2</tt></li>
    <li><tt>./configure --disable-plugin --disable-examples --disable-Werror; make</tt></li>
    <li><tt>cd lib</li></tt>
    <li><tt>If you are running on Linux:</li></tt>
    <ul>
      <li><tt>ln -s ../native/jni/gtk-peer/.libs/libgtkpeer.so;</li></tt>
      <li><tt>ln -s ../native/jni/gconf-peer/.libs/libgconfpeer.so;</li></tt>
      <li><tt>ln -s ../native/jni/java-io/.libs/libjavaio.so;</li></tt>
      <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalangreflect.so;</li></tt>
      <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalang.so;</li></tt>
      <li><tt>ln -s ../native/jni/java-net/.libs/libjavanet.so;</li></tt>
      <li><tt>ln -s ../native/jni/java-nio/.libs/libjavanio.so;</li></tt>
      <li><tt>ln -s ../native/jni/java-util/.libs/libjavautil.so;</li></tt>
    </ul>
    <li><tt>If you are running on MacOS:</li></tt>
    <ul>
      <li><tt>ln -s ../native/jni/gtk-peer/.libs/libgtkpeer.dylib;</li></tt>
      <li><tt>ln -s ../native/jni/gconf-peer/.libs/libgconfpeer.dylib;</li></tt>
      <li><tt>ln -s ../native/jni/java-io/.libs/libjavaio.dylib;</li></tt>
      <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalangreflect.dylib;</li></tt>
      <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalang.dylib;</li></tt>
      <li><tt>ln -s ../native/jni/java-net/.libs/libjavanet.dylib;</li></tt>
      <li><tt>ln -s ../native/jni/java-nio/.libs/libjavanio.dylib;</li></tt>
      <li><tt>ln -s ../native/jni/java-util/.libs/libjavautil.dylib;</li></tt>
    </ul>
  </ul>
  
  <li>Checkout vmkit:</li>
  <ul>
     <li><tt>svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit</tt></li>

  </ul>
  <li>Configure vmkit:</li>
  <ul>
  <li><tt>./configure </tt></li>
  <dl>
    <dt><tt>--with-llvmsrc=&lt;directory&gt;</tt></dt>
    <dd>Tell vmkit where the LLVM source tree is located.</dd>
    <dt><br/><tt>--with-llvmobj=&lt;directory&gt;</tt></dt>
    <dd>Tell vmkit where the LLVM object tree is located.</dd>
    <dt><br/><tt>--with-gnu-classpath-glibj=&lt;file or directory&gt;</tt></dt>
    <dd>Tell vmkit where GNU Classpath glibj.zip is located.</dd>
    <dt><br/><tt>--with-gnu-classpath-libs=&lt;directory&gt;</tt></dt>
    <dd>Tell vmkit where GNU Classpath libs are located.</dd>
    <dt><br/><tt>--with-mmtk-plan=</tt> </dt>
      <dd>
      <ul>
      <li><tt>org.mmtk.plan.marksweep.MS (default)</tt></li>
      <li><tt>org.mmtk.plan.copyms.CopyMS</tt></li>
      <li><tt>org.mmtk.plan.semispace.SS</tt></li>
      <li><tt>org.mmtk.plan.immix.Immix</tt></li>
      <li><tt>org.mmtk.plan.generational.marksweep.GenMS</tt></li>
      <li><tt>org.mmtk.plan.generational.copying.GenCopy</tt></li>
      <li><tt>org.mmtk.plan.generational.immix.GenImmix</tt></li>
      </ul>
      </dd>
  </dl>

  </ul>

  <li>Build vmkit:</li>
  <ul>
    <li><tt>cd vmkit</tt></li>
    <li><tt>make</tt> (this will give you a debug build)</li>
  </ul>

  <li>Try it out: (assuming vmkit/Debug/bin is in your path)</li>
  <ul>
    <li><tt>j3 --help</tt></li>
    <li><tt>j3 HelloWorld</tt></li>
  </ul>
</ol>

</div>
</body>
</html>
