Skip to content
Will Lovett edited this page Oct 13, 2020 · 4 revisions

My notes on developing changes to compiler-explorer

git clone https://github.com/mattgodbolt/compiler-explorer (or this)
git clone https://github.com/compiler-explorer/infra
git clone https://github.com/mattgodbolt/compiler-explorer-image
git clone https://github.com/madduci/docker-compiler-explorer
mkdir built-compilers

Patch compiler-explorer-image/clang/Dockerfile, using some of the stuff from docker-compiler-explorer:

diff --git a/clang/Dockerfile b/clang/Dockerfile
index 7f0a7f6..6984b56 100644
--- a/clang/Dockerfile
+++ b/clang/Dockerfile
@@ -18,12 +18,23 @@ RUN apt update -y -q && apt upgrade -y -q && apt update -y -q && \
     make \
     patch \
     python \
+    python3.8 \
+    python3.8-venv \
+    python3-wheel \
     s3cmd \
     subversion \
     texinfo \
     wget \
     xz-utils \
-    zlib1g-dev
+    zlib1g-dev && \
+    curl -sL https://deb.nodesource.com/setup_12.x | bash - \
+    && apt-get install -y \
+        ca-certificates \
+        nodejs \
+    && apt-get autoremove --purge -y \
+    && apt-get autoclean -y \
+    && rm -rf /var/cache/apt/* /tmp/* \
+    && npm i @sentry/node

 RUN mkdir -p /root
 COPY build /root/

Build and run docker:

docker build -t ce:v1 compiler-explorer-image/clang
docker run -it -p 10240:10240 -v ~/src/compiler-explorer-dev/infra:/infra -v ~/src/compiler-explorer-dev/built-compilers:/opt/compiler-explorer -v ~/src/compiler-explorer-dev/compiler-explorer:/compiler-explorer ce:v1

From within the docker instance, download some compilers:

./bin/ce_install list 'compilers/c++'
./bin/ce_install install 'compilers/c++/clang 11.0.0'

Still from within docker, build and run compiler-explorer itself:

cd /compiler-explorer
make
Clone this wiki locally