diff --git a/extern/llvm_build.sh b/extern/llvm_build.sh index 72b340e9..0f0876df 100755 --- a/extern/llvm_build.sh +++ b/extern/llvm_build.sh @@ -2,39 +2,40 @@ 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 # 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 - fi + 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 # 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 + fi fi #end if llvm-project_11_0_0 exists if [ ! -d llvm_linux_11_0_0 ]; then - mkdir llvm_linux_11_0_0 + 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 . + cmake ../llvm-project_11_0_0/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_11_0_0 ]; then - mkdir llvm_linux_rel_11_0_0 + 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 . + cmake ../llvm-project_11_0_0/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_11_0_0/bin/llvm-ar ../IDE/dist/llvm/bin + diff --git a/extern/llvm_targets.txt b/extern/llvm_targets.txt new file mode 100644 index 00000000..73b650c2 --- /dev/null +++ b/extern/llvm_targets.txt @@ -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