Skip to content

Commit 4e475ef

Browse files
committed
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
1 parent f283251 commit 4e475ef

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

Dockerfile

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
FROM ubuntu:latest
2+
3+
RUN apt-get update; \
4+
DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \
5+
autoconf \
6+
automake \
7+
bzip2\
8+
dpkg-dev \
9+
file \
10+
wget \
11+
curl \
12+
build-essential \
13+
imagemagick \
14+
libbz2-dev \
15+
libc6-dev \
16+
libcurl4-openssl-dev \
17+
libdb-dev \
18+
libevent-dev \
19+
libffi-dev \
20+
libgdbm-dev \
21+
libglib2.0-dev \
22+
libgmp-dev \
23+
libjpeg-dev \
24+
libkrb5-dev \
25+
liblzma-dev \
26+
libmagickcore-dev \
27+
libmagickwand-dev \
28+
libmaxminddb-dev \
29+
libncurses5-dev \
30+
libncursesw5-dev \
31+
libpng-dev \
32+
libpq-dev \
33+
libreadline-dev \
34+
libsqlite3-dev \
35+
libssl-dev \
36+
libtool \
37+
libwebp-dev \
38+
libxml2-dev \
39+
libxslt-dev \
40+
libyaml-dev \
41+
make \
42+
patch \
43+
unzip \
44+
xz-utils \
45+
zlib1g-dev \
46+
flex \
47+
bison
48+
49+
ADD . /usr/src/gcc
50+
RUN /bin/sh -c set -ex; \
51+
cd /usr/src/gcc; \
52+
./contrib/download_prerequisites; { rm *.tar.* || true; }; \
53+
mkdir -p /usr/src/gcc/gcc-build; \
54+
cd /usr/src/gcc/gcc-build; \
55+
/usr/src/gcc/configure --disable-bootstrap --disable-multilib --enable-languages=c,c++,rust; \
56+
make -j "$(nproc)"; \
57+
make install-strip; \
58+
cd /root; \
59+
rm -rf /usr/src/gcc
60+
61+
RUN /bin/sh -c set -ex; \
62+
echo '/usr/local/lib64' > /etc/ld.so.conf.d/local-lib64.conf; \
63+
ldconfig -v
64+
65+
RUN /bin/sh -c set -ex; \
66+
dpkg-divert --divert /usr/bin/gcc.orig --rename /usr/bin/gcc; \
67+
dpkg-divert --divert /usr/bin/g++.orig --rename /usr/bin/g++; \
68+
update-alternatives --install /usr/bin/cc cc /usr/local/bin/gcc 999
69+
70+
71+
CMD ["bash"]

0 commit comments

Comments
 (0)