<!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 and CLI runtime, it
is <em>still early work</em> and is under heavy development. 
<p>Some of the more notable missing pieces in the CLI runtime are:</p>

<ol>
  <li>Support for arithmetic overflow.</li>
  <li>Support for CLI object finalization semantics.</li>
  <li>Thread support.</li>
</ol>

<p>Some of the common missing pieces in vmkit/llvm are:</p>

<ol>
  <li>Hotspot-like virtual machine (e.g mixed interpretation/compilation).</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 (if you only want the JVM, you can skip the Pnet part. If you only want the CLI
VM, you can skip the GNU Classpath part):</p>

<ol>
  <li><a href="http://www.llvm.org/docs/GettingStarted.html#checkout">Checkout
   and build LLVM</a> from SVN head:</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>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><a href="http://download.savannah.gnu.org/releases/dotgnu-pnet/pnet-0.8.0.tar.gz">Download
   PNet 0.8.0</a>:</li>
   <ul>
    <li><tt>tar zxvf pnet-0.8.0.tar.gz</tt></li>
    <li><tt>cd pnet-0.8.0</tt></li>
    <li><tt>./configure; make</tt></li>
   </ul>
  
  <li><a href="http://download.savannah.gnu.org/releases/dotgnu-pnet/pnetlib-0.8.0.tar.gz">Download
   PNetlib 0.8.0</a>:</li>
   <ul>
    <li><tt>tar zxvf pnetlib-0.8.0.tar.gz</tt></li>
    <li><tt>cd pnetlib-0.8.0</tt></li>
    <li><tt>./configure; make</tt></li>
   </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-pnet-local-prefix=&lt;directory&gt;</tt></dt>
    <dd>Tell vmkit where PNet is located.</dd>
    <dt><br/><tt>--with-pnetlib=&lt;directory&gt;</tt></dt>
    <dd>Tell vmkit where pnetlib's mscorlib.dll is located.</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>
    <li><tt>n3-pnetlib --help</tt></li>
    <li><tt>n3-pnetlib HelloWorld.exe</tt></li>
  </ul>
</ol>

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