diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-11-14 22:33:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-14 22:33:00 +0200 |
commit | c63b3d253d0f1173df16562b3fd47195c04e2997 (patch) | |
tree | 134da3c97850fbeb9a995a105a8ee841eff928ad | |
parent | 6d85e10df921c0399adfc01507a76f04c684245c (diff) | |
parent | 5cfb3784422c8f018ab1ec0b1b0dec6c73d87669 (diff) | |
download | meson-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.py | 19 | ||||
-rw-r--r-- | test cases/python3/2 extmodule/meson.build | 5 |
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 |