<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>Using The LLVM Libraries</title>
  <link rel="stylesheet" href="llvm.css" type="text/css">
</head>
<body>
<div class="doc_title">Using The LLVM Libraries</div>
<ol>
  <li><a href="#abstract">Abstract</a></li>
  <li><a href="#introduction">Introduction</a></li>
  <li><a href="#descriptions">Library Descriptions</a></li>
  <li><a href="#dependencies">Library Dependencies</a></li>
  <li><a href="#rot">Linkage Rules Of Thumb</a>
	  <ol>
      <li><a href="#always">Always link LLVMCore, LLVMSupport, LLVMSystem</a>
			<li><a href="#onlyone">Never link both archive and re-linked</a>
		</ol>
	</li>
</ol>

<div class="doc_author">
  <p>Written by <a href="mailto:rspencer@x10sys.com">Reid Spencer</a></p>
</div>

<p class="doc_warning">Warning: This document is out of date, please see <a href="CommandGuide/html/llvm-config.html">llvm-config</a> for more information.</p>

<!-- ======================================================================= -->
<div class="doc_section"><a name="abstract">Abstract</a></div>
<div class="doc_text">
  <p>Amongst other things, LLVM is a toolkit for building compilers, linkers,
  runtime executives, virtual machines, and other program execution related
  tools. In addition to the LLVM tool set, the functionality of LLVM is
  available through a set of libraries.  To use LLVM as a toolkit for
  constructing tools, a developer needs to understand what is contained in the
  various libraries, what they depend on, and how to use them.  This document 
  describes the contents of the libraries and how and when to use them.
</p>
</div>

<!-- ======================================================================= -->
<div class="doc_section"> <a name="introduction">Introduction</a></div>
<div class="doc_text">
  <p>If you're writing a compiler, virtual machine, or any other utility based 
  on LLVM, you'll need to figure out which of the many libraries files you will 
  need to link with to be successful. An understanding of the contents of these 
  files and their inter-relationships will be useful in coming up with an optimal 
  specification for the libraries to link with. The purpose of this document is 
  to reduce some of the trial and error that the author experienced in using 
  LLVM.</p>
  <p>LLVM produces two types of libraries: archives (ending in <tt>.a</tt>) and
  objects (ending in <tt>.o</tt>). However, both are libraries. Libraries ending
  in <tt>.o</tt> are known as re-linked libraries because they contain all the
  compilation units of the library linked together as a single <tt>.o</tt> file.
  Furthermore, many of the libraries have <em>both</em> forms of library. The
  re-linked libraries are used whenever you want to include all symbols from the
  library. The archive libraries are used whenever you want to only resolve
  outstanding symbols at that point in the link without including everything in
  the library. </p>
  <p>When linking your tools, you will use the <tt>LLVMLIBS</tt> make variable. 
  (see the <a href="MakefileGuide.html#LLVMLIBS">Makefile Guide</a> for 
  details). This variable specifies which LLVM libraries to link into your tool 
  and the order in which they will be linked. You specify re-linked libraries by
  naming the library without a suffix. You specify archive libraries by naming
  the library with a <tt>.a</tt> suffix but without the <tt>lib</tt> prefix. The
  order in which the libraries appear in the <tt>LLVMLIBS</tt> variable
  definition is the order in which they will be linked. Getting this order
  correct for your tool can sometimes be challenging.
</div>
<!-- ======================================================================= -->
<div class="doc_section"><a name="descriptions"></a>Library Descriptions</div>
<div class="doc_text">
  <p>The table below categorizes each library
<table style="text-align:left">
  <tr><th>Library</th><th>Forms</th><th>Description</th></tr>
  <tr><th colspan="3">Core Libraries</th></tr>
  <tr><td>LLVMArchive</td><td><tt>.a</tt></td>
    <td>LLVM archive reading and writing</td></tr>
  <tr><td>LLVMAsmParser</td><td><tt>.o</tt></td>
    <td>LLVM assembly parsing</td></tr>
  <tr><td>LLVMBCReader</td><td><tt>.o</tt></td>
    <td>LLVM bytecode reading</td></tr>
  <tr><td>LLVMBCWriter</td><td><tt>.o</tt></td>
    <td>LLVM bytecode writing</td></tr>
  <tr><td>LLVMCore</td><td><tt>.o</tt></td>
    <td>LLVM core intermediate representation</td></tr>
  <tr><td>LLVMDebugger</td><td><tt>.o</tt></td>
    <td>Source level debugging support</td></tr>
  <tr><td>LLVMLinker</td><td><tt>.a</tt></td>
    <td>Bytecode and archive linking interface</td></tr>
  <tr><td>LLVMSupport</td><td><tt>.a .o</tt></td>
    <td>General support utilities</td></tr>
  <tr><td>LLVMSystem</td><td><tt>.a .o</tt></td>
    <td>Operating system abstraction layer</td></tr>

  <tr><th colspan="3">Analysis Libraries</th></tr>
  <tr><td>LLVMAnalysis</td><td><tt>.a .o</tt></td>
    <td>Various analysis passes.</td></tr>
  <tr><td>LLVMDataStructure</td><td><tt>.a .o</tt></td>
    <td>Data structure analysis passes.</td></tr>
  <tr><td>LLVMipa</td><td><tt>.a .o</tt></td>
    <td>Inter-procedural analysis passes.</td></tr>

  <tr><th colspan="3">Transformation Libraries</th></tr>
  <tr><td>LLVMInstrumentation</td><td><tt>.a .o</tt></td>
    <td>Instrumentation passes.</td></tr>
  <tr><td>LLVMipo</td><td><tt>.a .o</tt></td>
    <td>All inter-procedural optimization passes.</td></tr>
  <tr><td>LLVMScalarOpts</td><td><tt>.a .o</tt></td>
    <td>All scalar optimization passes.</td></tr>
  <tr><td>LLVMTransforms</td><td><tt>.a .o</tt></td>
    <td>Uncategorized transformation passes.</td></tr>
  <tr><td>LLVMTransformUtils</td><td><tt>.a .o</tt></td>
    <td>Transformation utilities.</td></tr>

  <tr><th colspan="3">Code Generation Libraries </th></tr>
  <tr><td>LLVMCodeGen</td><td><tt>.o</tt></td>
    <td>Native code generation infrastructure</td></tr>

  <tr><th colspan="3">Target Libraries</th></tr>
  <tr><td>LLVMAlpha</td><td><tt>.o</tt></td>
    <td>Code generation for Alpha architecture</td></tr>
  <tr><td>LLVMCBackend</td><td><tt>.o</tt></td>
    <td>'C' language code generator.</td></tr>
  <tr><td>LLVMIA64</td><td><tt>.o</tt></td>
    <td>Code generation for IA64 architecture</td></tr>
  <tr><td>LLVMPowerPC</td><td><tt>.o</tt></td>
    <td>Code generation for PowerPC architecture</td></tr>
  <tr><td>LLVMSelectionDAG</td><td><tt>.o</tt></td>
    <td>Aggressive instruction selector for directed acyclic graphs</td></tr>
  <tr><td>LLVMSparc</td><td><tt>.o</tt></td>
    <td>Code generation for Sparc architecture</td></tr>
  <tr><td>LLVMTarget</td><td><tt>.a .o</tt></td>
    <td>Generic code generation utilities.</td></tr>
  <tr><td>LLVMX86</td><td><tt>.o</tt></td>
    <td>Code generation for Intel x86 architecture</td></tr>

  <tr><th colspan="3">Runtime Libraries</th></tr>
  <tr><td>LLVMInterpreter</td><td><tt>.o</tt></td>
    <td>Bytecode Interpreter</td></tr>
  <tr><td>LLVMJIT</td><td><tt>.o</tt></td>
    <td>Bytecode JIT Compiler</td></tr>
  <tr><td>LLVMExecutionEngine</td><td><tt>.o</tt></td>
    <td>Virtual machine engine</td></tr>
</table>
</div>

<!-- ======================================================================= -->
<div class="doc_section"><a name="dependencies"></a>Library Dependencies</div>
<div class="doc_text">
  <p>Below are two dependency graphs and a list that show the relationships
  between the various LLVM archive libraries and object files.  This information 
  can be automatically generated with the <tt>GenLibDeps.pl</tt> utility found
  in the <tt>llvm/utils</tt> directory.</p>
  <!-- =======NOTE: =========================================================-->
  <!-- === The following graphs and <dl> list are generated automatically ===-->
  <!-- === by the util named GenLibDeps.pl in the llvm/utils directory.   ===-->
  <!-- === This should be updated whenever new libraries are added,       ===-->
  <!-- === removed, or changed                                            ===-->
  <!-- =======NOTE: =========================================================-->
  <h2>Dependency Relationships Of Libraries</h2>
  <p>This graph shows the dependency of archive libraries on other archive 
  libraries or objects. Where a library has both archive and object forms, only
  the archive form is shown.</p>
  <img src="img/libdeps.gif" alt="Library Dependencies"/>
  <h2>Dependency Relationships Of Object Files</h2>
  <p>This graph shows the dependency of object files on archive libraries or 
  other objects. Where a library has both object and archive forms, only the 
  dependency to the archive form is shown.</p> 
  <img src="img/objdeps.gif" alt="Object File Dependencies"/>
  <p>The following list shows the dependency relationships between libraries in
  textual form. The information is the same as shown on the graphs but arranged
  alphabetically.</p>
<dl>
  <dt><b>libLLVMAnalysis.a</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMArchive.a</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>LLVMBCReader.o</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMInstrumentation.a</b</dt><dd><ul>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTransformUtils.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMLinker.a</b</dt><dd><ul>
    <li>libLLVMArchive.a</li>
    <li>libLLVMSystem.a</li>
    <li>LLVMBCReader.o</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMScalarOpts.a</b</dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMSupport.a</b</dt><dd><ul>
    <li>libLLVMSystem.a</li>
    <li>LLVMbzip2.o</li>
  </ul></dd>
  <dt><b>libLLVMSystem.a</b</dt><dd><ul>
  </ul></dd>
  <dt><b>libLLVMTarget.a</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>LLVMCore.o</li>
    <li>LLVMSelectionDAG.o</li>
  </ul></dd>
  <dt><b>libLLVMTransformUtils.a</b</dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMipa.a</li>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMTransforms.a</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMipa.a</b</dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMSupport.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>libLLVMipo.a</b</dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMipa.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMAlpha.o</b</dt><dd><ul>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
    <li>LLVMSelectionDAG.o</li>
  </ul></dd>
  <dt><b>LLVMAsmParser.o</b</dt><dd><ul>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMBCReader.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMBCWriter.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMCBackend.o</b</dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMipa.a</li>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMCodeGen.o</b</dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMCore.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
  </ul></dd>
  <dt><b>LLVMDataStructure.o</b</dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMDebugger.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>LLVMBCReader.o</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMExecutionEngine.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMIA64.o</b</dt><dd><ul>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
    <li>LLVMSelectionDAG.o</li>
  </ul></dd>
  <dt><b>LLVMInterpreter.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCore.o</li>
    <li>LLVMExecutionEngine.o</li>
  </ul></dd>
  <dt><b>LLVMJIT.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
    <li>LLVMExecutionEngine.o</li>
  </ul></dd>
  <dt><b>LLVMPowerPC.o</b</dt><dd><ul>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
    <li>LLVMSelectionDAG.o</li>
  </ul></dd>
  <dt><b>LLVMSelectionDAG.o</b</dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
  </ul></dd>
  <dt><b>LLVMSparc.o</b</dt><dd><ul>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
    <li>LLVMSelectionDAG.o</li>
  </ul></dd>
  <dt><b>LLVMX86.o</b</dt><dd><ul>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTarget.a</li>
    <li>LLVMCodeGen.o</li>
    <li>LLVMCore.o</li>
    <li>LLVMSelectionDAG.o</li>
  </ul></dd>
  <dt><b>LLVMbzip2.o</b</dt><dd><ul>
  </ul></dd>
</dl>
</div>

<!-- ======================================================================= -->
<div class="doc_section"><a name="rot">Linkage Rules Of Thumb</a></div>
<div class="doc_text">
	<p>This section contains various "rules of thumb" about what files you
	should link into your programs.</p>
</div>
<!-- ======================================================================= -->
<div class="doc_subsection"><a name="always">Always Link LLVMCore, LLVMSupport,
    and LLVMSystem</a></div>
<div class="doc_text">
  <p>No matter what you do with LLVM, the last three entries in the value of 
  your LLVMLIBS make variable should always be: 
  <tt>LLVMCore LLVMSupport.a LLVMSystem.a</tt>. There are no <tt>LLVM</tt> 
  programs that don't depend on these three.</p>
</div>
<!-- ======================================================================= -->
<div class="doc_subsection"><a name="onlyone">Never link both archive and
    re-linked library</a></div>
<div class="doc_text">
  <p>There is never any point to linking both the re-linked (<tt>.o</tt>) and
  the archive (<tt>.a</tt>) versions of a library. Since the re-linked version
  includes the entire library, the archive version will not resolve any symbols.
  You could even end up with link error if you place the archive version before
  the re-linked version on the linker's command line.</p>
</div>
<!-- ======================================================================= -->
<hr>
<div class="doc_footer">
<address>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
    src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"/></a>
  <a href="http://validator.w3.org/check/referer"><img
    src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
  <a href="mailto:rspencer@x10sys.com">Reid Spencer</a>
</address>
<a href="http://llvm.org">The LLVM Compiler Infrastructure</a> 
<br>Last modified: $Date$ </div>
</body>
</html>
<!-- vim: sw=2 ts=2 ai
-->
