pkgconfig dep: Special-case D link arguments

The D compiler does not implement find_library(), so we can't resolve
these libraries to absolute paths. Keep the old behaviour till that
can be done.
pull/3528/merge
Nirbheek Chauhan 7 years ago committed by Nirbheek Chauhan
parent 58ae2c9a8c
commit 9fdf4d83e6
  1. 8
      mesonbuild/dependencies/base.py

@ -602,7 +602,10 @@ class PkgConfigDependency(ExternalDependency):
# Libraries that are provided by the toolchain or are not found by
# find_library() will be added with -L -l pairs.
for lib in self._convert_mingw_paths(shlex.split(out)):
if lib.startswith('-L'):
if lib.startswith(('-L-l', '-L-L')):
# These are D language arguments, add them as-is
pass
elif lib.startswith('-L'):
libpaths.add(lib[2:])
continue
elif lib.startswith('-l'):
@ -610,7 +613,8 @@ class PkgConfigDependency(ExternalDependency):
args = self.clib_compiler.find_library(lib[2:], self.env,
list(libpaths), libtype)
# If the project only uses a non-clib language such as D, Rust,
# C#, Python, etc, all we can do is limp along.
# C#, Python, etc, all we can do is limp along by adding the
# arguments as-is and then adding the libpaths at the end.
else:
args = None
if args:

Loading…
Cancel
Save