diff options
author | Philip Herron <philip.herron@embecosm.com> | 2020-11-27 12:57:49 +0000 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2020-11-28 21:13:22 +0000 |
commit | 4e475efeb4e3d0c8a418f28ea1176aa5b0550b44 (patch) | |
tree | 58f51e035f166824eb996497f3ec243bea9f2316 | |
parent | f28325125b7ea31e5cbfd3269a3ee6a4b79ddfd2 (diff) | |
download | gcc-4e475efeb4e3d0c8a418f28ea1176aa5b0550b44.zip gcc-4e475efeb4e3d0c8a418f28ea1176aa5b0550b44.tar.gz gcc-4e475efeb4e3d0c8a418f28ea1176aa5b0550b44.tar.bz2 |
Add Docker file for automated images to allow for easier testing
Example usage:
docker build . -t gccrs-dev
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp \
gccrs-dev:latest gccrs -g -O2 -c \
gcc/testsuite/rust.test/compilable/type_infer1.rs -o type_infer1.o
-rw-r--r-- | Dockerfile | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..460fe4b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,71 @@ +FROM ubuntu:latest + +RUN apt-get update; \ + DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2\ + dpkg-dev \ + file \ + wget \ + curl \ + build-essential \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + flex \ + bison + +ADD . /usr/src/gcc +RUN /bin/sh -c set -ex; \ + cd /usr/src/gcc; \ + ./contrib/download_prerequisites; { rm *.tar.* || true; }; \ + mkdir -p /usr/src/gcc/gcc-build; \ + cd /usr/src/gcc/gcc-build; \ + /usr/src/gcc/configure --disable-bootstrap --disable-multilib --enable-languages=c,c++,rust; \ + make -j "$(nproc)"; \ + make install-strip; \ + cd /root; \ + rm -rf /usr/src/gcc + +RUN /bin/sh -c set -ex; \ + echo '/usr/local/lib64' > /etc/ld.so.conf.d/local-lib64.conf; \ + ldconfig -v + +RUN /bin/sh -c set -ex; \ + dpkg-divert --divert /usr/bin/gcc.orig --rename /usr/bin/gcc; \ + dpkg-divert --divert /usr/bin/g++.orig --rename /usr/bin/g++; \ + update-alternatives --install /usr/bin/cc cc /usr/local/bin/gcc 999 + + +CMD ["bash"] |