@@ -99,7 +99,9 @@ apt-get install -y \
9999 libyaml-dev \
100100 libzip-dev \
101101 libzmq3-dev \
102− llvm \
102+ # The LLVM version should be kept in sync with what GHC requires for its
103+ # LLVM backend (see below for more information).
104+ llvm-3.7 \
103105 m4 \
104106 nettle-dev \
105107 nodejs \
@@ -122,3 +124,11 @@ mv /opt/ghc/$GHCVER/share/doc/ghc-$GHCVER/ /opt/ghc/$GHCVER/share/doc/ghc
122124# faster anyways and uses less RAM.
123125update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20
124126update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10
127+
128+# GHC requires a specific LLVM version on the system PATH for its LLVM backend.
129+# This version is tracked here:
130+# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing
131+#
132+# GHC 8.0 requires LLVM 3.7 tools (specifically, llc-3.7 and opt-3.7).
133+update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.7" 50
134+update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-3.7" 50