mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-26 04:09:50 +00:00

svn revert requires a path, and does not take a revision. This isn't an issue on build machines because we do a fresh checkout every time. But if you're trying to run build-clang locally, with existing checkouts, it will: 1) successfully svn update 2) run svn revert, saying "Skipped <rev>" (except you don't see it because of -q) 3) svn revert returns a successfull eror code 4) patch fails because the file was never reverted and it attempts to re-apply the patch Also I think the revert command needs to come first. MozReview-Commit-ID: 4OfrJNZwJNU --HG-- extra : rebase_source : b3474e8048b3110f3f5948c3351923c02735ca4d
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. * extra_repo: SVN path to the clang-tools-extra repo. * lld_repo: SVN path to the lld 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. * as: Path to the assembler tool. * ar: Path to the library archiver tool. * ranlib: Path to the ranlib tool (optional). * libtool: Path to the libtool tool (optional). * ld: Path to the linker. * patches: Optional list of patches to apply. * 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. * build_clang_tidy: Whether to build clang-tidy with the Mozilla checks imported. The default is false. * osx_cross_compile: Whether to invoke CMake for OS X cross compile builds. * assertions: Whether to enable LLVM assertions. The default is false. Environment Variables --------------------- The following environment variables are used for cross-compile builds targeting OS X on Linux. * CROSS_CCTOOLS_PATH: Path to the cctools directory where the cross compiler toolchain is located. * CROSS_SYSROOT: Path to the OS X SDK directory for cross compile builds.