mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-14 15:46:32 +00:00

`perf2bolt` and `llvm-boltdiff` are now not separate targets but just symlinks to `llvm-bolt` created when you install `llvm-bolt` itself so when you try to build it ninja reports there are no targets for both of them
31 lines
964 B
Docker
31 lines
964 B
Docker
FROM ubuntu:24.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/llvm/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-merge-fdata install-bolt_rt
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
COPY --from=builder /home/bolt/install /usr/local
|