diff options
Diffstat (limited to 'build/build-clang/README')
-rw-r--r-- | build/build-clang/README | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/build/build-clang/README b/build/build-clang/README new file mode 100644 index 000000000..8e93eeaa6 --- /dev/null +++ b/build/build-clang/README @@ -0,0 +1,45 @@ +build-clang.py +============== + +A script to build clang from source. + +``` +usage: build-clang.py [-h] -c CONFIG [--clean] + +optional arguments: + -h, --help show this help message and exit + -c CONFIG, --config CONFIG + Clang configuration file + --clean Clean the build directory +``` + +Pre-requisites +-------------- +* Working build toolchain. +* Subversion +* CMake +* Ninja +* Python 2.7 + +Please use the latest available CMake for your platform to avoid surprises. + +Config file format +------------------ + +build-clang.py accepts a JSON config format with the following fields: + +* llvm_revision: The LLVM SVN revision to build. +* stages: Use 1, 2, or 3 to select different compiler stages. The default is 3. +* llvm_repo: SVN path to the LLVM repo. +* clang_repo: SVN path to the Clang repo. +* compiler_repo: SVN path to the compiler-rt repo. +* libcxx_repo: SVN path to the libcxx repo. +* libcxxabi_repo: SVN path to the libcxxabi repo. +* python_path: Path to the Python 2.7 installation on the machine building clang. +* gcc_dir: Path to the gcc toolchain installation, only required on Linux. +* cc: Path to the bootsraping C Compiler. +* cxx: Path to the bootsraping C++ Compiler. +* patches: Optional list of patches to apply per platform. Supported platforms: macosx64, linux32, linux64. The default is Release. +* build_type: The type of build to make. Supported types: Release, Debug, RelWithDebInfo or MinSizeRel. +* build_libcxx: Whether to build with libcxx. The default is false. +* assertions: Whether to enable LLVM assertions. The default is false. |