<html>
<head>
  <title>LLBrowse - a graphical browser for LLVM modules.</title>
  <link rel="stylesheet" href="http://llvm.org/docs/llvm.css" type="text/css"> 
</head>
<body>
<div class="doc_title"> 
  LLBrowse - A graphical browser for LLVM modules.
</div> 

<ul> 
  <li><a href="#requirements">Requirements</a> 
  <li><a href="#checkout">Getting the code</a> 
  <li><a href="#building">Building</a> 
  <li><a href="#running">Running</a> 
</ul>

<div class="doc_section"> 
  <a name="requirements"><b>Requirements</b></a> 
</div> 

<div class="doc_text"> 
<p>LLBrowse requires the following packages to be installed:
<ul> 
  <li><b>LLVM 2.8</b> or higher.
  <li><b>wxWidgets</b> (See <a href="http://www.wxwidgets.org">www.wxwidgets.org</a>. Any recent version should work.)
  <li><b>CMake 2.8</b> or higher.(See <a href="http://www.cmake.org">http://www.cmake.org/</a>.)
</ul>
</div>
  
<div class="doc_section"> 
  <a name="checkout"><b>Getting the code</b></a> 
</div> 

<div class="doc_text">

<p>You can get the source code to LLBRowse via Subversion:</p>

<ul> 
<li><tt>cd <i>where-you-want-llbrowse-to-live</i></tt>
<li>Read-Only: <tt>svn co http://llvm.org/svn/llvm-project/llbrowse/trunk llbrowse</tt>
<li>Read-Write: <tt>svn co https://user@llvm.org/svn/llvm-project/llbrowse/trunk llbrowse</tt>
</ul> 
</div>

<div class="doc_section"> 
  <a name="building"><b>Building</b></a> 
</div> 

<div class="doc_text">
<p>LLBrowse uses CMake to generate the Makefiles for the project.
<ol> 
  <li><p>Create a directory for containing the build. It is not
      supported to build LLBrowse on the source directory. cd to this
      directory:</p>
    <div class="doc_code"> 
      <p><tt>mkdir <i>mybuilddir</i></tt></p> 
      <p><tt>cd <i>mybuilddir</i></tt></p> 
    </div> 

  <li><p>Execute this command on the shell
      replacing <i>path/to/llbrowse/source/root</i> with the path to the
      root of your LLBrowse source tree:</p> 
    <div class="doc_code"> 
      <p><tt>cmake <i>path/to/llbrowse/source/root</i></tt></p> 
    </div> 
    
    <p>If your installation of 'llvm-config' is not in one of the standard
    places, you can tell CMake where to find it by defining <tt>LLVM_CONFIG_EXECUTABLE</tt> on the command line.
 
      <div class="doc_code"> 
        <p><tt>cmake <i>path/to/llbrowse/source/root</i> -D LLVM_CONFIG_EXECUTABLE="<i>path/to/llvm-config</i>"</tt></p> 
      </div>
      
    <p><b>Note for Mac OS X</b>: If you are trying to build under OS X 10.6 ("Snow Leopard") you will
      need to tell CMake to build the project as a 32-bit executable, rather than 64-bits which is the default.
      The reason for this is because wxWidgets uses the Carbon APIs, and there's no 64-bit version of Carbon.
      You will also need a 32-bit version of the LLVM libraries.

      <div class="doc_code">
        <p><tt>cmake <i>path/to/llbrowse/source/root</i> -D CMAKE_OSX_ARCHITECTURES="i386;ppc"</tt></p>
      </div>

  <li><p>If CMake was successful, you can now build the executable by running
     'make':
    <div class="doc_code"> 
      <p><tt>make</tt></p> 
    </div> 
    
 </ol>
Of course, if you prefer to build using Eclipse, KDevelop or another IDE,
you can have CMake generate the appropriate project files for those
environments. Consult the CMake documentation or run <tt>cmake --help</tt> for
instructions how to do this.
</div>
  
<div class="doc_section"> 
  <a name="running"><b>Running</b></a> 
</div> 

<div class="doc_text"> 
<p>You can run the <tt>llbrowse</tt> program from the shell:

  <div class="doc_code"> 
    <p><tt>cd <i>mybuilddir</i></tt></p> 
    <p><tt>./llbrowse</tt></p> 
  </div> 

<p>The program should open a new, blank window:

<p><img src="llbrowse1.png">

<p>To open an LLVM module, select the <b>File -> Open</b> menu. A file dialog should
appear. Select the module file (either a .bc or .ll file) and click "Open"
in the dialog box.

<p>You should now see an outline of the module contents:

<p><img src="llbrowse2.png">

<p>At this point, you can explore the contents of the module by expanding
the nodes of the tree view. The pane on the right side shows additional
details about the currently selected item.

<p><img src="llbrowse3.png">

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