Update loadIndirect function fix documentation
This commit is contained in:
parent
9f3194d315
commit
65bd7ea428
28
README.md
28
README.md
@ -48,3 +48,31 @@ def loadIndirect():
|
||||
)
|
||||
return getattr(ctypes.cdll, libname.format("bdkffi"))
|
||||
```
|
||||
|
||||
## Support both macOS architectures
|
||||
In order to support both macOS architectures, we must modify the `loadIndirect()` method a little further:
|
||||
```python
|
||||
import platform
|
||||
def loadIndirect():
|
||||
if sys.platform == "linux":
|
||||
# libname = "lib{}.so"
|
||||
# libname = os.path.join(os.path.dirname(__file__), "lib{}.so")
|
||||
libname = os.path.join(os.path.dirname(__file__), "linux-x86_64/lib{}.so")
|
||||
elif sys.platform == "darwin":
|
||||
# libname = "lib{}.dylib"
|
||||
# libname = os.path.join(os.path.dirname(__file__), "lib{}.dylib")
|
||||
if platform.machine() == "arm64":
|
||||
libname = os.path.join(os.path.dirname(__file__), "darwin-arm64/lib{}.dylib")
|
||||
elif platform.machine() == "x86_64":
|
||||
libname = os.path.join(os.path.dirname(__file__), "darwin-x86_64/lib{}.dylib")
|
||||
elif sys.platform.startswith("win"):
|
||||
# As of python3.8, ctypes does not seem to search $PATH when loading DLLs.
|
||||
# We could use `os.add_dll_directory` to configure the search path, but
|
||||
# it doesn't feel right to mess with application-wide settings. Let's
|
||||
# assume that the `.dll` is next to the `.py` file and load by full path.
|
||||
libname = os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
"{}.dll",
|
||||
)
|
||||
return getattr(ctypes.cdll, libname.format("bdkffi"))
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user