[PATCH] D123968: docs: Add instructions for stand-alone builds of clang

Tom Stellard via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 18 16:52:29 PDT 2022


tstellar created this revision.
Herald added a project: All.
tstellar requested review of this revision.
Herald added a project: LLVM.

More sub-projects will be added to the table once they have been verified
to be buildable in stand-alone mode.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D123968

Files:
  llvm/docs/GettingStarted.rst


Index: llvm/docs/GettingStarted.rst
===================================================================
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -104,6 +104,42 @@
 configuring and compiling LLVM.  Go to `Directory Layout`_ to learn about the
 layout of the source code tree.
 
+Stand-alone Builds
+------------------
+Stand-alone builds allow you to build a sub-project against a pre-built
+version of the clang or llvm libraries that is already present on your
+system.
+
+You can use the source code from a standard checkout of the llvm-project
+(as described above) to do stand-alone builds, but you may also build
+from a :ref:`sparse checkout<workflow-multicheckout-nocommit>` or from the
+tarballs available on the `releases <https://github.com/llvm/llvm-project/releases/>`_
+page.
+
+To configure a project for a stand-alone build, invoke CMake like this:
+
+.. code-block:: console
+
+  cmake -G Ninja -S $subproj -B $buildir \
+        -DLLVM_EXTERNAL_LIT=/path/to/lit \
+        -DLLVM_ROOT=/path/to/llvm/install/prefix
+
+LLVM_ROOT should point to the prefix of your llvm installation, so for example,
+if llvm is installed into /usr/bin and /usr/lib64, then you should pass
+-DLLVM_ROOT=/usr/.  Both the LLVM_ROOT and LLVM_EXTERNAL_LIT options
+are required to do stand-alone builds for all sub-projects.  Additional required
+options for each sub-project can be found in the table below.
+
+The ``check-$subproj`` and ``install`` build targets are supported for the
+sub-projects listed in the table below.
+
+============ ======================== ======================
+Sub-Project  Required Sub-Directories Required CMake Options
+============ ======================== ======================
+clang        clang, cmake             CLANG_INCLUDE_TESTS=ON (Required for check-clang only)
+============ ======================== ======================
+
+
 Requirements
 ============
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123968.423489.patch
Type: text/x-patch
Size: 1927 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220418/04b7210b/attachment.bin>


More information about the llvm-commits mailing list