You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.5 KiB
103 lines
2.5 KiB
4 months ago
|
llvm-build - LLVM Project Build Utility
|
||
|
=======================================
|
||
|
|
||
|
|
||
|
SYNOPSIS
|
||
|
--------
|
||
|
|
||
|
|
||
|
**llvm-build** [*options*]
|
||
|
|
||
|
|
||
|
DESCRIPTION
|
||
|
-----------
|
||
|
|
||
|
|
||
|
**llvm-build** is a tool for working with LLVM projects that use the LLVMBuild
|
||
|
system for describing their components.
|
||
|
|
||
|
At heart, **llvm-build** is responsible for loading, verifying, and manipulating
|
||
|
the project's component data. The tool is primarily designed for use in
|
||
|
implementing build systems and tools which need access to the project structure
|
||
|
information.
|
||
|
|
||
|
|
||
|
OPTIONS
|
||
|
-------
|
||
|
|
||
|
|
||
|
|
||
|
**-h**, **--help**
|
||
|
|
||
|
Print the builtin program help.
|
||
|
|
||
|
|
||
|
|
||
|
**--source-root**\ =\ *PATH*
|
||
|
|
||
|
If given, load the project at the given source root path. If this option is not
|
||
|
given, the location of the project sources will be inferred from the location of
|
||
|
the **llvm-build** script itself.
|
||
|
|
||
|
|
||
|
|
||
|
**--print-tree**
|
||
|
|
||
|
Print the component tree for the project.
|
||
|
|
||
|
|
||
|
|
||
|
**--write-library-table**
|
||
|
|
||
|
Write out the C++ fragment which defines the components, library names, and
|
||
|
required libraries. This C++ fragment is built into llvm-config|llvm-config
|
||
|
in order to provide clients with the list of required libraries for arbitrary
|
||
|
component combinations.
|
||
|
|
||
|
|
||
|
|
||
|
**--write-llvmbuild**
|
||
|
|
||
|
Write out new *LLVMBuild.txt* files based on the loaded components. This is
|
||
|
useful for auto-upgrading the schema of the files. **llvm-build** will try to a
|
||
|
limited extent to preserve the comments which were written in the original
|
||
|
source file, although at this time it only preserves block comments that precede
|
||
|
the section names in the *LLVMBuild* files.
|
||
|
|
||
|
|
||
|
|
||
|
**--write-cmake-fragment**
|
||
|
|
||
|
Write out the LLVMBuild in the form of a CMake fragment, so it can easily be
|
||
|
consumed by the CMake based build system. The exact contents and format of this
|
||
|
file are closely tied to how LLVMBuild is integrated with CMake, see LLVM's
|
||
|
top-level CMakeLists.txt.
|
||
|
|
||
|
|
||
|
|
||
|
**--write-make-fragment**
|
||
|
|
||
|
Write out the LLVMBuild in the form of a Makefile fragment, so it can easily be
|
||
|
consumed by a Make based build system. The exact contents and format of this
|
||
|
file are closely tied to how LLVMBuild is integrated with the Makefiles, see
|
||
|
LLVM's Makefile.rules.
|
||
|
|
||
|
|
||
|
|
||
|
**--llvmbuild-source-root**\ =\ *PATH*
|
||
|
|
||
|
If given, expect the *LLVMBuild* files for the project to be rooted at the
|
||
|
given path, instead of inside the source tree itself. This option is primarily
|
||
|
designed for use in conjunction with **--write-llvmbuild** to test changes to
|
||
|
*LLVMBuild* schema.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
EXIT STATUS
|
||
|
-----------
|
||
|
|
||
|
|
||
|
**llvm-build** exits with 0 if operation was successful. Otherwise, it will exist
|
||
|
with a non-zero value.
|