From 1ccc3d500ed9ac0eb5aefd15c6f368f885da328c Mon Sep 17 00:00:00 2001 From: Maksim Panchenko Date: Sat, 23 Oct 2021 15:44:08 -0700 Subject: [PATCH] [BOLT] Add Dockerfile Summary: Dockerfile based on Ubuntu:20.04. Fixes facebookincubator/BOLT#214. (cherry picked from FBD31883210) --- bolt/utils/docker/Dockerfile | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 bolt/utils/docker/Dockerfile diff --git a/bolt/utils/docker/Dockerfile b/bolt/utils/docker/Dockerfile new file mode 100644 index 000000000000..499883fb896e --- /dev/null +++ b/bolt/utils/docker/Dockerfile @@ -0,0 +1,31 @@ +FROM ubuntu:20.04 AS builder + +ARG DEBIAN_FRONTEND=noninteractive +ENV TZ=UTC + +RUN apt-get update && \ + apt-get install -y --no-install-recommends ca-certificates git \ + build-essential cmake ninja-build python3 libjemalloc-dev \ + python3-psutil && \ + rm -rf /var/lib/apt/lists + +WORKDIR /home/bolt + +RUN git clone --depth 1 https://github.com/facebookincubator/BOLT llvm-project + +RUN mkdir build && \ + cd build && \ + cmake -G Ninja ../llvm-project/llvm \ + -DLLVM_ENABLE_PROJECTS="bolt;clang;lld" \ + -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_ASSERTIONS=ON \ + -DCMAKE_EXE_LINKER_FLAGS="-Wl,--push-state -Wl,-whole-archive -ljemalloc_pic -Wl,--pop-state -lpthread -lstdc++ -lm -ldl" \ + -DCMAKE_INSTALL_PREFIX=/home/bolt/install && \ + ninja check-bolt && \ + ninja install-llvm-bolt install-perf2bolt install-merge-fdata \ + install-llvm-boltdiff install-bolt_rt + +FROM ubuntu:20.04 + +COPY --from=builder /home/bolt/install /usr/local