<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>Obtaining the Static Analyzer</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>Obtaining the Static Analyzer</h1>

<p>This page describes how to download and install the analyzer.  Once
the analyzer is installed, follow the <a
href="/scan-build.html">instructions</a> on using <tt>scan-build</tt> to
get started analyzing your code.</p>

<h2>Packaged Builds (Mac OS X)</h2>

<p>Semi-regular pre-built binaries of the analyzer are available on Mac
OS X.  These are built to run on Mac OS 10.5 and later.</p>

<p>Builds are released frequently.  Often the differences between build
numbers being a few bug fixes or minor feature improvements.  When using
the analyzer, we recommend that you check back here occasionally for new
builds, especially if the build you are using is more than a couple
weeks old.</p>

<p>The latest build is: 
  <!--#include virtual="latest_checker.html.incl"-->
</p>

<p>Packaged builds for other platforms may eventually be provided, but
we need volunteers who are willing to help provide such regular builds.
If you wish to help contribute regular builds of the analyzer on other
platforms, please email the <a
href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">Clang
Developers' mailing list</a>.</p>

<h3>Using Packaged Builds</h3>

<p>To use a package build, simply unpack it anywhere.  If the build
archive has the name <b><tt>checker-XXX.tar.bz2</tt></b> then the
archive will expand to a directory called <b><tt>checker-XXX</tt></b>.
You do not need to place this directory or the contents of this
directory in any special place.  Uninstalling the analyzer is as simple
as deleting this directory.</p>

<p>Most of the files in the <b><tt>checker-XXX</tt></b> directory will
be supporting files for the analyzer that you can simply ignore.  Most
users will only care about two files, which are located at the top of
the <b><tt>checker-XXX</tt></b> directory:</p>

<ul>
<li><b>scan-build</b>: <tt>scan-build</tt> is the high-level command line utility for running the analyzer</li>
<li><b>scan-view</b>: <tt>scan-view</tt> a companion comannd line
utility to <tt>scan-build</tt>, <tt>scan-view</tt> is used to view
analysis results generated by <tt>scan-build</tt>.  There is an option
that one can pass to <tt>scan-build</tt> to cause <tt>scan-view</tt> to
run as soon as it the analysis of a build completes</li>
</ul>

<h4>Running scan-build</h4>

<p>For specific details on using <tt>scan-build</tt>, please see
<tt>scan-build</tt>'s <a href="/scan-build">documentation</a>.</p>

<p>To run <tt>scan-build</tt>, either add the
<b><tt>checker-XXX</tt></b> directory to your path or specify a complete
path for <tt>scan-build</tt> when running it. It is also possible to use
a symbolic link to <tt>scan-build</tt>, such one located in a directory
in your path. When <tt>scan-build</tt> runs it will automatically
determine where to find its accompanying files.</p>

<h2 id="OtherPlatforms">Other Platforms (Building the Analyzer from Source)</h2>

<p>For other platforms, you must build Clang and LLVM manually.  To do
so, please follow the instructions for <a
href="http://clang.llvm.org/get_started.html#build">building Clang from
source code</a>.<p>

<p>Once the Clang is built, you need to add the following to your path:</p>

<ul>

<li>The locations of the <tt>clang-cc</tt> and <tt>clang</tt> binaries.

<p>For example, if you built a <em>Debug</em> build of LLVM/Clang, the
resultant binaries will be in $(OBJDIR)/Debug (where <tt>$(OBJDIR)</tt>
is often the same as the root source directory).  You can also do
<tt>make install</tt> to install the LLVM/Clang libaries and binaries to
the installation directory of your choice (specified when you run
<tt>configure</tt>).</p></li>

<li>The locations of the <tt>scan-build</tt> and <tt>scan-view</tt>
programs.

<p>Currently these are not installed using <tt>make install</tt>, and
are located in <tt>$(SRCDIR)/tools/clang/util</tt> and
<tt>$(SRCDIR)/tools/clang/tools/scan-view</tt> respectively (where
<tt>$(SRCDIR)</tt> is the root LLVM source directory).  These locations
are subject to change.</p></li>

</ul>

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

