diff --git a/tools/mkdoc.py b/tools/mkdoc.py index 44164af3..2b429ae1 100755 --- a/tools/mkdoc.py +++ b/tools/mkdoc.py @@ -254,6 +254,13 @@ def read_args(args): parameters.append('-isysroot') parameters.append(sysroot_dir) elif platform.system() == 'Linux': + # cython.util.find_library does not find `libclang` for all clang + # versions and distributions. LLVM switched to a monolithical setup + # that includes everything under /usr/lib/llvm{version_number}/ + # We therefore glob for the library and select the highest version + library_path = sorted(glob("/usr/lib/llvm-*/lib/"), reversed=True)[0] + cindex.Config.set_library_path(library_path) + # clang doesn't find its own base includes by default on Linux, # but different distros install them in different paths. # Try to autodetect, preferring the highest numbered version.