• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

1stage.jsonH A D30-Mar-202222 43

2stages.jsonH A D30-Mar-202222 43

4stages-pgo.jsonH A D30-Mar-202239 54

READMEH A D30-Mar-20221.9 KiB5643

Remove-FlushViewOfFile-when-unmaping-gcda-files.patchH A D30-Mar-20221.2 KiB3227

android-mangling-error_clang_12.patchH A D30-Mar-2022937 2523

bug47258-extract-symbols-mbcs.patchH A D30-Mar-2022661 1413

build-clang.pyH A D30-Mar-202230.7 KiB887701

clang-13.jsonH A D30-Mar-2022907 2322

clang-5.0.jsonH A D30-Mar-2022170 109

clang-tidy-ci.patchH A D30-Mar-20221.1 KiB2723

clang-tidy-external-linux64.jsonH A D30-Mar-2022289 1211

clang-tidy-linux64.jsonH A D30-Mar-2022250 1110

clang-tidy-macosx64.jsonH A D30-Mar-2022583 1716

clang-tidy-win64.jsonH A D30-Mar-2022169 1110

clang-trunk.jsonH A D30-Mar-2022432 1413

compiler-rt-cross-compile.patchH A D30-Mar-2022864 1613

compiler-rt-no-codesign.patchH A D30-Mar-2022793 2219

downgrade-mangling-error_clang_12.patchH A D30-Mar-20221.1 KiB2422

find_symbolizer_linux_clang_10.patchH A D30-Mar-20221.9 KiB5954

find_symbolizer_linux_clang_15.patchH A D30-Mar-20221.5 KiB5147

fuzzing_ccov_build_clang_12.patchH A D30-Mar-2022854 2824

linux64.jsonH A D30-Mar-2022150 76

llvmorg-14-init-10524-g1ad7de9e92bc.patchH A D30-Mar-20221.5 KiB4134

llvmorg-14-init-12719-gc4b45eeb44fd.patchH A D30-Mar-20223 KiB8778

llvmorg-14-init-13305-g319181f76718.patchH A D30-Mar-20225.9 KiB142125

llvmorg-14-init-13854-g782791ee84d2.patchH A D30-Mar-20222.9 KiB6154

llvmorg-14-init-3166-gd9ab62ca3d29.patchH A D30-Mar-20222.3 KiB7669

llvmorg-14-init-4465-g22ea0cea595e-v2.patchH A D30-Mar-20227.2 KiB182170

macosx64.jsonH A D30-Mar-2022465 1211

profile-g4a10504e1f70c.patchH A D30-Mar-20221.4 KiB4436

profile.jsonH A D30-Mar-202239 54

revert-llvmorg-12-init-7827-g2a078c307204.patchH A D30-Mar-2022894 1816

revert-llvmorg-13-init-8182-gc2297544c047.patchH A D30-Mar-20221.8 KiB4542

revert-llvmorg-14-init-3651-g85ba583eba19.patchH A D30-Mar-20222.4 KiB6562

revert-llvmorg-14-init-3652-gf3c2094d8c11.patchH A D30-Mar-2022697 1615

skip-3-stages.jsonH A D30-Mar-2022171 76

skip-stage-1-win64.jsonH A D30-Mar-2022190 76

skip-stage-1.jsonH A D30-Mar-2022171 76

static-llvm-symbolizer_clang_12.patchH A D30-Mar-2022406 1311

static-llvm-symbolizer_clang_15.patchH A D30-Mar-2022384 1310

tsan-D101154.patchH A D30-Mar-20228.3 KiB241230

unpoison-thread-stacks_clang_10.patchH A D30-Mar-20222.5 KiB6555

win64-no-symlink.patchH A D30-Mar-20221,003 3126

win64.jsonH A D30-Mar-202290 76

README

1build-clang.py
2==============
3
4A script to build clang from source.
5
6```
7usage: build-clang.py [-h] -c CONFIG [--clean]
8
9optional arguments:
10  -h, --help            show this help message and exit
11  -c CONFIG, --config CONFIG
12                        Clang configuration file
13  --clean               Clean the build directory
14```
15
16Pre-requisites
17--------------
18* Working build toolchain.
19* git
20* CMake
21* Ninja
22* Python 2.7 and 3
23
24Please use the latest available CMake for your platform to avoid surprises.
25
26Config file format
27------------------
28
29build-clang.py accepts a JSON config format with the following fields:
30
31* stages: Use 1, 2, 3 or 4 to select different compiler stages.  The default is 2.
32* cc: Path to the bootsraping C Compiler.
33* cxx: Path to the bootsraping C++ Compiler.
34* as: Path to the assembler tool.
35* ar: Path to the library archiver tool.
36* ranlib: Path to the ranlib tool (optional).
37* libtool: Path to the libtool tool (optional).
38* ld: Path to the linker.
39* patches: Optional list of patches to apply.
40* build_type: The type of build to make.  Supported types: Release, Debug, RelWithDebInfo or MinSizeRel.
41* build_libcxx: Whether to build with libcxx.  The default is false.
42* build_clang_tidy: Whether to build clang-tidy with the Mozilla checks imported.  The default is false.
43* osx_cross_compile: Whether to invoke CMake for OS X cross compile builds.
44* assertions: Whether to enable LLVM assertions.  The default is false.
45* pgo: Whether to build with PGO (requires stages == 4).  The default is false.
46
47The revisions are defined in taskcluster/ci/fetch/toolchains.yml. They are usually commit sha1s corresponding to upstream tags.
48
49Environment Variables
50---------------------
51
52The following environment variables are used for cross-compile builds targeting OS X on Linux.
53
54* CROSS_CCTOOLS_PATH: Path to the cctools directory where the cross compiler toolchain is located.
55* CROSS_SYSROOT: Path to the OS X SDK directory for cross compile builds.
56