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

55 lines
1.5 KiB
Bash
Raw Normal View History

2019-08-23 11:56:54 -07:00
#!/bin/bash
set -e
USE_NINJA=""
if command -v ninja >/dev/null 2>&1 ; then
USE_NINJA="-GNinja"
fi
2024-02-16 18:40:58 -03:00
FORCE_BUILD=0
for i in "$@"
do
if [[ $i == "force" ]]; then
FORCE_BUILD=1
fi
done
2024-05-06 12:43:52 -04:00
if [ ! -d llvm-project_18_1_4 ]; then
if [ -f llvm-18.1.4.src.tar.xz ]; then # if user downloaded llvm-18.1.4.src.tar.xz then use it instead
tar -xf llvm-18.1.4.src.tar.xz
mkdir llvm-project_18_1_4
mv llvm-18.1.4.src llvm-project_18_1_4/llvm
else # shallow git clone llvm repo if llvm-18.1.4.src.tar.xz does not exists
git clone --depth 1 --branch llvmorg-18.1.4 https://github.com/llvm/llvm-project.git llvm-project_18_1_4
fi
2024-05-06 12:43:52 -04:00
fi #end if llvm-project_18_1_4 exists
2019-08-23 11:56:54 -07:00
2024-05-06 12:43:52 -04:00
if [ ! -d llvm_linux_18_1_4 ]; then
mkdir llvm_linux_18_1_4
2020-05-21 09:20:58 -07:00
fi
2024-05-06 12:43:52 -04:00
if [ ! -d llvm_linux_18_1_4/bin ] || [ $FORCE_BUILD == 1 ]; then
cd llvm_linux_18_1_4
cmake $USE_NINJA ../llvm-project_18_1_4/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Debug"
cmake --build . -t $(cat ../llvm_targets.txt)
2019-08-23 11:56:54 -07:00
cd ..
fi
2024-05-06 12:43:52 -04:00
if [ ! -d llvm_linux_rel_18_1_4 ]; then
mkdir llvm_linux_rel_18_1_4
2020-05-21 09:20:58 -07:00
fi
2024-05-06 12:43:52 -04:00
if [ ! -d llvm_linux_rel_18_1_4/bin ] || [ $FORCE_BUILD == 1 ]; then
cd llvm_linux_rel_18_1_4
cmake $USE_NINJA ../llvm-project_18_1_4/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Release"
cmake --build . -t $(cat ../llvm_targets.txt)
2019-08-23 11:56:54 -07:00
cd ..
fi
2019-10-29 05:01:04 -07:00
if [ ! -d ../IDE/dist/llvm/bin ]; then
mkdir ../IDE/dist/llvm
mkdir ../IDE/dist/llvm/bin
fi
2024-05-06 12:43:52 -04:00
cp llvm_linux_rel_18_1_4/bin/llvm-ar ../IDE/dist/llvm/bin
2024-05-06 12:43:52 -04:00
echo done > llvm_linux_18_1_4/_Done.txt