123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- 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.
|