aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/factory.py
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2021-06-13 15:40:23 -0400
committerEli Schwartz <eschwartz@archlinux.org>2021-06-17 13:22:25 -0400
commitd591353b7874816378f9f61df69829a5cf135b4b (patch)
tree8a3a06720c32469f960d364474c42eb00954eed5 /mesonbuild/dependencies/factory.py
parent493dc6ed100503e4df7492a73a5d5d559f5f266b (diff)
downloadmeson-d591353b7874816378f9f61df69829a5cf135b4b.zip
meson-d591353b7874816378f9f61df69829a5cf135b4b.tar.gz
meson-d591353b7874816378f9f61df69829a5cf135b4b.tar.bz2
add new dependency type "builtin"
For dependencies that on some systems are built into libc etc. and don't need to be separately linked. This is distinct from "system" dependencies which add linker args.
Diffstat (limited to 'mesonbuild/dependencies/factory.py')
-rw-r--r--mesonbuild/dependencies/factory.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/factory.py b/mesonbuild/dependencies/factory.py
index 774e88e..048e3bc 100644
--- a/mesonbuild/dependencies/factory.py
+++ b/mesonbuild/dependencies/factory.py
@@ -20,7 +20,7 @@ from ..mesonlib import MachineChoice
from .base import DependencyException, DependencyMethods
from .base import ExternalDependency
from .base import process_method_kw
-from .base import SystemDependency
+from .base import BuiltinDependency, SystemDependency
from .cmake import CMakeDependency
from .framework import ExtraFrameworkDependency
from .pkgconfig import PkgConfigDependency
@@ -81,6 +81,7 @@ class DependencyFactory:
configtool_class: 'T.Optional[T.Type[ConfigToolDependency]]' = None,
framework_name: T.Optional[str] = None,
framework_class: 'T.Type[ExtraFrameworkDependency]' = ExtraFrameworkDependency,
+ builtin_class: 'T.Type[BuiltinDependency]' = BuiltinDependency,
system_class: 'T.Type[SystemDependency]' = SystemDependency):
if DependencyMethods.CONFIG_TOOL in methods and not configtool_class:
@@ -98,6 +99,7 @@ class DependencyFactory:
DependencyMethods.PKGCONFIG: lambda env, kwargs: pkgconfig_class(pkgconfig_name or name, env, kwargs),
DependencyMethods.CMAKE: lambda env, kwargs: cmake_class(cmake_name or name, env, kwargs),
DependencyMethods.SYSTEM: lambda env, kwargs: system_class(name, env, kwargs),
+ DependencyMethods.BUILTIN: lambda env, kwargs: builtin_class(name, env, kwargs),
DependencyMethods.CONFIG_TOOL: None,
}
if configtool_class is not None: