llvm_build.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. set -e
  3. if [ ! -d llvm-project_13_0_1 ]; then
  4. if [ -f llvm-13.0.1.src.tar.xz ]; then # if user downloaded llvm-13.0.1.src.tar.xz then use it instead
  5. tar -xf llvm-13.0.1.src.tar.xz
  6. mkdir llvm-project_13_0_1
  7. mv llvm-13.0.1.src llvm-project_13_0_1/llvm
  8. else # shallow git clone llvm repo if llvm-13.0.1.src.tar.xz does not exists
  9. git clone --depth 1 --branch llvmorg-13.0.1 https://github.com/llvm/llvm-project.git llvm-project_13_0_1
  10. fi
  11. fi #end if llvm-project_13_0_1 exists
  12. if [ ! -d llvm_linux_13_0_1 ]; then
  13. mkdir llvm_linux_13_0_1
  14. fi
  15. if [ ! -d llvm_linux_13_0_1/bin ]; then
  16. cd llvm_linux_13_0_1
  17. cmake ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Debug"
  18. cmake --build . -t $(cat ../llvm_targets.txt)
  19. cd ..
  20. fi
  21. if [ ! -d llvm_linux_rel_13_0_1 ]; then
  22. mkdir llvm_linux_rel_13_0_1
  23. fi
  24. if [ ! -d llvm_linux_rel_13_0_1/bin ]; then
  25. cd llvm_linux_rel_13_0_1
  26. cmake ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Release"
  27. cmake --build . -t $(cat ../llvm_targets.txt)
  28. cd ..
  29. fi
  30. if [ ! -d ../IDE/dist/llvm/bin ]; then
  31. mkdir ../IDE/dist/llvm
  32. mkdir ../IDE/dist/llvm/bin
  33. fi
  34. cp llvm_linux_rel_13_0_1/bin/llvm-ar ../IDE/dist/llvm/bin