Skip to content

Commit 4a8e765

Browse files
committed
ci: Adding dockerfile used to create musllcc container
Signed-off-by: Tyler Erickson <[email protected]>
1 parent 0f0ebfb commit 4a8e765

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

meson_crosscompile/dockerfile

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# This is the dockerfile used to build the muslcc container hosted by vonericsen on dockerhub
2+
3+
# Use an Alpine base image
4+
FROM alpine:latest
5+
6+
# Install necessary packages
7+
RUN apk add --no-cache \
8+
build-base \
9+
curl \
10+
ca-certificates \
11+
git \
12+
bash \
13+
python3 \
14+
py3-pip \
15+
meson \
16+
ninja \
17+
xz
18+
19+
# Copy the install script into the Docker image
20+
COPY install-muslcc.sh /usr/local/bin/install-muslcc.sh
21+
RUN chmod +x /usr/local/bin/install-muslcc.sh
22+
23+
# Run the install script for each architecture
24+
RUN /usr/local/bin/install-muslcc.sh -a aarch64
25+
RUN /usr/local/bin/install-muslcc.sh -a armv5l
26+
RUN /usr/local/bin/install-muslcc.sh -a armv5lhf
27+
RUN /usr/local/bin/install-muslcc.sh -a armv6
28+
RUN /usr/local/bin/install-muslcc.sh -a armv6hf
29+
RUN /usr/local/bin/install-muslcc.sh -a armv7l
30+
RUN /usr/local/bin/install-muslcc.sh -a armv7r
31+
RUN /usr/local/bin/install-muslcc.sh -a i486
32+
RUN /usr/local/bin/install-muslcc.sh -a i686
33+
RUN /usr/local/bin/install-muslcc.sh -a mips
34+
RUN /usr/local/bin/install-muslcc.sh -a mips64
35+
RUN /usr/local/bin/install-muslcc.sh -a mipsel
36+
RUN /usr/local/bin/install-muslcc.sh -a mips64el
37+
RUN /usr/local/bin/install-muslcc.sh -a powerpc
38+
RUN /usr/local/bin/install-muslcc.sh -a powerpcle
39+
RUN /usr/local/bin/install-muslcc.sh -a powerpc64
40+
RUN /usr/local/bin/install-muslcc.sh -a powerpc64le
41+
RUN /usr/local/bin/install-muslcc.sh -a riscv64
42+
RUN /usr/local/bin/install-muslcc.sh -a s390x
43+
RUN /usr/local/bin/install-muslcc.sh -a x86_64
44+
45+
# Set environment variables for the compilers
46+
ENV PATH="$PATH:/opt/muslcc/aarch64-linux-musl-cross/bin:/opt/muslcc/armv5l-linux-musleabi-cross/bin:/opt/muslcc/armv5l-linux-musleabihf-cross/bin:/opt/muslcc/armv6-linux-musleabi-cross/bin:/opt/muslcc/armv6-linux-musleabihf-cross/bin:/opt/muslcc/armv7l-linux-musleabihf-cross/bin:/opt/muslcc/armv7r-linux-musleabihf-cross/bin:/opt/muslcc/i486-linux-musl-cross/bin:/opt/muslcc/i686-linux-musl-cross/bin:/opt/muslcc/mips-linux-musl-cross/bin:/opt/muslcc/mips64-linux-musl-cross/bin:/opt/muslcc/mips64el-linux-musl-cross/bin:/opt/muslcc/mipsel-linux-musl-cross/bin:/opt/muslcc/powerpc-linux-musl-cross/bin:/opt/muslcc/powerpc64-linux-musl-cross/bin:/opt/muslcc/powerpc64le-linux-musl-cross/bin:/opt/muslcc/powerpcle-linux-musl-cross/bin:/opt/muslcc/riscv64-linux-musl-cross/bin:/opt/muslcc/s390x-linux-musl-cross/bin:/opt/muslcc/x86_64-linux-musl-cross/bin"
47+
48+
# Verify installation
49+
RUN aarch64-linux-musl-gcc --version
50+
RUN armv5l-linux-musleabi-gcc --version
51+
RUN armv5l-linux-musleabihf-gcc --version
52+
RUN armv6-linux-musleabi-gcc --version
53+
RUN armv6-linux-musleabihf-gcc --version
54+
RUN armv7l-linux-musleabihf-gcc --version
55+
RUN armv7r-linux-musleabihf-gcc --version
56+
RUN i486-linux-musl-gcc --version
57+
RUN i686-linux-musl-gcc --version
58+
RUN mips-linux-musl-gcc --version
59+
RUN mips64-linux-musl-gcc --version
60+
RUN mipsel-linux-musl-gcc --version
61+
RUN mips64el-linux-musl-gcc --version
62+
RUN powerpc-linux-musl-gcc --version
63+
RUN powerpcle-linux-musl-gcc --version
64+
RUN powerpc64-linux-musl-gcc --version
65+
RUN powerpc64le-linux-musl-gcc --version
66+
RUN riscv64-linux-musl-gcc --version
67+
RUN s390x-linux-musl-gcc --version
68+
RUN x86_64-linux-musl-gcc --version

0 commit comments

Comments
 (0)