diff options
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 12 |
1 files 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 } |