diff options
| -rw-r--r-- | .appveyor.yml | 11 | ||||
| -rw-r--r-- | miasm/jitter/jitcore_cc_base.py | 2 | ||||
| -rw-r--r-- | miasm/jitter/jitcore_llvm.py | 9 | ||||
| -rw-r--r-- | optional_requirements.txt | 2 |
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 |