blob: 2ccc1a29feecaa83cbe7c2061b636fb69152aaa3 [file] [log] [blame]
Daniel Dunbar2adb2a52011-11-03 17:56:24 +00001=pod
2
3=head1 NAME
4
5llvm-build - LLVM Project Build Utility
6
7=head1 SYNOPSIS
8
9B<llvm-build> [I<options>]
10
11=head1 DESCRIPTION
12
13B<llvm-build> is a tool for working with LLVM projects that use the LLVMBuild
14system for describing their components.
15
16At heart, B<llvm-build> is responsible for loading, verifying, and manipulating
17the project's component data. The tool is primarily designed for use in
18implementing build systems and tools which need access to the project structure
19information.
20
21=head1 OPTIONS
22
23=over
24
25=item B<-h>, B<--help>
26
27Print the builtin program help.
28
29=item B<--source-root>=I<PATH>
30
31If given, load the project at the given source root path. If this option is not
32given, the location of the project sources will be inferred from the location of
33the B<llvm-build> script itself.
34
35=item B<--print-tree>
36
37Print the component tree for the project.
38
Daniel Dunbarefe2f642011-11-03 17:56:28 +000039=item B<--write-library-table>
40
41Write out the C++ fragment which defines the components, library names, and
42required libraries. This C++ fragment is built into L<llvm-config|llvm-config>
43in order to provide clients with the list of required libraries for arbitrary
44component combinations.
45
Daniel Dunbar2adb2a52011-11-03 17:56:24 +000046=item B<--write-llvmbuild>
47
48Write out new I<LLVMBuild.txt> files based on the loaded components. This is
49useful for auto-upgrading the schema of the files.
50
51=item B<--llvmbuild-source-root>=I<PATH>
52
53If given, expect the I<LLVMBuild> files for the project to be rooted at the
54given path, instead of inside the source tree itself. This option is primarily
55designed for use in conjunction with B<--write-llvmbuild> to test changes to
56I<LLVMBuild> schema.
57
58=back
59
60=head1 EXIT STATUS
61
62B<llvm-build> exits with 0 if operation was successful. Otherwise, it will exist
63with a non-zero value.
64
65=head1 AUTHOR
66
67Maintained by the LLVM Team (L<http://llvm.org/>).
68
69=cut