LLVM-BUILD(1)

NAME
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 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 preceed 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.

AUTHOR
Maintained by the LLVM Team (<http://llvm.org/>).