add autoselect ELF generation for MCJIT

This commit is contained in:
Siu Kwan Lam 2013-08-12 14:43:23 -05:00
commit b4d943a671

View file

@ -30,6 +30,7 @@
"Execution Engine and related classes."
import sys
from io import BytesIO
import contextlib
@ -150,6 +151,12 @@ class EngineBuilder(llvm.Wrapper):
'''
if tm is not None:
engine = self._ptr.create(tm._ptr)
elif (sys.prefix.startswith('win32') and
getattr(self, '_use_mcjit', False)):
# force ELF generation on MCJIT on win32
triple = get_default_triple()
tm = TargetMachine.new('%s-elf' % triple)
engine = self._ptr.create(tm)
else:
engine = self._ptr.create()
ee = ExecutionEngine(engine)
@ -173,6 +180,7 @@ class EngineBuilder(llvm.Wrapper):
'''Enable/disable MCJIT
'''
self._ptr.setUseMCJIT(enable)
self._use_mcjit = True
return self
#===----------------------------------------------------------------------===