diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2022-06-14 21:10:12 (GMT) |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2022-06-16 14:28:34 (GMT) |
commit | 1b2270aa4ed963b64e841e42b3273fe9ffe56a5e (patch) | |
tree | c33e643d7ec91ec35c28d228b2303e3bc2e2319f /.gitlab/ci | |
parent | 8c5a53096ab596aa77623b19d94d9b84046213cc (diff) | |
download | CMake-1b2270aa4ed963b64e841e42b3273fe9ffe56a5e.zip CMake-1b2270aa4ed963b64e841e42b3273fe9ffe56a5e.tar.gz CMake-1b2270aa4ed963b64e841e42b3273fe9ffe56a5e.tar.bz2 |
ci: add a Docker image to test out C++ modules with GCC
Diffstat (limited to '.gitlab/ci')
-rw-r--r-- | .gitlab/ci/docker/gcc_cxx_modules/Dockerfile | 9 | ||||
-rwxr-xr-x | .gitlab/ci/docker/gcc_cxx_modules/install_deps.sh | 7 | ||||
-rwxr-xr-x | .gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh | 26 |
3 files changed, 42 insertions, 0 deletions
diff --git a/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile b/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile new file mode 100644 index 0000000..e0af0b9 --- /dev/null +++ b/.gitlab/ci/docker/gcc_cxx_modules/Dockerfile @@ -0,0 +1,9 @@ +FROM fedora:36 +MAINTAINER Ben Boeckel <ben.boeckel@kitware.com> + +# Install build dependencies for packages. +COPY install_deps.sh /root/install_deps.sh +RUN sh /root/install_deps.sh + +COPY install_gcc.sh /root/install_gcc.sh +RUN sh /root/install_gcc.sh diff --git a/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh b/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh new file mode 100755 index 0000000..2556b54 --- /dev/null +++ b/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +dnf install -y --setopt=install_weak_deps=False \ + gcc-c++ mpfr-devel libmpc-devel isl-devel flex bison file findutils diffutils +dnf clean all diff --git a/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh b/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh new file mode 100755 index 0000000..20ea35f --- /dev/null +++ b/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +set -e + +readonly revision="p1689r5-cmake-ci-20220614" # 3075e510e3d29583f8886b95aff044c0474c84a5 +readonly tarball="https://github.com/mathstuf/gcc/archive/$revision.tar.gz" + +readonly workdir="$HOME/gcc" +readonly srcdir="$workdir/gcc" +readonly builddir="$workdir/build" +readonly njobs="$( nproc )" + +mkdir -p "$workdir" +cd "$workdir" +curl -L "$tarball" > "gcc-$revision.tar.gz" +tar xf "gcc-$revision.tar.gz" +mv "gcc-$revision" "$srcdir" +mkdir -p "$builddir" +cd "$builddir" +"$srcdir/configure" \ + --disable-multilib \ + --enable-languages=c,c++ \ + --prefix="/opt/gcc-p1689" +make "-j$njobs" +make "-j$njobs" install-strip +rm -rf "$workdir" |