find library path to libclang.so via glob command in /usr/lib/llvm-* and set it

This commit is contained in:
MRocholl 2020-04-15 15:00:03 +02:00 committed by Wenzel Jakob
parent 9ed8b44033
commit 00c462d149
1 changed files with 7 additions and 0 deletions

View File

@ -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.