Skip to content

Commit 16735ef

Browse files
boussaffawalidWalid Boussafa
andauthored
fix glib prefix on windows (#550)
Co-authored-by: Walid Boussafa <[email protected]>
1 parent 6888bbd commit 16735ef

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

pyvips/__init__.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@
1010
# user code can override this null handler
1111
logger.addHandler(logging.NullHandler())
1212

13-
def library_name(name, abi_number):
13+
def library_name(name, abi_number, lib_prefix='lib'):
1414
is_windows = os.name == 'nt'
1515
is_mac = sys.platform == 'darwin'
1616

1717
if is_windows:
18-
return f'lib{name}-{abi_number}.dll'
18+
return f'{lib_prefix}{name}-{abi_number}.dll'
1919
elif is_mac:
20-
return f'lib{name}.{abi_number}.dylib'
20+
return f'{lib_prefix}{name}.{abi_number}.dylib'
2121
else:
22-
return f'lib{name}.so.{abi_number}'
22+
return f'{lib_prefix}{name}.so.{abi_number}'
2323

2424
# pull in our module version number
2525
from .version import __version__
@@ -103,8 +103,13 @@ def library_name(name, abi_number):
103103
is_unified = False
104104

105105
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=''))
108113

109114
logger.debug('Loaded lib %s', glib_lib)
110115
logger.debug('Loaded lib %s', gobject_lib)

0 commit comments

Comments
 (0)