diff options
author | Maksim Panchenko <maks@fb.com> | 2021-10-23 15:44:08 -0700 |
---|---|---|
committer | Maksim Panchenko <maks@fb.com> | 2021-10-23 15:44:08 -0700 |
commit | 1ccc3d500ed9ac0eb5aefd15c6f368f885da328c (patch) | |
tree | 4d484df8abe7a3b6150948278dba3c93cb791732 /bolt/utils | |
parent | 95ee12977b85b624a6e103e536cd94e58bc248c5 (diff) | |
download | llvm-1ccc3d500ed9ac0eb5aefd15c6f368f885da328c.tar.gz |
[BOLT] Add Dockerfile
Summary:
Dockerfile based on Ubuntu:20.04.
Fixes facebookincubator/BOLT#214.
(cherry picked from FBD31883210)
Diffstat (limited to 'bolt/utils')
-rw-r--r-- | bolt/utils/docker/Dockerfile | 31 |
1 files changed, 31 insertions, 0 deletions
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 |