mirror of
https://github.com/Noratrieb/rustc-i686-unknown-linux-musl.git
synced 2026-01-14 17:15:02 +01:00
35 lines
1.3 KiB
Docker
35 lines
1.3 KiB
Docker
FROM debian:12
|
|
|
|
WORKDIR /root
|
|
|
|
RUN apt update && apt install build-essential git python3 cmake curl ninja-build libssl-dev pkg-config -y
|
|
|
|
# Install cross-toolchain
|
|
RUN curl -LO https://musl.cc/i686-linux-musl-cross.tgz
|
|
RUN tar -xf i686-linux-musl-cross.tgz
|
|
|
|
# Build OpenSSL
|
|
RUN curl -LO https://github.com/openssl/openssl/releases/download/openssl-3.5.0/openssl-3.5.0.tar.gz
|
|
RUN tar -xf openssl-3.5.0.tar.gz && mkdir /root/openssl-3.5.0/build
|
|
WORKDIR /root/openssl-3.5.0/build
|
|
RUN ../Configure linux-x86 --cross-compile-prefix=/root/i686-linux-musl-cross/bin/i686-linux-musl- --prefix=/root/openssl-3.5.0/build
|
|
RUN make all "-j$(nproc)"
|
|
RUN cp -r ../include/openssl/*.h include/openssl/
|
|
|
|
ENV OPENSSL_DIR=/root/openssl-3.5.0/build
|
|
ENV OPENSSL_LIB_DIR=$OPENSSL_DIR
|
|
|
|
# Build Rust
|
|
WORKDIR /root
|
|
RUN git clone https://github.com/rust-lang/rust.git
|
|
WORKDIR /root/rust
|
|
|
|
RUN git checkout beta
|
|
|
|
RUN ./configure --musl-root-i686=../i686-linux-musl-cross/i686-linux-musl --disable-docs --set target.i686-unknown-linux-musl.crt-static=false --enable-extended
|
|
|
|
ENV CC_i686_unknown_linux_musl=/root/i686-linux-musl-cross/bin/i686-linux-musl-gcc
|
|
ENV CXX_i686_unknown_linux_musl=/root/i686-linux-musl-cross/bin/i686-linux-musl-g++
|
|
|
|
RUN ./x --help
|
|
RUN ./x dist --host='i686-unknown-linux-musl' --target i686-unknown-linux-musl
|