1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

llvm: only build "needed" parts, extracted currently needed parts to llvm_targets.txt

This commit is contained in:
Green Sky 2020-11-28 23:23:27 +01:00
parent 7d33ef3d5d
commit 71a0f70d86
2 changed files with 16 additions and 14 deletions

29
extern/llvm_build.sh vendored
View file

@ -2,39 +2,40 @@
set -e set -e
if [ ! -d llvm-project_11_0_0 ]; then 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 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 tar -xf llvm-11.0.0.src.tar.xz
mkdir llvm-project_11_0_0 mkdir llvm-project_11_0_0
mv llvm-11.0.0.src llvm-project_11_0_0/llvm mv llvm-11.0.0.src llvm-project_11_0_0/llvm
else # shallow git clone llvm repo if llvm-11.0.0.src.tar.xz does not exists else # shallow git clone llvm repo if llvm-11.0.0.src.tar.xz does not exists
git clone --depth 1 --branch llvmorg-11.0.0 https://github.com/llvm/llvm-project.git llvm-project_11_0_0 git clone --depth 1 --branch llvmorg-11.0.0 https://github.com/llvm/llvm-project.git llvm-project_11_0_0
fi fi
fi #end if llvm-project_11_0_0 exists fi #end if llvm-project_11_0_0 exists
if [ ! -d llvm_linux_11_0_0 ]; then if [ ! -d llvm_linux_11_0_0 ]; then
mkdir llvm_linux_11_0_0 mkdir llvm_linux_11_0_0
fi fi
if [ ! -d llvm_linux_11_0_0/bin ]; then if [ ! -d llvm_linux_11_0_0/bin ]; then
cd llvm_linux_11_0_0 cd llvm_linux_11_0_0
cmake ../llvm-project_11_0_0/llvm cmake ../llvm-project_11_0_0/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Debug"
cmake --build . cmake --build . -t $(cat ../llvm_targets.txt)
cd .. cd ..
fi fi
if [ ! -d llvm_linux_rel_11_0_0 ]; then if [ ! -d llvm_linux_rel_11_0_0 ]; then
mkdir llvm_linux_rel_11_0_0 mkdir llvm_linux_rel_11_0_0
fi fi
if [ ! -d llvm_linux_rel_11_0_0/bin ]; then if [ ! -d llvm_linux_rel_11_0_0/bin ]; then
cd llvm_linux_rel_11_0_0 cd llvm_linux_rel_11_0_0
cmake ../llvm-project_11_0_0/llvm -DCMAKE_BUILD_TYPE:String=Release cmake ../llvm-project_11_0_0/llvm -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86;WebAssembly" -DCMAKE_BUILD_TYPE:String="Release"
cmake --build . cmake --build . -t $(cat ../llvm_targets.txt)
cd .. cd ..
fi fi
if [ ! -d ../IDE/dist/llvm/bin ]; then if [ ! -d ../IDE/dist/llvm/bin ]; then
mkdir ../IDE/dist/llvm mkdir ../IDE/dist/llvm
mkdir ../IDE/dist/llvm/bin mkdir ../IDE/dist/llvm/bin
fi fi
cp llvm_linux_rel_11_0_0/bin/llvm-ar ../IDE/dist/llvm/bin cp llvm_linux_rel_11_0_0/bin/llvm-ar ../IDE/dist/llvm/bin

1
extern/llvm_targets.txt vendored Normal file
View file

@ -0,0 +1 @@
llvm-ar llvm-config gtest_main LLVMX86Disassembler LLVMMCDisassembler LLVMSupport LLVMX86Info LLVMX86Desc LLVMMC LLVMObject LLVMCore LLVMBitReader LLVMAsmParser LLVMMCParser LLVMCodeGen LLVMTarget LLVMX86CodeGen LLVMScalarOpts LLVMInstCombine LLVMSelectionDAG LLVMProfileData LLVMTransformUtils LLVMAnalysis LLVMX86AsmParser LLVMAsmPrinter LLVMBitWriter LLVMVectorize LLVMipo LLVMInstrumentation LLVMDebugInfoDWARF LLVMDebugInfoPDB LLVMDebugInfoCodeView LLVMGlobalISel LLVMBinaryFormat LLVMCoverage LLVMDebugInfoGSYM LLVMDWARFLinker LLVMRuntimeDyld LLVMExecutionEngine LLVMMCJIT LLVMFuzzMutate LLVMInterpreter LLVMLineEditor LLVMExtensions LLVMObjCARCOpts LLVMCoroutines LLVMPasses LLVMLTO LLVMMCA LLVMMIRParser LLVMObjectYAML LLVMJITLink LLVMOrcError LLVMOrcJIT LLVMSymbolize LLVMTestingSupport LLVMWindowsManifest LLVMXRay LLVMARMCodeGen LLVMARMDisassembler LLVMAArch64CodeGen LLVMAArch64Disassembler LLVMWebAssemblyCodeGen LLVMWebAssemblyDisassembler