2012-05-08 18:50:35 +02:00
|
|
|
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
|
2012-06-02 12:20:22 +02:00
|
|
|
source file, although at this time it only preserves block comments that precede
|
2012-05-08 18:50:35 +02:00
|
|
|
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.
|