libsecp256k1: add runtime support for both 0.2.x and <0.2.0 lib vers
related: https://github.com/spesmilo/electrum/pull/8185 https://github.com/bitcoin-core/secp256k1/pull/1055
This commit is contained in:
@@ -38,16 +38,18 @@ class LibModuleMissing(Exception): pass
|
|||||||
|
|
||||||
def load_library():
|
def load_library():
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1.0.dylib'),
|
libnames = ['libsecp256k1.1.dylib', 'libsecp256k1.0.dylib', ]
|
||||||
'libsecp256k1.0.dylib')
|
|
||||||
elif sys.platform in ('windows', 'win32'):
|
elif sys.platform in ('windows', 'win32'):
|
||||||
library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1-0.dll'),
|
libnames = ['libsecp256k1-1.dll', 'libsecp256k1-0.dll', ]
|
||||||
'libsecp256k1-0.dll')
|
|
||||||
elif 'ANDROID_DATA' in os.environ:
|
elif 'ANDROID_DATA' in os.environ:
|
||||||
library_paths = ('libsecp256k1.so',)
|
libnames = ['libsecp256k1.so', ]
|
||||||
else: # desktop Linux and similar
|
else: # desktop Linux and similar
|
||||||
library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1.so.0'),
|
libnames = ['libsecp256k1.so.1', 'libsecp256k1.so.0', ]
|
||||||
'libsecp256k1.so.0', 'libsecp256k1.so.1')
|
library_paths = []
|
||||||
|
for libname in libnames: # try local files in repo dir first
|
||||||
|
library_paths.append(os.path.join(os.path.dirname(__file__), libname))
|
||||||
|
for libname in libnames:
|
||||||
|
library_paths.append(libname)
|
||||||
|
|
||||||
exceptions = []
|
exceptions = []
|
||||||
secp256k1 = None
|
secp256k1 = None
|
||||||
|
|||||||
Reference in New Issue
Block a user