From 774421ec26e431ec8c63968a45805f4c0370c78c Mon Sep 17 00:00:00 2001
From: Daniel Dunbar
Date: Thu, 3 Nov 2011 17:56:24 +0000
Subject: [PATCH] docs: Sketch docs for llvm-build tool.
llvm-svn: 143627
---
llvm/docs/CommandGuide/Makefile | 2 +-
llvm/docs/CommandGuide/llvm-build.pod | 62 +++++++++++++++++++++++++++
llvm/docs/LLVMBuild.html | 5 +++
3 files changed, 68 insertions(+), 1 deletion(-)
create mode 100644 llvm/docs/CommandGuide/llvm-build.pod
diff --git a/llvm/docs/CommandGuide/Makefile b/llvm/docs/CommandGuide/Makefile
index 2c2d0760e799..3f9f60b8e7fb 100644
--- a/llvm/docs/CommandGuide/Makefile
+++ b/llvm/docs/CommandGuide/Makefile
@@ -49,7 +49,7 @@ MAN := $(patsubst $(SRC_DOC_DIR)%.pod, $(DST_MAN_DIR)%.1, $(POD))
PS := $(patsubst $(SRC_DOC_DIR)%.pod, $(DST_PS_DIR)%.ps, $(POD))
# The set of man pages we will not install
-NO_INSTALL_MANS = $(DST_MAN_DIR)FileCheck.1
+NO_INSTALL_MANS = $(DST_MAN_DIR)FileCheck.1 $(DST_MAN_DIR)llvm-build.1
# The set of man pages that we will install
INSTALL_MANS = $(filter-out $(NO_INSTALL_MANS), $(MAN))
diff --git a/llvm/docs/CommandGuide/llvm-build.pod b/llvm/docs/CommandGuide/llvm-build.pod
new file mode 100644
index 000000000000..6f70ffe32cf3
--- /dev/null
+++ b/llvm/docs/CommandGuide/llvm-build.pod
@@ -0,0 +1,62 @@
+=pod
+
+=head1 NAME
+
+llvm-build - LLVM Project Build Utility
+
+=head1 SYNOPSIS
+
+B [I]
+
+=head1 DESCRIPTION
+
+B is a tool for working with LLVM projects that use the LLVMBuild
+system for describing their components.
+
+At heart, B 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.
+
+=head1 OPTIONS
+
+=over
+
+=item B<-h>, B<--help>
+
+Print the builtin program help.
+
+=item B<--source-root>=I
+
+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 B script itself.
+
+=item B<--print-tree>
+
+Print the component tree for the project.
+
+=item B<--write-llvmbuild>
+
+Write out new I files based on the loaded components. This is
+useful for auto-upgrading the schema of the files.
+
+=item B<--llvmbuild-source-root>=I
+
+If given, expect the I 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 B<--write-llvmbuild> to test changes to
+I schema.
+
+=back
+
+=head1 EXIT STATUS
+
+B exits with 0 if operation was successful. Otherwise, it will exist
+with a non-zero value.
+
+=head1 AUTHOR
+
+Maintained by the LLVM Team (L).
+
+=cut
diff --git a/llvm/docs/LLVMBuild.html b/llvm/docs/LLVMBuild.html
index 904d0e56e414..bb1883a12c56 100644
--- a/llvm/docs/LLVMBuild.html
+++ b/llvm/docs/LLVMBuild.html
@@ -88,6 +88,11 @@ $ROOT of project trees for things which can be checked out separately. -->
developers who are not working on the build system would only ever need to
modify the contents of the LLVMBuild.txt description files (although we
have not reached this goal yet).
+
+ For more information on the utility tool we provide to help interfacing
+ with the build system, please see
+ the llvm-build
+ documentation.