Skip to content

Instantly share code, notes, and snippets.

@briangreenery
Created March 10, 2014 22:51
Show Gist options
  • Save briangreenery/9476106 to your computer and use it in GitHub Desktop.
Save briangreenery/9476106 to your computer and use it in GitHub Desktop.
#!/bin/bash
# This script builds and installs clang on the Red Hat 6.0 build machine.
GCC=$HOME/gcc
CLANG=$HOME/clang
# Install prereqs
sudo yum install -y svn glibc-devel.i686
# Fetch and build gcc-4.8.2. The llvm+clang build requires at least gcc 4.7.
cd ~
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
tar -xjf gcc-4.8.2.tar.bz2
cd gcc-4.8.2
./contrib/download_prerequisites
cd ~
mkdir gcc-4.8.2-build
cd gcc-4.8.2-build
~/gcc-4.8.2/configure --prefix=$GCC --enable-languages=c,c++
make -j$(nproc)
make install
# Fetch and build llvm+clang trunk
cd ~
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ~
mkdir llvm-build
cd llvm-build
export CXX=$GCC/bin/g++
~/llvm/configure --enable-optimized --with-gcc-toolchain=$GCC --prefix=$CLANG
make -j$(nproc)
make install
# Install gcc/lib64 as a system library folder for clang to use
echo $GCC/lib64 | sudo tee /etc/ld.so.conf.d/gcc-4.8.2.conf
sudo ldconfig
# Clean up build and source files
cd ~
rm -rf gcc-4.8.2*
rm -rf llvm*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment