find library path to libclang.so via glob command in /usr/lib/llvm-* and set it
diff --git a/tools/mkdoc.py b/tools/mkdoc.py
index 44164af..2b429ae 100755
--- a/tools/mkdoc.py
+++ b/tools/mkdoc.py
@@ -254,6 +254,13 @@
             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.