diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2018-06-01 11:55:18 +0100 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2018-08-01 14:25:59 +0100 |
commit | 01118ce2a45ec3111b29f2de70bc127b3400ebb2 (patch) | |
tree | d7fe56b12c7fad4f8434be064125fa3d0fa4512c /mesonbuild/dependencies/misc.py | |
parent | 82bdf07a9d1ca6c62d4645a8c996975a5cef2989 (diff) | |
download | meson-01118ce2a45ec3111b29f2de70bc127b3400ebb2.zip meson-01118ce2a45ec3111b29f2de70bc127b3400ebb2.tar.gz meson-01118ce2a45ec3111b29f2de70bc127b3400ebb2.tar.bz2 |
Add a finish_init callback to ConfigToolDependency()
Give ConfigToolDependency() a finish_init callback, so that tool-specific
initialization can be called from the constructor, rather than after
construction in the factory class.
v2:
finalize -> finish_init for clarity
Diffstat (limited to 'mesonbuild/dependencies/misc.py')
-rw-r--r-- | mesonbuild/dependencies/misc.py | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index 6076433..bf60186 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -444,16 +444,20 @@ class PcapDependency(ExternalDependency): if DependencyMethods.CONFIG_TOOL in methods: candidates.append(functools.partial(ConfigToolDependency.factory, - 'pcap', environment, None, kwargs, ['pcap-config'], 'pcap-config')) -# if ctdep.found(): -# ctdep.compile_args = ctdep.get_config_value(['--cflags'], 'compile_args') -# ctdep.link_args = ctdep.get_config_value(['--libs'], 'link_args') -# ctdep.version = cls.get_pcap_lib_version(ctdep) -# return ctdep + 'pcap', environment, None, + kwargs, ['pcap-config'], + 'pcap-config', + PcapDependency.tool_finish_init)) return candidates @staticmethod + def tool_finish_init(ctdep): + ctdep.compile_args = ctdep.get_config_value(['--cflags'], 'compile_args') + ctdep.link_args = ctdep.get_config_value(['--libs'], 'link_args') + ctdep.version = PcapDependency.get_pcap_lib_version(ctdep) + + @staticmethod def get_methods(): return [DependencyMethods.PKGCONFIG, DependencyMethods.CONFIG_TOOL] @@ -479,10 +483,7 @@ class CupsDependency(ExternalDependency): candidates.append(functools.partial(ConfigToolDependency.factory, 'cups', environment, None, kwargs, ['cups-config'], - 'cups-config')) -# if ctdep.found(): -# ctdep.compile_args = ctdep.get_config_value(['--cflags'], 'compile_args') -# ctdep.link_args = ctdep.get_config_value(['--ldflags', '--libs'], 'link_args') + 'cups-config', CupsDependency.tool_finish_init)) if DependencyMethods.EXTRAFRAMEWORK in methods: if mesonlib.is_osx(): @@ -493,6 +494,11 @@ class CupsDependency(ExternalDependency): return candidates @staticmethod + def tool_finish_init(ctdep): + ctdep.compile_args = ctdep.get_config_value(['--cflags'], 'compile_args') + ctdep.link_args = ctdep.get_config_value(['--ldflags', '--libs'], 'link_args') + + @staticmethod def get_methods(): if mesonlib.is_osx(): return [DependencyMethods.PKGCONFIG, DependencyMethods.CONFIG_TOOL, DependencyMethods.EXTRAFRAMEWORK] @@ -514,15 +520,15 @@ class LibWmfDependency(ExternalDependency): if DependencyMethods.CONFIG_TOOL in methods: candidates.append(functools.partial(ConfigToolDependency.factory, - 'libwmf', environment, None, kwargs, ['libwmf-config'], 'libwmf-config')) - -# if ctdep.found(): -# ctdep.compile_args = ctdep.get_config_value(['--cflags'], 'compile_args') -# ctdep.link_args = ctdep.get_config_value(['--libs'], 'link_args') -# return ctdep + 'libwmf', environment, None, kwargs, ['libwmf-config'], 'libwmf-config', LibWmfDependency.tool_finish_init)) return candidates @staticmethod + def tool_finish_init(ctdep): + ctdep.compile_args = ctdep.get_config_value(['--cflags'], 'compile_args') + ctdep.link_args = ctdep.get_config_value(['--libs'], 'link_args') + + @staticmethod def get_methods(): return [DependencyMethods.PKGCONFIG, DependencyMethods.CONFIG_TOOL] |