about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml11
-rw-r--r--miasm/jitter/jitcore_cc_base.py2
-rw-r--r--miasm/jitter/jitcore_llvm.py9
-rw-r--r--optional_requirements.txt2
4 files changed, 21 insertions, 3 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index 3023dc8f..a518626f 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -19,6 +19,17 @@ environment:
       PYTHON: c:\Python27-x64
       PYTHON_VERSION: "2.7.x"
 
+    - platform: Win32
+      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+      PLATFORM_TOOLSET: v141
+      PYTHON: c:\Python38
+      PYTHON_VERSION: "3.8.x"
+
+    - platform: x64
+      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+      PLATFORM_TOOLSET: v141
+      PYTHON: c:\Python38-x64
+      PYTHON_VERSION: "3.8.x"
       # on_finish:
       #  - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
 
diff --git a/miasm/jitter/jitcore_cc_base.py b/miasm/jitter/jitcore_cc_base.py
index 5c9f1cdb..afb2876c 100644
--- a/miasm/jitter/jitcore_cc_base.py
+++ b/miasm/jitter/jitcore_cc_base.py
@@ -79,7 +79,7 @@ class JitCore_Cc_Base(JitCore):
             ext = ".so" if not is_win else ".lib"
         if is_win:
             # sysconfig.get_config_var('EXT_SUFFIX') is .pyd on Windows and need to be forced to .lib
-            # Additionaly windows built libraries may have a name like VmMngr.cp38-win_amd64.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.*lib"))
             if len(ext_files) == 1:
                 ext = os.path.basename(ext_files[0]).replace("VmMngr", "")
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
diff --git a/optional_requirements.txt b/optional_requirements.txt
index 71ebdbe8..39d92a93 100644
--- a/optional_requirements.txt
+++ b/optional_requirements.txt
@@ -1,3 +1,3 @@
 pycparser
 z3-solver==4.8.7.0
-llvmlite==0.26.0
+llvmlite==0.31.0