1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00
Beef/extern/llvm_build.sh
apg360 0d0c0ee4a8
use llvm-11.0.0.src.tar.xz if it exists
User can downloaded llvm-11.0.0.src.tar.xz into extern directory so build will not git clone LLVM repo.
2020-11-26 10:58:55 +02:00

46 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
set -e
if [ ! -d llvm-project_11_0_0 ]; then
if [ -f llvm-11.0.0.src.tar.xz ]; then # if user downloaded llvm-11.0.0.src.tar.xz then use it instead
tar -xf llvm-11.0.0.src.tar.xz
mkdir llvm-project_11_0_0
mv llvm-11.0.0.src llvm-project_11_0_0/llvm
else # git clone llvm repo if llvm-11.0.0.src.tar.xz does not exists
git clone https://github.com/llvm/llvm-project.git llvm-project_11_0_0
if [ -d llvm-project_11_0_0 ]; then
cd llvm-project_11_0_0
git checkout llvmorg-11.0.0
cd ..
fi
fi
fi #end if llvm-project_11_0_0 exists
if [ ! -d llvm_linux_11_0_0 ]; then
mkdir llvm_linux_11_0_0
fi
if [ ! -d llvm_linux_11_0_0/bin ]; then
cd llvm_linux_11_0_0
cmake ../llvm-project_11_0_0/llvm
cmake --build .
cd ..
fi
if [ ! -d llvm_linux_rel_11_0_0 ]; then
mkdir llvm_linux_rel_11_0_0
fi
if [ ! -d llvm_linux_rel_11_0_0/bin ]; then
cd llvm_linux_rel_11_0_0
cmake ../llvm-project_11_0_0/llvm -DCMAKE_BUILD_TYPE:String=Release
cmake --build .
cd ..
fi
if [ ! -d ../IDE/dist/llvm/bin ]; then
mkdir ../IDE/dist/llvm
mkdir ../IDE/dist/llvm/bin
fi
cp llvm_linux_rel_11_0_0/bin/llvm-ar ../IDE/dist/llvm/bin