<div dir="ltr"><div><div><div>LLVM 64-bit:<br></div><div><br>mkdir -p build<br>cd build<br>cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/llvm/x86_64-linux-gnu -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" -DLLVM_ENABLE_ASSERTIONS=O<br>                  -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON \<br>                  -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG -fno-omit-frame-pointer" \<br>                  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG -fno-omit-frame-pointer".<br>ninja<br></div>sudo ninja install<br><br></div><div><br>LLVM 32-bit:<br><br>mkdir -p build32<br>cd build32<br>cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/llvm/i386-linux-gnu -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" -DLLVM_ENABLE_ASSERTIONS=ON<br>                  -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON \<br>                  -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG -fno-omit-frame-pointer" \<br>                  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g -DNDEBUG -fno-omit-frame-pointer" \<br>                  -DLLVM_BUILD_32_BITS=ON<br>ninja<br>sudo ninja install<br></div><div># then add /usr/llvm/x86_64-linux-gnu and /usr/llvm/i386-linux-gnu to ld.conf<br></div><div><br><br></div><div>Mesa configure helper script, it will overwrite the /usr/lib/ files on Ubuntu (run as-is for 64-bit, or use "-32" for 32-bit):<br><br>if test x$1 = x-32; then<br>    dir=i386-linux-gnu<br>    build=i686-linux-gnu<br>    export CFLAGS="-m32 -O2 -g"<br>    export CXXFLAGS="$CFLAGS"<br>    export LDFLAGS="-L/usr/lib/$dir"<br>    export PKG_CONFIG_PATH="/usr/lib/$dir/pkgconfig"<br>else<br>    dir=x86_64-linux-gnu<br>    build=$dir<br>fi<br><br>./autogen.sh \<br> --build=$build --prefix=/usr --libdir=/usr/lib/$dir --with-llvm-prefix=/usr/llvm/$dir \<br> --enable-glx-tls --enable-texture-float --enable-debug --enable-vdpau \<br> --disable-xvmc --disable-va --enable-nine --with-sha1=libnettle \<br> --with-gallium-drivers=radeonsi,r600,swrast --with-dri-drivers= \<br> --with-egl-platforms=x11,drm --enable-gles1 --enable-gles2<br></div><div><br>make -j4<br></div><div>sudo make install<br></div><div><br></div>You'll probably want to delete /usr/lib/$dir/*mesa*/*. That's Ubuntu's invention that will prevent you from using installed libGL and libEGL.<br><br></div><div>It's all kind of a mess, but I don't know of a better way.<br></div><div><br></div>Marek<br><div><div><br><div><div><div><br>On Tue, Sep 13, 2016 at 7:33 PM, Romain Failliot <<a href="mailto:romain.failliot@foolstep.com">romain.failliot@foolstep.com</a>> wrote:<br>> 2016-09-13 12:41 GMT-04:00 Marek Olšák <<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>>:<br>>><br>>> BTW, If you update LLVM to a newer version, you also have to re-build<br>>> Mesa, because the LLVM version used by Mesa is determined while Mesa<br>>> is being built.<br>>><br>>> Also, the chance to rage-quit while building LLVM+Mesa is pretty high<br>>> if you've never done it before.<br>><br>> I see, is there a tutorial somewhere maybe on how to do that?<br>> I know how to compile projects, that's not a problem. It's more about the<br>> little details to make everything work once it's compiled.<br><br></div></div></div></div></div></div>