cloudflare/ClickHouse
Publicmirrored fromhttps://github.com/cloudflare/ClickHouse
ci/build-clang-from-sources.sh
37lines · modecode
7 years ago
| 1 | #!/usr/bin/env bash |
| 2 | set -e -x |
| 3 | |
| 4 | source default-config |
| 5 | |
| 6 | ./install-os-packages.sh svn |
| 7 | ./install-os-packages.sh cmake |
| 8 | |
| 9 | mkdir "${WORKSPACE}/llvm" |
| 10 | |
| 11 | svn co "http://llvm.org/svn/llvm-project/llvm/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm" |
| 12 | svn co "http://llvm.org/svn/llvm-project/cfe/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm/tools/clang" |
| 13 | svn co "http://llvm.org/svn/llvm-project/lld/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm/tools/lld" |
| 14 | svn co "http://llvm.org/svn/llvm-project/polly/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm/tools/polly" |
| 15 | svn co "http://llvm.org/svn/llvm-project/clang-tools-extra/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm/tools/clang/tools/extra" |
| 16 | svn co "http://llvm.org/svn/llvm-project/compiler-rt/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm/projects/compiler-rt" |
| 17 | svn co "http://llvm.org/svn/llvm-project/libcxx/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm/projects/libcxx" |
| 18 | svn co "http://llvm.org/svn/llvm-project/libcxxabi/${CLANG_SOURCES_BRANCH}" "${WORKSPACE}/llvm/llvm/projects/libcxxabi" |
| 19 | |
| 20 | mkdir "${WORKSPACE}/llvm/build" |
| 21 | cd "${WORKSPACE}/llvm/build" |
| 22 | |
| 23 | # NOTE You must build LLVM with the same ABI as ClickHouse. |
| 24 | # For example, if you compile ClickHouse with libc++, you must add |
| 25 | # -DLLVM_ENABLE_LIBCXX=1 |
| 26 | # to the line below. |
| 27 | |
| 28 | cmake -DCMAKE_BUILD_TYPE:STRING=Release -DLLVM_ENABLE_LIBCXX=1 -DLLVM_ENABLE_RTTI=1 ../llvm |
| 29 | |
| 30 | make -j $THREADS |
| 31 | $SUDO make install |
| 32 | hash clang |
| 33 | |
| 34 | cd ../../.. |
| 35 | |
| 36 | export CC=clang |
| 37 | export CXX=clang++ |