File tree Expand file tree Collapse file tree 1 file changed +10
-20
lines changed
Expand file tree Collapse file tree 1 file changed +10
-20
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ def load_kernel(name, exc_if_failed=False):
3131 raise Exception (err )
3232
3333
34- def _find_library (name ):
34+ def _do_find_library (name ):
3535 p = ctypes .util .find_library (name )
3636 if p :
3737 lib = ctypes .CDLL (p , mode = ctypes .RTLD_GLOBAL )
@@ -57,29 +57,19 @@ def _find_library(name):
5757 return None
5858
5959
60- def find_library (* names ):
61- lib = None
60+ def _find_library (* names ):
6261 for name in names :
63- lib = _find_library (name )
64- if lib is not None :
65- break
66- if not name .startswith ("lib" ):
67- lib = _find_library ("lib" + name )
68- if lib is not None :
69- break
70- if not name .endswith (".so" ):
71- lib = _find_library (name + ".so" )
72- if lib is not None :
73- break
74- if not name .startswith ("lib" ) and not name .endswith (".so" ):
75- lib = _find_library ("lib" + name + ".so" )
62+ for n in (name , "lib" + name , name + ".so" , "lib" + name + ".so" ):
63+ lib = _do_find_library (n )
7664 if lib is not None :
77- break
78- if lib :
65+ yield lib
66+
67+
68+ def find_library (* names ):
69+ for lib in _find_library (* names ):
7970 major = 0
8071 m = re .search (r"\.so\.(\d+)" , lib ._name )
8172 if m :
8273 major = int (m .group (1 ))
8374 return lib , major
84- else :
85- return None , None
75+ return None , None
You can’t perform that action at this time.
0 commit comments