diff --git a/pyopencl/_cffi.py b/pyopencl/_cffi.py index 9c1c59e0010a5b84d7447d3425229b856c86ae98..e58364adaf81de6bdd408721d29dd6d43e2a4f78 100644 --- a/pyopencl/_cffi.py +++ b/pyopencl/_cffi.py @@ -123,6 +123,19 @@ def _get_wrapcl_so_names(): if ext_suffix is not None: yield os.path.join(current_directory, "_wrapcl" + ext_suffix) + # Oh god. Chop hyphen-separated bits off the end, in the hope that + # something matches... + + root, ext = os.path.splitext(ext_suffix) + while True: + last_hyphen = root.rfind("-") + if last_hyphen == -1: + break + root = root[:last_hyphen] + yield os.path.join(current_directory, "_wrapcl" + root + ext) + + yield os.path.join(current_directory, "_wrapcl" + ext) + from distutils.sysconfig import get_config_var yield os.path.join(current_directory, "_wrapcl" + get_config_var('SO'))