Advertisement
Guest User

Clang 3.6 Recipe (Final)

a guest
Apr 1st, 2015
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.26 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # Clang 3.6 recipe. Written and placed in public domain by Jeffrey
  4. #     Walton (noloader, gmail) and Mobile Mouse (mouse008, gmail).
  5. # The script fetches and builds LLVM, Compiler FE (Clang, front end),
  6. #     Compiler RT (Runtime), and Extra Tools.
  7. # The script should be run from a scratch directory.
  8.  
  9. # Fetch
  10.  
  11. if [ ! -e llvm-3.6.0.src.tar.xz ]; then
  12.   wget http://llvm.org/releases/3.6.0/llvm-3.6.0.src.tar.xz
  13. fi
  14.  
  15. if [ ! -e cfe-3.6.0.src.tar.xz ]; then
  16.   wget http://llvm.org/releases/3.6.0/cfe-3.6.0.src.tar.xz
  17. fi
  18.  
  19. if [ ! -e compiler-rt-3.6.0.src.tar.xz ]; then
  20.   wget http://llvm.org/releases/3.6.0/compiler-rt-3.6.0.src.tar.xz
  21. fi
  22.  
  23. if [ ! -e clang-tools-extra-3.6.0.src.tar.xz ]; then
  24.   wget http://llvm.org/releases/3.6.0/clang-tools-extra-3.6.0.src.tar.xz
  25. fi
  26.  
  27. # Cleanup
  28.  
  29. rm -rf llvm build llvm-3.6.0.src
  30.  
  31. # LLVM
  32. tar xvf llvm-3.6.0.src.tar.xz
  33. mv llvm-3.6.0.src/ llvm
  34.  
  35. # Clang Front End
  36. cd llvm/tools
  37. tar xvf ../../cfe-3.6.0.src.tar.xz
  38. mv cfe-3.6.0.src clang
  39. cd ../../
  40.  
  41. # Extra Tools
  42. cd llvm/tools/clang/tools/
  43. tar xvf ../../../../clang-tools-extra-3.6.0.src.tar.xz
  44. mv clang-tools-extra-3.6.0.src extra
  45. cd ../../../../
  46.  
  47. # Compiler RT
  48. cd llvm/projects
  49. tar xvf ../../compiler-rt-3.6.0.src.tar.xz
  50. mv compiler-rt-3.6.0.src/ compiler-rt
  51. cd ../../
  52.  
  53. # Determine if Apple
  54. IS_DARWIN=`uname -s | egrep -i -c "Darwin"`
  55. if [ $IS_DARWIN -ne 0 ]; then
  56.   OTHER_OPTIONS=" --enable-libcpp"
  57. fi
  58.  
  59. # Build
  60. mkdir -p build
  61. cd build
  62. ../llvm/configure --enable-optimized --enable-cxx11 $OTHER_OPTIONS --prefix=/usr/local
  63. make -j2
  64.  
  65. RET=$?
  66. if [ $RET -eq 0 ];then
  67.     echo "****************************************"
  68.     read -p "Press [ENTER] to install, or [CTRL]+C to quit"
  69.     sudo make install
  70. fi
  71.  
  72. # ****************************************
  73. # ****************************************
  74.  
  75. # Install does not install scan-build and scan-view
  76. # Perform the copy, and/or put them on-path
  77.  
  78. # 2to3 -w llvm/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py
  79. #sudo cp llvm/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py /usr/local/bin
  80.  
  81. #sudo mkdir /usr/local/bin/scan-build
  82. #sudo cp -r llvm/tools/clang/tools/scan-build /usr/local/bin
  83.  
  84. #sudo mkdir /usr/local/bin/scan-view
  85. #sudo cp -r llvm/tools/clang/tools/scan-view /usr/local/bin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement