X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=scons%2Fllvm.py;h=c6d16a2bbf0b0d61e0c6b29dd333a5d3b4fc5c48;hb=c00ee00031dd38a3c12d6661eba5f43d8a422e02;hp=79118be371d113c81e048ef0ae10d65f03022fa7;hpb=bb66af95a7e13f433466f612eded97b01e48b6fc;p=mesa.git diff --git a/scons/llvm.py b/scons/llvm.py index 79118be371d..c6d16a2bbf0 100644 --- a/scons/llvm.py +++ b/scons/llvm.py @@ -99,9 +99,6 @@ def generate(env): return env.Prepend(CPPPATH = [os.path.join(llvm_dir, 'include')]) - env.AppendUnique(CPPDEFINES = [ - 'HAVE_STDINT_H', - ]) env.Prepend(LIBPATH = [os.path.join(llvm_dir, 'lib')]) # LIBS should match the output of `llvm-config --libs engine mcjit bitwriter x86asmprinter irreader` if llvm_version >= distutils.version.LooseVersion('5.0'): @@ -123,6 +120,10 @@ def generate(env): 'LLVMDemangle', 'LLVMGlobalISel', 'LLVMDebugInfoMSF', 'LLVMBinaryFormat', ]) + if env['platform'] == 'windows' and env['crosscompile']: + # LLVM 5.0 requires MinGW w/ pthreads due to use of std::thread and friends. + assert env['gcc'] + env.AppendUnique(CXXFLAGS = ['-posix']) elif llvm_version >= distutils.version.LooseVersion('4.0'): env.Prepend(LIBS = [ 'LLVMX86Disassembler', 'LLVMX86AsmParser', @@ -211,8 +212,11 @@ def generate(env): 'imagehlp', 'psapi', 'shell32', - 'advapi32' + 'advapi32', + 'ole32', + 'uuid', ]) + if env['msvc']: # Some of the LLVM C headers use the inline keyword without # defining it. @@ -256,7 +260,10 @@ def generate(env): if '-fno-rtti' in cxxflags: env.Append(CXXFLAGS = ['-fno-rtti']) - components = ['engine', 'mcjit', 'bitwriter', 'x86asmprinter', 'mcdisassembler', 'irreader'] + if llvm_version < distutils.version.LooseVersion('9.0'): + components = ['engine', 'mcjit', 'bitwriter', 'x86asmprinter', 'mcdisassembler', 'irreader'] + else: + components = ['engine', 'mcjit', 'bitwriter', 'mcdisassembler', 'irreader'] env.ParseConfig('%s --libs ' % llvm_config + ' '.join(components)) env.ParseConfig('%s --ldflags' % llvm_config)