aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates/tools
diff options
context:
space:
mode:
authorGravatar Vijay Pai <vpai@google.com>2016-03-16 15:02:28 -0700
committerGravatar Vijay Pai <vpai@google.com>2016-03-16 15:20:43 -0700
commitb5b18faddc0f457623eef93bad362851cd3fcd19 (patch)
treef1ab1b61b8e4f5a96640b940d41cc6a8addf7e66 /templates/tools
parent91bd67cb337d8794f41b481c773203e72492272b (diff)
Update clang for the Dockerfile used in tsan tests
Diffstat (limited to 'templates/tools')
-rw-r--r--templates/tools/dockerfile/clang_update.include32
-rw-r--r--templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template2
2 files changed, 33 insertions, 1 deletions
diff --git a/templates/tools/dockerfile/clang_update.include b/templates/tools/dockerfile/clang_update.include
new file mode 100644
index 0000000000..83ab3e0bbb
--- /dev/null
+++ b/templates/tools/dockerfile/clang_update.include
@@ -0,0 +1,32 @@
+#=================
+# Update clang to a version with improved tsan
+
+RUN apt-get update && apt-get -y install python cmake && apt-get clean
+
+RUN git clone -n -b release_38 http://llvm.org/git/llvm.git && ${'\\'}
+ cd llvm && git checkout ad57503 && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/clang.git && ${'\\'}
+ cd clang && git checkout ad2c56e && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/compiler-rt.git && ${'\\'}
+ cd compiler-rt && git checkout 3176922 && cd ..
+RUN git clone -n -b release_38 ${'\\'}
+ http://llvm.org/git/clang-tools-extra.git && cd clang-tools-extra && ${'\\'}
+ git checkout c288525 && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/libcxx.git && ${'\\'}
+ cd libcxx && git checkout fda3549 && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/libcxxabi.git && ${'\\'}
+ cd libcxxabi && git checkout 8d4e51d && cd ..
+
+RUN mv clang llvm/tools
+RUN mv compiler-rt llvm/projects
+RUN mv clang-tools-extra llvm/tools/clang/tools
+RUN mv libcxx llvm/projects
+RUN mv libcxxabi llvm/projects
+
+RUN mkdir llvm-build
+RUN cd llvm-build && cmake ${'\\'}
+ -DCMAKE_BUILD_TYPE:STRING=Release ${'\\'}
+ -DCMAKE_INSTALL_PREFIX:STRING=/usr ${'\\'}
+ -DLLVM_TARGETS_TO_BUILD:STRING=X86 ${'\\'}
+ ../llvm
+RUN make -C llvm-build && make -C llvm-build install && rm -rf llvm-build
diff --git a/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template b/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template
index 842c534805..eb11ce352c 100644
--- a/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template
+++ b/templates/tools/dockerfile/test/cxx_jessie_x64/Dockerfile.template
@@ -33,7 +33,7 @@
<%include file="../../apt_get_basic.include"/>
<%include file="../../cxx_deps.include"/>
+ <%include file="../../clang_update.include"/>
<%include file="../../run_tests_addons.include"/>
# Define the default command.
CMD ["bash"]
- \ No newline at end of file