X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=scons%2Fllvm.py;h=dac3555995bc52f26a8c93226bb42ca65b1f6583;hb=aeb95fda541719d5fe9b8fdb531f3370228228d7;hp=fc128ab1e680fa39566f69f7aad417bb567c7533;hpb=ffb0d3a25c60dd7fc5cb1f2c33c2977b245b5fee;p=mesa.git diff --git a/scons/llvm.py b/scons/llvm.py index fc128ab1e68..dac3555995b 100644 --- a/scons/llvm.py +++ b/scons/llvm.py @@ -108,9 +108,10 @@ def generate(env): env.AppendUnique(CXXFLAGS = ['-posix']) # LIBS should match the output of `llvm-config --libs engine mcjit bitwriter x86asmprinter irreader` for LLVM<=7.0 - # and `llvm-config --libs engine irreader` for LLVM>=8.0 - # LLVMAggressiveInstCombine library part of engine component can be safely omitted as it's not used. - if llvm_version >= distutils.version.LooseVersion('9.0'): + # and `llvm-config --libs engine coroutines` for LLVM>=8.0 + # LLVMAggressiveInstCombine library part of engine component since LLVM 6 is only needed by Mesa3D for LLVM>=8. + # While not directly needed by Mesa3D, this library is needed by LLVMipo which is part of coroutines component. + if llvm_version >= distutils.version.LooseVersion('10.0'): env.Prepend(LIBS = [ 'LLVMX86Disassembler', 'LLVMX86AsmParser', 'LLVMX86CodeGen', 'LLVMSelectionDAG', 'LLVMAsmPrinter', @@ -129,6 +130,54 @@ def generate(env): 'LLVMDemangle', 'LLVMGlobalISel', 'LLVMDebugInfoMSF', 'LLVMBinaryFormat', 'LLVMRemarks', 'LLVMBitstreamReader', 'LLVMDebugInfoDWARF', + 'LLVMAggressiveInstCombine','LLVMLinker', 'LLVMVectorize', + 'LLVMInstrumentation', 'LLVMipo', 'LLVMCoroutines', + 'LLVMCFGuard', 'LLVMTextAPI', + ]) + elif llvm_version >= distutils.version.LooseVersion('9.0'): + env.Prepend(LIBS = [ + 'LLVMX86Disassembler', 'LLVMX86AsmParser', + 'LLVMX86CodeGen', 'LLVMSelectionDAG', 'LLVMAsmPrinter', + 'LLVMDebugInfoCodeView', 'LLVMCodeGen', + 'LLVMScalarOpts', 'LLVMInstCombine', + 'LLVMTransformUtils', + 'LLVMBitWriter', 'LLVMX86Desc', + 'LLVMMCDisassembler', 'LLVMX86Info', + 'LLVMX86Utils', + 'LLVMMCJIT', 'LLVMExecutionEngine', 'LLVMTarget', + 'LLVMAnalysis', 'LLVMProfileData', + 'LLVMRuntimeDyld', 'LLVMObject', 'LLVMMCParser', + 'LLVMBitReader', 'LLVMMC', 'LLVMCore', + 'LLVMSupport', + 'LLVMIRReader', 'LLVMAsmParser', + 'LLVMDemangle', 'LLVMGlobalISel', 'LLVMDebugInfoMSF', + 'LLVMBinaryFormat', + 'LLVMRemarks', 'LLVMBitstreamReader', 'LLVMDebugInfoDWARF', + # Add these libraries to enable ompute shaders support. + 'LLVMAggressiveInstCombine','LLVMLinker', 'LLVMVectorize', + 'LLVMInstrumentation', 'LLVMipo', 'LLVMCoroutines', + ]) + elif llvm_version >= distutils.version.LooseVersion('8.0'): + env.Prepend(LIBS = [ + 'LLVMX86Disassembler', 'LLVMX86AsmParser', + 'LLVMX86CodeGen', 'LLVMSelectionDAG', 'LLVMAsmPrinter', + 'LLVMDebugInfoCodeView', 'LLVMCodeGen', + 'LLVMScalarOpts', 'LLVMInstCombine', + 'LLVMTransformUtils', + 'LLVMBitWriter', 'LLVMX86Desc', + 'LLVMMCDisassembler', 'LLVMX86Info', + 'LLVMX86AsmPrinter', 'LLVMX86Utils', + 'LLVMMCJIT', 'LLVMExecutionEngine', 'LLVMTarget', + 'LLVMAnalysis', 'LLVMProfileData', + 'LLVMRuntimeDyld', 'LLVMObject', 'LLVMMCParser', + 'LLVMBitReader', 'LLVMMC', 'LLVMCore', + 'LLVMSupport', + 'LLVMIRReader', 'LLVMAsmParser', + 'LLVMDemangle', 'LLVMGlobalISel', 'LLVMDebugInfoMSF', + 'LLVMBinaryFormat', + # Add these libraries to enable ompute shaders support. + 'LLVMAggressiveInstCombine', 'LLVMLinker', 'LLVMVectorize', + 'LLVMInstrumentation', 'LLVMipo', 'LLVMCoroutines', ]) elif llvm_version >= distutils.version.LooseVersion('5.0'): env.Prepend(LIBS = [