|
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