Skip to content

Instantly share code, notes, and snippets.

@gofer
Created March 25, 2017 18:48
Show Gist options
  • Save gofer/f610cce2319fdd13f8571fd4cb82a5d2 to your computer and use it in GitHub Desktop.
Save gofer/f610cce2319fdd13f8571fd4cb82a5d2 to your computer and use it in GitHub Desktop.
LLVM+Clang 4.0.0
#!/bin/bash
VERSION='4.0.0'
DOWNLOAD='curl -O' # or 'wget'
EXTRACT='tar xf'
${DOWNLOAD} http://releases.llvm.org/${VERSION}/llvm-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/cfe-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/compiler-rt-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/libcxx-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/libcxxabi-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/libunwind-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/lld-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/lldb-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/openmp-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/polly-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/clang-tools-extra-${VERSION}.src.tar.xz
${DOWNLOAD} http://releases.llvm.org/${VERSION}/test-suite-${VERSION}.src.tar.xz
for archive in `ls *.tar.xz`; do
${EXTRACT} $archive
done
mkdir archive
mv *.tar.xz ./archive
mv llvm-${VERSION}.src llvm-${VERSION}
mv cfe-${VERSION}.src llvm-${VERSION}/tools/clang
mv clang-tools-extra-${VERSION}.src llvm-${VERSION}/tools/clang/tools/extra
mv lldb-${VERSION}.src llvm-${VERSION}/tools/lldb
mv lld-${VERSION}.src llvm-${VERSION}/tools/lld
mv polly-${VERSION}.src llvm-${VERSION}/tools/polly
mv libcxx-${VERSION}.src llvm-${VERSION}/projects/libcxx
mv libcxxabi-${VERSION}.src llvm-${VERSION}/projects/libcxxabi
mv compiler-rt-${VERSION}.src llvm-${VERSION}/projects/compiler-rt
mv libunwind-${VERSION}.src llvm-${VERSION}/projects/libunwind
mv openmp-${VERSION}.src llvm-${VERSION}/projects/openmp
mv test-suite-${VERSION}.src llvm-${VERSION}/projects/test-suite
mkdir build-llvm+clang-${VERSION}
cd build-llvm+clang-${VERSION}
cmake -G "Unix Makefiles" \
-DGCC_INSTALL_PREFIX=/usr/local/gcc/gcc-git \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/llvm+clang/llvm+clang-${VERSION} \
-DLLVM_LIBDIR_SUFFIX=64 \
-DLLVM_PARALLEL_COMPILE_JOBS=8 \
-DLLVM_PARALLEL_LINK_JOBS=8 \
-DLLDB_DISABLE_LIBEDIT=1 \
../llvm-${VERSION}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment