aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-11-14 22:33:00 +0200
committerGitHub <noreply@github.com>2017-11-14 22:33:00 +0200
commitc63b3d253d0f1173df16562b3fd47195c04e2997 (patch)
tree134da3c97850fbeb9a995a105a8ee841eff928ad
parent6d85e10df921c0399adfc01507a76f04c684245c (diff)
parent5cfb3784422c8f018ab1ec0b1b0dec6c73d87669 (diff)
downloadmeson-c63b3d253d0f1173df16562b3fd47195c04e2997.zip
meson-c63b3d253d0f1173df16562b3fd47195c04e2997.tar.gz
meson-c63b3d253d0f1173df16562b3fd47195c04e2997.tar.bz2
Merge pull request #2509 from madebr/boost_dependency_pkg_config
Enable get_pkgconfig_variable for python3 dependencies (if pkg-config is used)
-rw-r--r--mesonbuild/dependencies/misc.py19
-rw-r--r--test cases/python3/2 extmodule/meson.build5
2 files changed, 19 insertions, 5 deletions
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py
index c807926..4a023e4 100644
--- a/mesonbuild/dependencies/misc.py
+++ b/mesonbuild/dependencies/misc.py
@@ -602,15 +602,18 @@ class Python3Dependency(ExternalDependency):
self.name = 'python3'
# We can only be sure that it is Python 3 at this point
self.version = '3'
+ self.pkgdep = None
if DependencyMethods.PKGCONFIG in self.methods:
try:
- pkgdep = PkgConfigDependency('python3', environment, kwargs)
- if pkgdep.found():
- self.compile_args = pkgdep.get_compile_args()
- self.link_args = pkgdep.get_link_args()
- self.version = pkgdep.get_version()
+ self.pkgdep = PkgConfigDependency('python3', environment, kwargs)
+ if self.pkgdep.found():
+ self.compile_args = self.pkgdep.get_compile_args()
+ self.link_args = self.pkgdep.get_link_args()
+ self.version = self.pkgdep.get_version()
self.is_found = True
return
+ else:
+ self.pkgdep = None
except Exception:
pass
if not self.is_found:
@@ -674,6 +677,12 @@ class Python3Dependency(ExternalDependency):
else:
return [DependencyMethods.PKGCONFIG]
+ def get_pkgconfig_variable(self, variable_name):
+ if self.pkgdep:
+ return self.pkgdep.get_pkgconfig_variable(variable_name)
+ else:
+ return super().get_pkgconfig_variable(variable_name)
+
class PcapDependency(ExternalDependency):
def __init__(self, environment, kwargs):
diff --git a/test cases/python3/2 extmodule/meson.build b/test cases/python3/2 extmodule/meson.build
index 25e2c63..0ecc813 100644
--- a/test cases/python3/2 extmodule/meson.build
+++ b/test cases/python3/2 extmodule/meson.build
@@ -17,3 +17,8 @@ if py3_dep.found()
else
error('MESON_SKIP_TEST: Python3 libraries not found, skipping test.')
endif
+
+py3_pkg_dep = dependency('python3', method: 'pkg-config', required : false)
+if py3_pkg_dep.found()
+ python_lib_dir = py3_pkg_dep.get_pkgconfig_variable('libdir')
+endif