File tree Expand file tree Collapse file tree 5 files changed +64
-7
lines changed Top Open diff view settings
src/ci/docker/host-x86_64 Expand file tree Collapse file tree 5 files changed +64
-7
lines changed Top Open diff view settings Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+ set -ex
4+
5+ cd $1
6+
7+ # Setting up folders for GCC
8+ git clone https://github.com/antoyo/gcc gcc-src
9+ cd gcc-src
10+ git checkout $( head -1 /scripts/libgccjit.version)
11+
12+ mkdir ../gcc-build ../gcc-install
13+ cd ../gcc-build
14+
15+ # Building GCC.
16+ ../gcc-src/configure \
17+ --enable-host-shared \
18+ --enable-languages=jit \
19+ --enable-checking=release \
20+ --disable-bootstrap \
21+ --disable-multilib \
22+ --prefix=$( pwd) /../gcc-install
23+ make
24+ make install
25+
26+ rm -rf ../gcc-src
Original file line number Diff line number Diff line change 1+ cf9554126
Original file line number Diff line number Diff line change @@ -24,7 +24,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2424 xz-utils \
2525 nodejs \
2626 mingw-w64 \
27- libgccjit-12-dev \
27+ # libgccjit dependencies
28+ flex \
29+ libmpfr-dev \
30+ libgmp-dev \
31+ libmpc3 \
32+ libmpc-dev \
2833 && rm -rf /var/lib/apt/lists/*
2934
3035# Note: libgccjit needs to match the default gcc version for the linker to find it.
@@ -54,4 +59,10 @@ ENV RUST_CONFIGURE_ARGS \
5459
5560COPY host-x86_64/x86_64-gnu-llvm-16/script.sh /tmp/
5661
62+ COPY host-x86_64/dist-x86_64-linux/libgccjit.version /scripts/
63+ COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/
64+
65+ RUN sh /scripts/build-gccjit.sh /scripts
66+ RUN ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so
67+
5768ENV SCRIPT /tmp/script.sh
Original file line number Diff line number Diff line change @@ -24,11 +24,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2424 xz-utils \
2525 nodejs \
2626 mingw-w64 \
27- libgccjit-13-dev \
27+ # libgccjit dependencies
28+ flex \
29+ libmpfr-dev \
30+ libgmp-dev \
31+ libmpc3 \
32+ libmpc-dev \
2833 && rm -rf /var/lib/apt/lists/*
2934
30- # Note: libgccjit needs to match the default gcc version for the linker to find it.
31-
3235# Install powershell (universal package) so we can test x.ps1 on Linux
3336RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/powershell_7.3.1-1.deb_amd64.deb" > powershell.deb && \
3437 dpkg -i powershell.deb && \
@@ -51,4 +54,11 @@ ENV RUST_CONFIGURE_ARGS \
5154
5255COPY host-x86_64/x86_64-gnu-llvm-16/script.sh /tmp/
5356
57+
58+ COPY host-x86_64/dist-x86_64-linux/libgccjit.version /scripts/
59+ COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/
60+
61+ RUN sh /scripts/build-gccjit.sh /scripts
62+ RUN ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so
63+
5464ENV SCRIPT /tmp/script.sh
Original file line number Diff line number Diff line change @@ -15,7 +15,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1515 sudo \
1616 xz-utils \
1717 tidy \
18- libgccjit-12-dev \
1918 \
2019# Install dependencies for chromium browser
2120 gconf-service \
@@ -57,13 +56,17 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
5756 lsb-release \
5857 xdg-utils \
5958 wget \
59+ # libgccjit dependencies
60+ flex \
61+ libmpfr-dev \
62+ libgmp-dev \
63+ libmpc3 \
64+ libmpc-dev \
6065 && rm -rf /var/lib/apt/lists/*
6166
6267COPY scripts/sccache.sh /scripts/
6368RUN sh /scripts/sccache.sh
6469
65- # Make `libgccjit.so` accessible.
66- RUN ln -s /usr/lib/gcc/x86_64-linux-gnu/12/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so
6770# Fix rustc_codegen_gcc lto issues.
6871ENV GCC_EXEC_PREFIX="/usr/lib/gcc/"
6972
@@ -92,6 +95,12 @@ ENV RUST_CONFIGURE_ARGS \
9295
9396ENV HOST_TARGET x86_64-unknown-linux-gnu
9497
98+ COPY host-x86_64/dist-x86_64-linux/libgccjit.version /scripts/
99+ COPY host-x86_64/dist-x86_64-linux/build-gccjit.sh /scripts/
100+
101+ RUN sh /scripts/build-gccjit.sh /scripts
102+ RUN ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so
103+
95104ENV SCRIPT /tmp/checktools.sh ../x.py && \
96105 NODE_PATH=`npm root -g` python3 ../x.py test tests/rustdoc-gui --stage 2 \
97106 --test-args "'--no-sandbox --jobs 1'"
You can’t perform that action at this time.
0 commit comments