<!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>
<h1>Using The LLVM Libraries</h1>
<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, for more
  information please
  see <a href="CommandGuide/html/llvm-config.html">llvm-config</a> or,
  if you use CMake, <a href="CMake.html#embedding">the CMake LLVM
  guide</a>.</p>

<!-- ======================================================================= -->
<h2><a name="abstract">Abstract</a></h2>
<div>
  <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.  Fortunately,
  there is a tool, <tt>llvm-config</tt> to aid with this. This document 
  describes the contents of the libraries and how to use <tt>llvm-config</tt>
  to generate command line options.
</p>
</div>

<!-- ======================================================================= -->
<h2><a name="introduction">Introduction</a></h2>
<div>
  <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 
  libraries 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, several 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>If you're using the LLVM Makefile system to link 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>
<!-- ======================================================================= -->
<h2><a name="descriptions">Library Descriptions</a></h2>
<div>
  <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>.a</tt></td>
    <td>LLVM assembly parsing</td></tr>
  <tr><td>LLVMBCReader</td><td><tt>.a</tt></td>
    <td>LLVM bitcode reading</td></tr>
  <tr><td>LLVMBCWriter</td><td><tt>.a</tt></td>
    <td>LLVM bitcode writing</td></tr>
  <tr><td>LLVMCore</td><td><tt>.a</tt></td>
    <td>LLVM core intermediate representation</td></tr>
  <tr><td>LLVMDebugger</td><td><tt>.a</tt></td>
    <td>Source level debugging support</td></tr>
  <tr><td>LLVMLinker</td><td><tt>.a</tt></td>
    <td>Bitcode and archive linking interface</td></tr>
  <tr><td>LLVMSupport</td><td><tt>.a</tt></td>
    <td>General support utilities</td></tr>
  <tr><td>LLVMSystem</td><td><tt>.a</tt></td>
    <td>Operating system abstraction layer</td></tr>
  <tr><td>LLVMbzip2</td><td><tt>.a</tt></td>
    <td>BZip2 compression library</td></tr>

  <tr><th colspan="3">Analysis Libraries</th></tr>
  <tr><td>LLVMAnalysis</td><td><tt>.a</tt></td>
    <td>Various analysis passes.</td></tr>
  <tr><td>LLVMDataStructure</td><td><tt>.o</tt></td>
    <td>Data structure analysis passes.</td></tr>
  <tr><td>LLVMipa</td><td><tt>.a</tt></td>
    <td>Inter-procedural analysis passes.</td></tr>

  <tr><th colspan="3">Transformation Libraries</th></tr>
  <tr><td>LLVMInstrumentation</td><td><tt>.a</tt></td>
    <td>Instrumentation passes.</td></tr>
  <tr><td>LLVMipo</td><td><tt>.a</tt></td>
    <td>All inter-procedural optimization passes.</td></tr>
  <tr><td>LLVMScalarOpts</td><td><tt>.a</tt></td>
    <td>All scalar optimization passes.</td></tr>
  <tr><td>LLVMTransformUtils</td><td><tt>.a</tt></td>
    <td>Transformation utilities used by many passes.</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><td>LLVMSelectionDAG</td><td><tt>.o</tt></td>
    <td>Aggressive instruction selector for directed acyclic graphs</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>LLVMARM</td><td><tt>.o</tt></td>
    <td>Code generation for ARM architecture</td></tr>
  <tr><td>LLVMCBackend</td><td><tt>.o</tt></td>
    <td>'C' language code generator.</td></tr>
  <tr><td>LLVMPowerPC</td><td><tt>.o</tt></td>
    <td>Code generation for PowerPC architecture</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</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>Bitcode Interpreter</td></tr>
  <tr><td>LLVMJIT</td><td><tt>.o</tt></td>
    <td>Bitcode JIT Compiler</td></tr>
  <tr><td>LLVMExecutionEngine</td><td><tt>.o</tt></td>
    <td>Virtual machine engine</td></tr>
</table>
</div>

<!-- ======================================================================= -->
<h2><a name="dependencies">Using llvm-config</a></h2>
<div>
  <p>The <tt>llvm-config</tt> tool is a perl script that produces on its output
  various kinds of information. For example, the source or object directories 
  used to build LLVM can be accessed by passing options to <tt>llvm-config</tt>.
  For complete details on this tool, please see the
  <a href="CommandGuide/html/llvm-config.html">manual page</a>.</p>
  <p>To understand the relationships between libraries, the <tt>llvm-config</tt>
  can be very useful. If all you know is that you want certain libraries to
  be available, you can generate the complete set of libraries to link with
  using one of four options, as below:</p>
  <ol>
    <li><tt>--ldflags</tt>. This generates the command line options necessary to
    be passed to the <tt>ld</tt> tool in order to link with LLVM. Most notably,
    the <tt>-L</tt> option is provided to specify a library search directory 
    that contains the LLVM libraries.</li>
    <li><tt>--libs</tt>. This generates command line options suitable for
    use with a gcc-style linker. That is, libraries are given with a -l option
    and object files are given with a full path.</li>
    <li><tt>--libnames</tt>. This generates a list of just the library file
    names. If you know the directory in which these files reside (see --ldflags)
    then you can find the libraries there.</li>
    <li><tt>--libfiles</tt>. This generates the full path names of the
    LLVM library files.</li>
  </ol>
  <p>If you wish to delve further into how <tt>llvm-config</tt> generates the
  correct order (based on library dependencies), please see the tool named
  <tt>GenLibDeps.pl</tt> in the <tt>utils</tt> source directory of LLVM.</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: =========================================================-->
  <h3>Dependency Relationships Of Libraries</h3>
  <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">
  <h3>Dependency Relationships Of Object Files</h3>
  <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>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>libLLVMArchive.a</b></dt><dd><ul>
    <li>libLLVMBCReader.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMAsmParser.a</b></dt><dd><ul>
    <li>libLLVMCore.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMBCReader.a</b></dt><dd><ul>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMBCWriter.a</b></dt><dd><ul>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMCodeGen.a</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
  </ul></dd>
  <dt><b>libLLVMCore.a</b></dt><dd><ul>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMDebugger.a</b></dt><dd><ul>
    <li>libLLVMBCReader.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMInstrumentation.a</b></dt><dd><ul>
    <li>libLLVMCore.a</li>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMTransformUtils.a</li>
  </ul></dd>
  <dt><b>libLLVMLinker.a</b></dt><dd><ul>
    <li>libLLVMArchive.a</li>
    <li>libLLVMBCReader.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMScalarOpts.a</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
  </ul></dd>
  <dt><b>libLLVMSelectionDAG.a</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
  </ul></dd>
  <dt><b>libLLVMSupport.a</b></dt><dd><ul>
    <li>libLLVMSystem.a</li>
    <li>libLLVMbzip2.a</li>
  </ul></dd>
  <dt><b>libLLVMSystem.a</b></dt><dd>
  </dd>
  <dt><b>libLLVMTarget.a</b></dt><dd><ul>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMTransformUtils.a</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMipa.a</li>
  </ul></dd>
  <dt><b>libLLVMbzip2.a</b></dt><dd>
  </dd>
  <dt><b>libLLVMipa.a</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
  </ul></dd>
  <dt><b>libLLVMipo.a</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
    <li>libLLVMipa.a</li>
  </ul></dd>
  <dt><b>libLLVMlto.a</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMBCReader.a</li>
    <li>libLLVMBCWriter.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMLinker.a</li>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMipa.a</li>
    <li>libLLVMipo.a</li>
  </ul></dd>
  <dt><b>LLVMARM.o</b></dt><dd><ul>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSelectionDAG.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>LLVMAlpha.o</b></dt><dd><ul>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSelectionDAG.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>LLVMCBackend.o</b></dt><dd><ul>
    <li>libLLVMAnalysis.a</li>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMScalarOpts.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
    <li>libLLVMTransformUtils.a</li>
    <li>libLLVMipa.a</li>
  </ul></dd>
  <dt><b>LLVMExecutionEngine.o</b></dt><dd><ul>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>LLVMInterpreter.o</b></dt><dd><ul>
    <li>LLVMExecutionEngine.o</li>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>LLVMJIT.o</b></dt><dd><ul>
    <li>LLVMExecutionEngine.o</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>LLVMPowerPC.o</b></dt><dd><ul>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSelectionDAG.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>LLVMSparc.o</b></dt><dd><ul>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSelectionDAG.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
  <dt><b>LLVMX86.o</b></dt><dd><ul>
    <li>libLLVMCodeGen.a</li>
    <li>libLLVMCore.a</li>
    <li>libLLVMSelectionDAG.a</li>
    <li>libLLVMSupport.a</li>
    <li>libLLVMSystem.a</li>
    <li>libLLVMTarget.a</li>
  </ul></dd>
</dl>
</div>

<!-- ======================================================================= -->
<h2><a name="rot">Linkage Rules Of Thumb</a></h2>
<div>
	<p>This section contains various "rules of thumb" about what files you
	should link into your programs.</p>
<!-- ======================================================================= -->
<h3>
  <a name="always">Always Link LLVMCore, LLVMSupport, and LLVMSystem</a>
</h3>
<div>
  <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>
<!-- ======================================================================= -->
<h3>
  <a name="onlyone">Never link both archive and re-linked library</a>
</h3>
<div>
  <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>

</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-blue" alt="Valid CSS"></a>
  <a href="http://validator.w3.org/check/referer"><img
    src="http://www.w3.org/Icons/valid-html401-blue" 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: 2011-04-22 20:30:22 -0400 (Fri, 22 Apr 2011) $ </div>
</body>
</html>
<!-- vim: sw=2 ts=2 ai
-->
