|
10 | 10 | # user code can override this null handler
|
11 | 11 | logger.addHandler(logging.NullHandler())
|
12 | 12 |
|
13 |
| -def library_name(name, abi_number): |
| 13 | +def library_name(name, abi_number, lib_prefix='lib'): |
14 | 14 | is_windows = os.name == 'nt'
|
15 | 15 | is_mac = sys.platform == 'darwin'
|
16 | 16 |
|
17 | 17 | if is_windows:
|
18 |
| - return f'lib{name}-{abi_number}.dll' |
| 18 | + return f'{lib_prefix}{name}-{abi_number}.dll' |
19 | 19 | elif is_mac:
|
20 |
| - return f'lib{name}.{abi_number}.dylib' |
| 20 | + return f'{lib_prefix}{name}.{abi_number}.dylib' |
21 | 21 | else:
|
22 |
| - return f'lib{name}.so.{abi_number}' |
| 22 | + return f'{lib_prefix}{name}.so.{abi_number}' |
23 | 23 |
|
24 | 24 | # pull in our module version number
|
25 | 25 | from .version import __version__
|
@@ -103,8 +103,13 @@ def library_name(name, abi_number):
|
103 | 103 | is_unified = False
|
104 | 104 |
|
105 | 105 | if not is_unified:
|
106 |
| - glib_lib = ffi.dlopen(library_name('glib-2.0', 0)) |
107 |
| - gobject_lib = ffi.dlopen(library_name('gobject-2.0', 0)) |
| 106 | + try: |
| 107 | + glib_lib = ffi.dlopen(library_name('glib-2.0', 0)) |
| 108 | + gobject_lib = ffi.dlopen(library_name('gobject-2.0', 0)) |
| 109 | + except Exception: |
| 110 | + # on windows glib maybe named glib-2.0-0.dll instead of libglib-2.0-0.dll |
| 111 | + glib_lib = ffi.dlopen(library_name('glib-2.0', 0, lib_prefix='')) |
| 112 | + gobject_lib = ffi.dlopen(library_name('gobject-2.0', 0, lib_prefix='')) |
108 | 113 |
|
109 | 114 | logger.debug('Loaded lib %s', glib_lib)
|
110 | 115 | logger.debug('Loaded lib %s', gobject_lib)
|
|
0 commit comments