about summary refs log tree commit diff stats
path: root/miasm/jitter/jitcore_llvm.py
diff options
context:
space:
mode:
authorJean-Baptiste Galet <jbgalet@users.noreply.github.com>2020-04-28 07:49:38 +0200
committerJean-Baptiste Galet <oss@jbgalet.fr>2020-04-28 13:59:54 +0200
commit6ce751474346a21f87be3712b51180e6fc36dab6 (patch)
treea2252b7f1f3a377ae39c0c6852ad2cc43738e275 /miasm/jitter/jitcore_llvm.py
parente20709073eb6deb60d68596127c2f4b022a0e5a1 (diff)
downloadfocaccia-miasm-6ce751474346a21f87be3712b51180e6fc36dab6.tar.gz
focaccia-miasm-6ce751474346a21f87be3712b51180e6fc36dab6.zip
Add Appveyor for Python3.8
* Appveyor
* Fix typo, update jitcore_llvm.py, update llvmlite to 0.32.0 to have python3.8 wheels
* Add all platforms in AppVeyor. Use -m to avoid WinError 32
* Use llvmlite 0.31.0, latest version to provide Python2.7 support AND Python3.8
* Remove -m
Diffstat (limited to 'miasm/jitter/jitcore_llvm.py')
-rw-r--r--miasm/jitter/jitcore_llvm.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/miasm/jitter/jitcore_llvm.py b/miasm/jitter/jitcore_llvm.py
index 46e93282..28fdec89 100644
--- a/miasm/jitter/jitcore_llvm.py
+++ b/miasm/jitter/jitcore_llvm.py
@@ -1,5 +1,6 @@
 from __future__ import print_function
 import os
+import glob
 import importlib
 import tempfile
 import sysconfig
@@ -56,10 +57,16 @@ class JitCore_LLVM(jitcore.JitCore):
 
         # Get architecture dependent Jitcore library (if any)
         lib_dir = os.path.dirname(os.path.realpath(__file__))
-        lib_dir = os.path.join(lib_dir, 'arch')
         ext = sysconfig.get_config_var('EXT_SUFFIX')
         if ext is None:
             ext = ".so" if not is_win else ".pyd"
+        if is_win:
+            # sysconfig.get_config_var('EXT_SUFFIX') is .pyd on Windows and need to be forced to .lib
+            # Additionally windows built libraries may have a name like VmMngr.cp38-win_amd64.lib
+            ext_files = glob.glob(os.path.join(lib_dir, "VmMngr.*pyd"))
+            if len(ext_files) == 1:
+                ext = os.path.basename(ext_files[0]).replace("VmMngr", "")
+        lib_dir = os.path.join(lib_dir, 'arch')
         try:
             jit_lib = os.path.join(
                 lib_dir, self.arch_dependent_libs[self.ir_arch.arch.name] + ext