Skip to content

Commit 5ae9b78

Browse files
Use libgc from Alpine for building the compiler on Linux (#301)
1 parent be0ab5b commit 5ae9b78

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

linux/Dockerfile

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ RUN apk add --no-cache \
55
# Statically-compiled llvm
66
llvm15-dev llvm15-static \
77
# Static stdlib dependencies
8-
zlib-static yaml-static libxml2-static pcre2-dev libevent-static \
8+
gc-dev zlib-static yaml-static libxml2-static pcre2-dev libevent-static \
99
# Static compiler dependencies
1010
libffi-dev \
1111
# Build tools
@@ -14,20 +14,12 @@ RUN apk add --no-cache \
1414
ARG release
1515
ENV CFLAGS="-fPIC -pipe ${release:+-O2}"
1616

17-
# Build libgc (again, this time for musl)
18-
ARG gc_version
19-
RUN git clone https://github.com/ivmai/bdwgc \
20-
&& cd bdwgc \
21-
&& git checkout ${gc_version} \
22-
\
23-
&& ./autogen.sh \
24-
&& ./configure --disable-debug --disable-shared --enable-large-config \
25-
&& make -j$(nproc) CFLAGS=-DNO_GETCONTEXT
26-
2717
# This overrides default CRYSTAL_LIBRARY_PATH baked into the binary (starting with 1.2.0)
2818
# or configured via wrapper script (before 1.2.0) because we want to link against
29-
# the newly-built libraries, not the ones shipped with the bootstrap compiler.
30-
ENV CRYSTAL_LIBRARY_PATH=/bdwgc/.libs/
19+
# the regularly installed libraries, not the ones shipped with the bootstrap compiler.
20+
# This particularly affects libgc which was bundled upto Crystal 1.12
21+
ENV CRYSTAL_LIBRARY_PATH=""
22+
3123
RUN llvm-config --version
3224

3325
ARG previous_crystal_release

0 commit comments

Comments
 (0)