diff options
| author | bors <bors@rust-lang.org> | 2024-03-24 18:15:27 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-03-24 18:15:27 +0000 |
| commit | 0824b300eb0dae5d9ed59719d3f2732016683d66 (patch) | |
| tree | 111090b65cf2ce2b0eee6555d98abe3f51c4bfa1 | |
| parent | d36bdd19f2940876e84d4e68f2ec3832507b3a33 (diff) | |
| parent | f512f9e94903b81030672678592aff44ae777e20 (diff) | |
| download | rust-0824b300eb0dae5d9ed59719d3f2732016683d66.tar.gz rust-0824b300eb0dae5d9ed59719d3f2732016683d66.zip | |
Auto merge of #122658 - cuviper:gccjit-archive, r=Mark-Simulacrum
ci: Build gccjit from a git archive A full `git clone` of GCC includes quite a lot of history, and it's completely unnecessary for building it in CI. We can use a GitHub archive URL to get a simple tarball that is much faster to download. Also, the `gcc-build` directory can be removed after install to reduce the image size even further.
| -rwxr-xr-x | src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh b/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh index b22d60f2b1d..5bc6f5cc216 100755 --- a/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh +++ b/src/ci/docker/host-x86_64/dist-x86_64-linux/build-gccjit.sh @@ -1,5 +1,10 @@ #!/usr/bin/env bash +GIT_REPO="https://github.com/rust-lang/gcc" + +# This commit hash needs to be updated to use a more recent gcc fork version. +GIT_COMMIT="78dc50f0e50e6cd1433149520bd512a4e0eaa1bc" + set -ex cd $1 @@ -7,13 +12,11 @@ cd $1 source shared.sh # Setting up folders for GCC -git clone https://github.com/antoyo/gcc gcc-src -cd gcc-src -# This commit hash needs to be updated to use a more recent gcc fork version. -git checkout 78dc50f0e50e6cd1433149520bd512a4e0eaa1bc +curl -L "$GIT_REPO/archive/$GIT_COMMIT.tar.gz" | + tar -xz --transform "s/gcc-$GIT_COMMIT/gcc-src/" -mkdir ../gcc-build ../gcc-install -cd ../gcc-build +mkdir gcc-build gcc-install +pushd gcc-build # Building GCC. hide_output \ @@ -28,6 +31,7 @@ hide_output \ hide_output make -j$(nproc) hide_output make install -rm -rf ../gcc-src +popd +rm -rf gcc-src gcc-build ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so.0 |
