1LLVM-BUILD(1) LLVM LLVM-BUILD(1)
2
3
4
6 llvm-build - LLVM Project Build Utility
7
9 llvm-build [options]
10
12 llvm-build is a tool for working with LLVM projects that use the LLVM‐
13 Build system for describing their components.
14
15 At heart, llvm-build is responsible for loading, verifying, and manipu‐
16 lating the project's component data. The tool is primarily designed for
17 use in implementing build systems and tools which need access to the
18 project structure information.
19
21 -h, --help
22 Print the builtin program help.
23
24 --source-root=PATH
25 If given, load the project at the given source root path. If this
26 option is not given, the location of the project sources will be
27 inferred from the location of the llvm-build script itself.
28
29 --print-tree
30 Print the component tree for the project.
31
32 --write-library-table
33 Write out the C++ fragment which defines the components, library
34 names, and required libraries. This C++ fragment is built into
35 llvm-config|llvm-config in order to provide clients with the list of
36 required libraries for arbitrary component combinations.
37
38 --write-llvmbuild
39 Write out new LLVMBuild.txt files based on the loaded components.
40 This is useful for auto-upgrading the schema of the files.
41 llvm-build will try to a limited extent to preserve the comments
42 which were written in the original source file, although at this
43 time it only preserves block comments that precede the section names
44 in the LLVMBuild files.
45
46 --write-cmake-fragment
47 Write out the LLVMBuild in the form of a CMake fragment, so it can
48 easily be consumed by the CMake based build system. The exact con‐
49 tents and format of this file are closely tied to how LLVMBuild is
50 integrated with CMake, see LLVM's top-level CMakeLists.txt.
51
52 --write-make-fragment
53 Write out the LLVMBuild in the form of a Makefile fragment, so it
54 can easily be consumed by a Make based build system. The exact con‐
55 tents and format of this file are closely tied to how LLVMBuild is
56 integrated with the Makefiles, see LLVM's Makefile.rules.
57
58 --llvmbuild-source-root=PATH
59 If given, expect the LLVMBuild files for the project to be rooted at
60 the given path, instead of inside the source tree itself. This
61 option is primarily designed for use in conjunction with
62 --write-llvmbuild to test changes to LLVMBuild schema.
63
65 llvm-build exits with 0 if operation was successful. Otherwise, it will
66 exist with a non-zero value.
67
69 Maintained by the LLVM Team (https://llvm.org/).
70
72 2003-2019, LLVM Project
73
74
75
76
779 2019-09-19 LLVM-BUILD(1)