Created
March 10, 2014 22:51
-
-
Save briangreenery/9476106 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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