mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-22 21:58:01 +00:00
cec283986f
We only need LLD for cross compilation. This significantly reduces the LLVM build times in a cross compilation scenario. Update the README as a drive-by.
33 lines
925 B
Docker
33 lines
925 B
Docker
FROM rust:1.84.0 AS llvm-builder
|
|
WORKDIR /opt/revive
|
|
|
|
RUN apt update && \
|
|
apt upgrade -y && \
|
|
apt install -y cmake ninja-build curl git libssl-dev pkg-config clang lld musl
|
|
|
|
COPY . .
|
|
|
|
RUN make install-llvm-builder
|
|
RUN revive-llvm --target-env musl clone
|
|
RUN revive-llvm --target-env musl build --llvm-projects lld --llvm-projects clang
|
|
|
|
FROM messense/rust-musl-cross:x86_64-musl AS resolc-builder
|
|
WORKDIR /opt/revive
|
|
|
|
RUN apt update && \
|
|
apt upgrade -y && \
|
|
apt install -y pkg-config
|
|
|
|
COPY . .
|
|
COPY --from=llvm-builder /opt/revive/target-llvm /opt/revive/target-llvm
|
|
|
|
ENV LLVM_SYS_181_PREFIX=/opt/revive/target-llvm/musl/target-final
|
|
RUN make install-bin
|
|
|
|
FROM alpine:latest
|
|
ADD https://github.com/ethereum/solidity/releases/download/v0.8.28/solc-static-linux /usr/bin/solc
|
|
COPY --from=resolc-builder /root/.cargo/bin/resolc /usr/bin/resolc
|
|
|
|
RUN apk add --no-cache libc6-compat
|
|
RUN chmod +x /usr/bin/solc
|