<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
          "http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Clang Related Projects</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>Clang Related Projects</h1>
    
    <p>As Clang matures, more and more projects are being built atop the Clang
      libraries and other open source projects are starting their own Clang
      related subprojects, like building their source code with Clang or writing
      custom analysis tools using Clang. This page tracks some of those Clang
      related projects.</p>

    <p>Please email <a href="get_involved.html">cfe-dev</a> if you have a Clang related project you would like
      added to this list.</p>

    <dl>
      <dt>FreeBSD Clang Page</dt>
      <dd>
        <p>
          <b>Site:</b>
          <a href="http://wiki.freebsd.org/BuildingFreeBSDWithClang">
            http://wiki.freebsd.org/BuildingFreeBSDWithClang</a>
        </p>
        <p>
          This is an effort to get FreeBSD to build with clang/llvm.
        </p>
      </dd>

      <dt>Chromium Clang Page</dt>
      <dd>
        <p>
          <b>Site:</b>
          <a href="http://code.google.com/p/chromium/wiki/Clang">
            http://code.google.com/p/chromium/wiki/Clang</a>
        </p>
        <p>
          Notes on using Clang to build the Chromium web browser.
        </p>
      </dd>

      <dt>Debian Clang Page</dt>
      <dd>
        <p>
          <b>Sites:</b><br />
        <a href="http://clang.debian.net/">http://clang.debian.net/</a><br />
        <a href="http://wiki.debian.org/llvm-clang">
            http://wiki.debian.org/llvm-clang</a>
        </p>
        <p>
          Notes on using Clang to rebuild the whole Debian archive.
        </p>
      </dd>

      <dt>Include what you use</dt>
      <dd>
        <p>
          <b>Site:</b>
        <a href="https://github.com/include-what-you-use/include-what-you-use">https://github.com/include-what-you-use/include-what-you-use</a>
        </p>
        <p>
        Analyze #includes in C and C++ source files
        </p>
      </dd>

      <dt>OCLint</dt>
      <dd>
        <p>
          <b>Site:</b>
        <a href="http://oclint.org/">http://oclint.org/</a>
        </p>
        <p>
        OCLint is a static code analysis tool for improving quality and reducing defects by inspecting C, C++ and Objective-C code.
        </p>
      </dd>

      <dt>DXR</dt>
      <dd>
        <p>
          <b>Site:</b>
        <a href="https://github.com/mozilla/dxr#dxr">https://github.com/mozilla/dxr</a>
        </p>
        <p>
        DXR is a code search and navigation tool aimed at making sense of large projects like Firefox. It supports full-text and regex searches as well as structural queries like "Find all the callers of this function."
        </p>
      </dd>

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