diff --git a/LXST/Filters.py b/LXST/Filters.py index 4414093..6f5e568 100644 --- a/LXST/Filters.py +++ b/LXST/Filters.py @@ -16,11 +16,16 @@ else: ffi = FFI() try: - filterlib_spec = find_spec("LXST.filterlib") - if not filterlib_spec or filterlib_spec.origin == None: raise ImportError("Could not locate pre-compiled LXST.filterlib module") - with open(os.path.join(c_src_path, "Filters.h"), "r") as f: ffi.cdef(f.read()) - native_functions = ffi.dlopen(filterlib_spec.origin) - USE_NATIVE_FILTERS = True + # Disable native filterlib loading on Windows + # for now due to strange linking behaviour, + # but allow local compilation if the user has + # a C compiler installed. + if not RNS.vendor.platformutils.is_windows(): + filterlib_spec = find_spec("LXST.filterlib") + if not filterlib_spec or filterlib_spec.origin == None: raise ImportError("Could not locate pre-compiled LXST.filterlib module") + with open(os.path.join(c_src_path, "Filters.h"), "r") as f: ffi.cdef(f.read()) + native_functions = ffi.dlopen(filterlib_spec.origin) + USE_NATIVE_FILTERS = True except Exception as e: RNS.log(f"Could not load pre-compiled LXST filters library. The contained exception was: {e}", RNS.LOG_WARNING) diff --git a/Makefile b/Makefile index 27f96ae..39f74ad 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ build_wheel: python3 setup.py sdist bdist_wheel rm ./skip_extensions -@(rm ./LXST/*.so) - -@(rm ./LXST/*.dll) + -@(rm ./LXST/*.pyd) native_libs: ./march_build.sh diff --git a/lib/static/filterlib.cp311-win_amd64.pyd b/lib/static/filterlib.cp311-win_amd64.pyd new file mode 100644 index 0000000..e5e6369 Binary files /dev/null and b/lib/static/filterlib.cp311-win_amd64.pyd differ diff --git a/lib/static/filterlib.cp312-win_amd64.pyd b/lib/static/filterlib.cp312-win_amd64.pyd new file mode 100644 index 0000000..38cbb27 Binary files /dev/null and b/lib/static/filterlib.cp312-win_amd64.pyd differ diff --git a/lib/static/filterlib.cp313-win_amd64.pyd b/lib/static/filterlib.cp313-win_amd64.pyd new file mode 100644 index 0000000..188b74b Binary files /dev/null and b/lib/static/filterlib.cp313-win_amd64.pyd differ diff --git a/lib/static/filterlib.cp314-win_amd64.pyd b/lib/static/filterlib.cp314-win_amd64.pyd new file mode 100644 index 0000000..19b5250 Binary files /dev/null and b/lib/static/filterlib.cp314-win_amd64.pyd differ diff --git a/setup.py b/setup.py index eb5413e..30882e4 100644 --- a/setup.py +++ b/setup.py @@ -35,8 +35,7 @@ package_data = { "Filters.h", "Filters.c", "filterlib*.so", - "filterlib*.dll", - "filterlib*.dylib", + "filterlib*.pyd", ] }