Sfoglia il codice sorgente

Merge pull request #688 from Green-Sky/only_build_needed_llvm_parts

[Enhancement] llvm: only build "needed" parts
Brian Fiete 4 anni fa
parent
commit
9f0295013b
2 ha cambiato i file con 16 aggiunte e 14 eliminazioni
  1. 15 14
      extern/llvm_build.sh
  2. 1 0
      extern/llvm_targets.txt

+ 15 - 14
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
+

+ 1 - 0
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