diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2020-01-08 15:17:29 -0800 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2020-01-29 09:11:24 -0800 |
commit | 4cc890e70aa732e89b632cd16be4833a744135ed (patch) | |
tree | a36866b9836dbc164de4957d3a815fc23769c400 /mesonbuild/dependencies | |
parent | a1f03881c1af843380cdd7caf7916902b5e1c3e1 (diff) | |
download | meson-4cc890e70aa732e89b632cd16be4833a744135ed.zip meson-4cc890e70aa732e89b632cd16be4833a744135ed.tar.gz meson-4cc890e70aa732e89b632cd16be4833a744135ed.tar.bz2 |
dependencies: Use DependencyFactory for cups
Diffstat (limited to 'mesonbuild/dependencies')
-rw-r--r-- | mesonbuild/dependencies/__init__.py | 4 | ||||
-rw-r--r-- | mesonbuild/dependencies/misc.py | 43 |
2 files changed, 15 insertions, 32 deletions
diff --git a/mesonbuild/dependencies/__init__.py b/mesonbuild/dependencies/__init__.py index 6b4250e..9d050f1 100644 --- a/mesonbuild/dependencies/__init__.py +++ b/mesonbuild/dependencies/__init__.py @@ -24,7 +24,7 @@ from .dev import ValgrindDependency, gmock_factory, gtest_factory, llvm_factory from .coarrays import CoarrayDependency from .mpi import MPIDependency from .scalapack import ScalapackDependency -from .misc import (BlocksDependency, CursesDependency, NetCDFDependency, OpenMPDependency, ThreadDependency, CupsDependency, LibWmfDependency, LibGCryptDependency, GpgmeDependency, ShadercDependency, pcap_factory, python3_factory) +from .misc import (BlocksDependency, CursesDependency, NetCDFDependency, OpenMPDependency, ThreadDependency, LibWmfDependency, LibGCryptDependency, GpgmeDependency, ShadercDependency, cups_factory, pcap_factory, python3_factory) from .platform import AppleFrameworks from .ui import GLDependency, GnuStepDependency, Qt4Dependency, Qt5Dependency, SDL2Dependency, WxDependency, vulkan_factory @@ -53,7 +53,7 @@ packages.update({ 'python3': python3_factory, 'threads': ThreadDependency, 'pcap': pcap_factory, - 'cups': CupsDependency, + 'cups': cups_factory, 'libwmf': LibWmfDependency, 'libgcrypt': LibGCryptDependency, 'gpgme': GpgmeDependency, diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index f39fb98..fd4dcd8 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -26,9 +26,8 @@ from ..mesonlib import listify from .base import ( DependencyException, DependencyMethods, ExternalDependency, - ExtraFrameworkDependency, PkgConfigDependency, - CMakeDependency, ConfigToolDependency, process_method_kw, - DependencyFactory, + PkgConfigDependency, CMakeDependency, ConfigToolDependency, + process_method_kw, DependencyFactory, ) class NetCDFDependency(ExternalDependency): @@ -330,36 +329,13 @@ class PcapDependencyConfigTool(ConfigToolDependency): return v -class CupsDependency(ExternalDependency): - def __init__(self, environment, kwargs): - super().__init__('cups', environment, kwargs) - - @classmethod - def _factory(cls, environment, kwargs): - methods = process_method_kw(cls.get_methods(), kwargs) - candidates = [] - - if DependencyMethods.PKGCONFIG in methods: - candidates.append(functools.partial(PkgConfigDependency, 'cups', environment, kwargs)) - - if DependencyMethods.CONFIG_TOOL in methods: - candidates.append(functools.partial(ConfigToolDependency.factory, - 'cups', environment, None, - kwargs, ['cups-config'], - 'cups-config', CupsDependency.tool_finish_init)) +class CupsDependencyConfigTool(ConfigToolDependency): - if DependencyMethods.EXTRAFRAMEWORK in methods: - if mesonlib.is_osx(): - candidates.append(functools.partial( - ExtraFrameworkDependency, 'cups', environment, kwargs)) - - if DependencyMethods.CMAKE in methods: - candidates.append(functools.partial(CMakeDependency, 'Cups', environment, kwargs)) - - return candidates + tools = ['cups-config'] + tool_name = 'cups-config' @staticmethod - def tool_finish_init(ctdep): + def finish_init(ctdep): ctdep.compile_args = ctdep.get_config_value(['--cflags'], 'compile_args') ctdep.link_args = ctdep.get_config_value(['--ldflags', '--libs'], 'link_args') @@ -544,6 +520,13 @@ class CursesDependency(ExternalDependency): return [DependencyMethods.AUTO, DependencyMethods.PKGCONFIG] +cups_factory = DependencyFactory( + 'cups', + [DependencyMethods.PKGCONFIG, DependencyMethods.CONFIG_TOOL, DependencyMethods.EXTRAFRAMEWORK, DependencyMethods.CMAKE], + configtool_class=CupsDependencyConfigTool, + cmake_name='Cups', +) + pcap_factory = DependencyFactory( 'pcap', [DependencyMethods.PKGCONFIG, DependencyMethods.CONFIG_TOOL], |