Tristan Ross | ffd6240 | 2024-07-25 08:20:57 -0700 | [diff] [blame] | 1 | FROM ubuntu:24.04 AS builder |
Maksim Panchenko | 1ccc3d5 | 2021-10-23 15:44:08 -0700 | [diff] [blame] | 2 | |
| 3 | ARG DEBIAN_FRONTEND=noninteractive |
| 4 | ENV TZ=UTC |
| 5 | |
| 6 | RUN apt-get update && \ |
| 7 | apt-get install -y --no-install-recommends ca-certificates git \ |
| 8 | build-essential cmake ninja-build python3 libjemalloc-dev \ |
| 9 | python3-psutil && \ |
| 10 | rm -rf /var/lib/apt/lists |
| 11 | |
| 12 | WORKDIR /home/bolt |
| 13 | |
Amir Ayupov | 68c393c | 2022-01-12 19:06:03 -0800 | [diff] [blame] | 14 | RUN git clone --depth 1 https://github.com/llvm/llvm-project |
Maksim Panchenko | 1ccc3d5 | 2021-10-23 15:44:08 -0700 | [diff] [blame] | 15 | |
| 16 | RUN mkdir build && \ |
| 17 | cd build && \ |
| 18 | cmake -G Ninja ../llvm-project/llvm \ |
| 19 | -DLLVM_ENABLE_PROJECTS="bolt;clang;lld" \ |
| 20 | -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \ |
| 21 | -DCMAKE_BUILD_TYPE=Release \ |
| 22 | -DLLVM_ENABLE_ASSERTIONS=ON \ |
| 23 | -DCMAKE_EXE_LINKER_FLAGS="-Wl,--push-state -Wl,-whole-archive -ljemalloc_pic -Wl,--pop-state -lpthread -lstdc++ -lm -ldl" \ |
| 24 | -DCMAKE_INSTALL_PREFIX=/home/bolt/install && \ |
| 25 | ninja check-bolt && \ |
Yevhen Babiichuk (DustDFG) | 36cd601 | 2025-03-05 09:23:06 +0000 | [diff] [blame] | 26 | ninja install-llvm-bolt install-merge-fdata install-bolt_rt |
Maksim Panchenko | 1ccc3d5 | 2021-10-23 15:44:08 -0700 | [diff] [blame] | 27 | |
Tristan Ross | ffd6240 | 2024-07-25 08:20:57 -0700 | [diff] [blame] | 28 | FROM ubuntu:24.04 |
Maksim Panchenko | 1ccc3d5 | 2021-10-23 15:44:08 -0700 | [diff] [blame] | 29 | |
| 30 | COPY --from=builder /home/bolt/install /usr/local |