11ccc3d50SMaksim PanchenkoFROM ubuntu:20.04 AS builder
21ccc3d50SMaksim Panchenko
31ccc3d50SMaksim PanchenkoARG DEBIAN_FRONTEND=noninteractive
41ccc3d50SMaksim PanchenkoENV TZ=UTC
51ccc3d50SMaksim Panchenko
61ccc3d50SMaksim PanchenkoRUN apt-get update && \
71ccc3d50SMaksim Panchenko    apt-get install -y --no-install-recommends ca-certificates git \
81ccc3d50SMaksim Panchenko      build-essential cmake ninja-build python3 libjemalloc-dev \
91ccc3d50SMaksim Panchenko      python3-psutil && \
101ccc3d50SMaksim Panchenko    rm -rf /var/lib/apt/lists
111ccc3d50SMaksim Panchenko
121ccc3d50SMaksim PanchenkoWORKDIR /home/bolt
131ccc3d50SMaksim Panchenko
14*68c393c9SAmir AyupovRUN git clone --depth 1 https://github.com/llvm/llvm-project
151ccc3d50SMaksim Panchenko
161ccc3d50SMaksim PanchenkoRUN mkdir build && \
171ccc3d50SMaksim Panchenko    cd build && \
181ccc3d50SMaksim Panchenko    cmake -G Ninja ../llvm-project/llvm \
191ccc3d50SMaksim Panchenko      -DLLVM_ENABLE_PROJECTS="bolt;clang;lld" \
201ccc3d50SMaksim Panchenko      -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \
211ccc3d50SMaksim Panchenko      -DCMAKE_BUILD_TYPE=Release \
221ccc3d50SMaksim Panchenko      -DLLVM_ENABLE_ASSERTIONS=ON \
231ccc3d50SMaksim Panchenko      -DCMAKE_EXE_LINKER_FLAGS="-Wl,--push-state -Wl,-whole-archive -ljemalloc_pic -Wl,--pop-state -lpthread -lstdc++ -lm -ldl" \
241ccc3d50SMaksim Panchenko      -DCMAKE_INSTALL_PREFIX=/home/bolt/install && \
251ccc3d50SMaksim Panchenko    ninja check-bolt && \
261ccc3d50SMaksim Panchenko    ninja install-llvm-bolt install-perf2bolt install-merge-fdata \
271ccc3d50SMaksim Panchenko      install-llvm-boltdiff install-bolt_rt
281ccc3d50SMaksim Panchenko
291ccc3d50SMaksim PanchenkoFROM ubuntu:20.04
301ccc3d50SMaksim Panchenko
311ccc3d50SMaksim PanchenkoCOPY --from=builder /home/bolt/install /usr/local
32