mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 03:28:20 +02:00
55 lines
No EOL
1.5 KiB
Bash
Executable file
55 lines
No EOL
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
USE_NINJA=""
|
|
if command -v ninja >/dev/null 2>&1 ; then
|
|
USE_NINJA="-GNinja"
|
|
fi
|
|
|
|
FORCE_BUILD=0
|
|
for i in "$@"
|
|
do
|
|
if [[ $i == "force" ]]; then
|
|
FORCE_BUILD=1
|
|
fi
|
|
done
|
|
|
|
if [ ! -d llvm-project_13_0_1 ]; then
|
|
if [ -f llvm-13.0.1.src.tar.xz ]; then # if user downloaded llvm-13.0.1.src.tar.xz then use it instead
|
|
tar -xf llvm-13.0.1.src.tar.xz
|
|
mkdir llvm-project_13_0_1
|
|
mv llvm-13.0.1.src llvm-project_13_0_1/llvm
|
|
else # shallow git clone llvm repo if llvm-13.0.1.src.tar.xz does not exists
|
|
git clone --depth 1 --branch llvmorg-13.0.1 https://github.com/llvm/llvm-project.git llvm-project_13_0_1
|
|
fi
|
|
fi #end if llvm-project_13_0_1 exists
|
|
|
|
if [ ! -d llvm_linux_13_0_1 ]; then
|
|
mkdir llvm_linux_13_0_1
|
|
fi
|
|
|
|
if [ ! -d llvm_linux_13_0_1/bin ] || [ $FORCE_BUILD == 1 ]; then
|
|
cd llvm_linux_13_0_1
|
|
cmake $USE_NINJA ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Debug"
|
|
cmake --build . -t $(cat ../llvm_targets.txt)
|
|
cd ..
|
|
fi
|
|
|
|
if [ ! -d llvm_linux_rel_13_0_1 ]; then
|
|
mkdir llvm_linux_rel_13_0_1
|
|
fi
|
|
|
|
if [ ! -d llvm_linux_rel_13_0_1/bin ] || [ $FORCE_BUILD == 1 ]; then
|
|
cd llvm_linux_rel_13_0_1
|
|
cmake $USE_NINJA ../llvm-project_13_0_1/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Release"
|
|
cmake --build . -t $(cat ../llvm_targets.txt)
|
|
cd ..
|
|
fi
|
|
|
|
if [ ! -d ../IDE/dist/llvm/bin ]; then
|
|
mkdir ../IDE/dist/llvm
|
|
mkdir ../IDE/dist/llvm/bin
|
|
fi
|
|
cp llvm_linux_rel_13_0_1/bin/llvm-ar ../IDE/dist/llvm/bin
|
|
|
|
echo done > llvm_linux_13_0_1/_Done.txt |