From 2211f8d5595becd1fb58e3018e365fc103fdac88 Mon Sep 17 00:00:00 2001 From: Jose Fonseca Date: Thu, 14 Apr 2016 12:32:32 +0100 Subject: [PATCH] gallivm: Use LLVMSetTarget. Instead of LLVM C++ interfaces. Reviewed-by: Roland Scheidegger --- src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp index c1e262bc1ed..77069efda38 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp @@ -518,10 +518,16 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT, #ifdef _WIN32 /* * MCJIT works on Windows, but currently only through ELF object format. + * + * XXX: We could use `LLVM_HOST_TRIPLE "-elf"` but LLVM_HOST_TRIPLE has + * different strings for MinGW/MSVC, so better play it safe and be + * explicit. */ - std::string targetTriple = llvm::sys::getProcessTriple(); - targetTriple.append("-elf"); - unwrap(M)->setTargetTriple(targetTriple); +# ifdef _WIN64 + LLVMSetTarget(M, "x86_64-pc-win32-elf"); +# else + LLVMSetTarget(M, "i686-pc-win32-elf"); +# endif #endif } -- 2.30.2