<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>LLVM Snapshot Builds</title>
  <link rel="stylesheet" type="text/css" href="../llvm.css">
</head>

<body>

<div class="rel_title">LLVM Snapshot Builds</div>

<div class="rel_container">

<div class="rel_section">License</div>

<div class="rel_boxtext">

<p><a href="https://llvm.org/">LLVM</a> is distributed under an open source <a href="https://llvm.org/releases/11.0.0/LICENSE.TXT">License</a>.</p>

</div>
<div class="rel_section">Other builds</div>

<div class="rel_boxtext">

  <p>See the <a href="../releases/">releases</a> page for stable releases, and
  the <a href="../apt/">apt</a> page for nightly packages for Debian and Ubuntu.
  </p>

</div>

<div class="rel_section">Windows snapshot builds</div>

<div class="rel_boxtext">
  <p>We provide a periodically updated installer for Windows:</p>

  <p><a href="https://prereleases.llvm.org/win-snapshots/LLVM-12.0.0-6923b0a7-win64.exe">Windows installer (64-bit)</a> <a href="https://prereleases.llvm.org/win-snapshots/LLVM-12.0.0-6923b0a7-win64.exe.sig">(.sig)</a>,
  based on Git commit <a href="https://github.com/llvm/llvm-project/commit/6923b0a7">6923b0a7</a> (28 August 2020).</p>

  <p>If there is a previous version installed, the installer provides an option
  to uninstall it.</p>

  <p>Currently, the package includes
    <a href="https://clang.llvm.org">clang</a>,
    <a href="https://clang.llvm.org/docs/ClangFormat.html">clang-format</a>,
    <a href="https://lld.llvm.org">lld</a>, and the
    <a href="https://github.com/google/sanitizers/wiki/AddressSanitizer">AddressSanitizer</a>
    runtime from <a href="https://compiler-rt.llvm.org">compiler-rt</a>.
    Eventually it should grow to encompass other Clang tools,
    and possibly other LLVM projects
    such as <a href="https://libcxx.llvm.org">libc++</a>.</p>

  <p>To use the LLVM toolchain from Visual Studio after running the installer
  above, install the <a href="https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain">LLVM
  Compiler Toolchain Visual Studio extension</a> (supports Visual Studio 2017 and
  later), select a project in Solution Explorer, open its Property Page (Alt+F7 by
  default), and in the "General" section of "Configuration Properties" change
  "Platform Toolset" to "llvm". Alternatively, invoke MSBuild with
  <code>/p:PlatformToolset=llvm</code> to try out the toolchain without
  modifying the project files.</p>

  <p>A <a href="https://prereleases.llvm.org/win-snapshots/LLVM-12.0.0-6923b0a7-win32.exe">32-bit version</a> <a href="https://prereleases.llvm.org/win-snapshots/LLVM-12.0.0-6923b0a7-win32.exe.sig">(.sig)</a>
    of the installer is also available.</p>

  <p>The .sig files are PGP signatures using key <a href="https://releases.llvm.org/11.0.0/hans-gpg-key.asc">345AD05D</a>.</p>
</div>

<div class="rel_section">clang-format plugin for Visual Studio</div>

<div class="rel_boxtext">
  <p>We also provide a standalone Visual Studio plugin for clang-format.  It
  requires Visual Studio 2012 Professional or later.  Notably, the Express
  editions do not support plugins.</p>

  <p><a href="https://prereleases.llvm.org/win-snapshots/ClangFormat-6923b0a7.vsix">Visual Studio plugin installer</a> <a href="https://prereleases.llvm.org/win-snapshots/ClangFormat-6923b0a7.vsix.sig">(.sig)</a>,
  based on based on Git commit <a href="https://github.com/llvm/llvm-project/commit/6923b0a7">6923b0a7</a>. This is also available <a href="https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat">at the Visual Studio Marketplace</a>. A separate build of the clang-format binary is available as <a href="https://prereleases.llvm.org/win-snapshots/clang-format-6923b0a7.exe">clang-format-6923b0a7.exe</a> <a href="https://prereleases.llvm.org/win-snapshots/clang-format-6923b0a7.exe.sig">(.sig)</a>.</p>

</div>

</div> <!-- rel_container -->

<!--#include virtual="../attrib.incl" -->

</body>
</html>
