12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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.
|