1 #================= 2 # Update clang to a version with improved tsan and fuzzing capabilities 3 4 RUN git clone -n -b release_38 http://llvm.org/git/llvm.git && ${'\\'} 5 cd llvm && git checkout ad57503 && cd .. 6 RUN git clone -n -b release_38 http://llvm.org/git/clang.git && ${'\\'} 7 cd clang && git checkout ad2c56e && cd .. 8 RUN git clone -n -b release_38 http://llvm.org/git/compiler-rt.git && ${'\\'} 9 cd compiler-rt && git checkout 3176922 && cd .. 10 RUN git clone -n -b release_38 ${'\\'} 11 http://llvm.org/git/clang-tools-extra.git && cd clang-tools-extra && ${'\\'} 12 git checkout c288525 && cd .. 13 RUN git clone -n -b release_38 http://llvm.org/git/libcxx.git && ${'\\'} 14 cd libcxx && git checkout fda3549 && cd .. 15 RUN git clone -n -b release_38 http://llvm.org/git/libcxxabi.git && ${'\\'} 16 cd libcxxabi && git checkout 8d4e51d && cd .. 17 18 RUN mv clang llvm/tools 19 RUN mv compiler-rt llvm/projects 20 RUN mv clang-tools-extra llvm/tools/clang/tools 21 RUN mv libcxx llvm/projects 22 RUN mv libcxxabi llvm/projects 23 24 RUN mkdir llvm-build 25 RUN cd llvm-build && cmake ${'\\'} 26 -DCMAKE_BUILD_TYPE:STRING=Release ${'\\'} 27 -DCMAKE_INSTALL_PREFIX:STRING=/usr ${'\\'} 28 -DLLVM_TARGETS_TO_BUILD:STRING=X86 ${'\\'} 29 ../llvm 30 RUN make -C llvm-build -j 12 && make -C llvm-build install && rm -rf llvm-build 31