Skip to content

Commit dd141c7

Browse files
committed
libsecp256k1: add runtime support for both 0.2.x and <0.2.0 lib vers
related: #8185 bitcoin-core/secp256k1#1055
1 parent f05ab40 commit dd141c7

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

electrum/ecc_fast.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,18 @@ class LibModuleMissing(Exception): pass
3838

3939
def load_library():
4040
if sys.platform == 'darwin':
41-
library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1.0.dylib'),
42-
'libsecp256k1.0.dylib')
41+
libnames = ['libsecp256k1.1.dylib', 'libsecp256k1.0.dylib', ]
4342
elif sys.platform in ('windows', 'win32'):
44-
library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1-0.dll'),
45-
'libsecp256k1-0.dll')
43+
libnames = ['libsecp256k1-1.dll', 'libsecp256k1-0.dll', ]
4644
elif 'ANDROID_DATA' in os.environ:
47-
library_paths = ('libsecp256k1.so',)
45+
libnames = ['libsecp256k1.so', ]
4846
else: # desktop Linux and similar
49-
library_paths = (os.path.join(os.path.dirname(__file__), 'libsecp256k1.so.0'),
50-
'libsecp256k1.so.0', 'libsecp256k1.so.1')
47+
libnames = ['libsecp256k1.so.1', 'libsecp256k1.so.0', ]
48+
library_paths = []
49+
for libname in libnames: # try local files in repo dir first
50+
library_paths.append(os.path.join(os.path.dirname(__file__), libname))
51+
for libname in libnames:
52+
library_paths.append(libname)
5153

5254
exceptions = []
5355
secp256k1 = None

0 commit comments

Comments
 (0)