ci: add a Docker image to test out C++ modules with GCC

This commit is contained in:
Ben Boeckel 2022-06-14 17:10:12 -04:00
parent 8c5a53096a
commit 1b2270aa4e
3 changed files with 42 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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"