diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2020-10-01 13:02:08 -0700 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2021-03-19 08:47:10 -0400 |
commit | 40e3577a65ac688814eff1239fa38b86aad19ee8 (patch) | |
tree | 8329ecb3418c58c43ef7ccf1c0f354aab530ed5f /mesonbuild/modules | |
parent | f7b0238ed67fc0c9e3cef38090983e33b40fa205 (diff) | |
download | meson-40e3577a65ac688814eff1239fa38b86aad19ee8.zip meson-40e3577a65ac688814eff1239fa38b86aad19ee8.tar.gz meson-40e3577a65ac688814eff1239fa38b86aad19ee8.tar.bz2 |
split program related classes and functions out of dependencies
Dependencies is already a large and complicated package without adding
programs to the list. This also allows us to untangle a bit of spaghetti
that we have.
Diffstat (limited to 'mesonbuild/modules')
-rw-r--r-- | mesonbuild/modules/cmake.py | 5 | ||||
-rw-r--r-- | mesonbuild/modules/dlang.py | 6 | ||||
-rw-r--r-- | mesonbuild/modules/gnome.py | 3 | ||||
-rw-r--r-- | mesonbuild/modules/hotdoc.py | 3 | ||||
-rw-r--r-- | mesonbuild/modules/python.py | 4 | ||||
-rw-r--r-- | mesonbuild/modules/python3.py | 7 | ||||
-rw-r--r-- | mesonbuild/modules/qt.py | 3 | ||||
-rw-r--r-- | mesonbuild/modules/unstable_rust.py | 2 | ||||
-rw-r--r-- | mesonbuild/modules/windows.py | 2 |
9 files changed, 19 insertions, 16 deletions
diff --git a/mesonbuild/modules/cmake.py b/mesonbuild/modules/cmake.py index fd92ecf..84fe658 100644 --- a/mesonbuild/modules/cmake.py +++ b/mesonbuild/modules/cmake.py @@ -18,7 +18,7 @@ import typing as T from . import ExtensionModule, ModuleReturnValue -from .. import build, dependencies, mesonlib, mlog +from .. import build, mesonlib, mlog from ..cmake import SingleTargetOptions, TargetOptions, cmake_defines_to_args from ..interpreter import ConfigurationDataHolder, InterpreterException, SubprojectHolder, DependencyHolder from ..interpreterbase import ( @@ -36,6 +36,7 @@ from ..interpreterbase import ( InvalidArguments, ) +from ..programs import ExternalProgram COMPATIBILITIES = ['AnyNewerVersion', 'SameMajorVersion', 'SameMinorVersion', 'ExactVersion'] @@ -232,7 +233,7 @@ class CmakeModule(ExtensionModule): if self.cmake_detected: return True - cmakebin = dependencies.ExternalProgram('cmake', silent=False) + cmakebin = ExternalProgram('cmake', silent=False) p, stdout, stderr = mesonlib.Popen_safe(cmakebin.get_command() + ['--system-information', '-G', 'Ninja'])[0:3] if p.returncode != 0: mlog.log(f'error retrieving cmake information: returnCode={p.returncode} stdout={stdout} stderr={stderr}') diff --git a/mesonbuild/modules/dlang.py b/mesonbuild/modules/dlang.py index 55ff304..f2633cb 100644 --- a/mesonbuild/modules/dlang.py +++ b/mesonbuild/modules/dlang.py @@ -26,10 +26,8 @@ from ..mesonlib import ( Popen_safe, MesonException ) -from ..dependencies.base import ( - ExternalProgram, DubDependency -) - +from ..dependencies.base import DubDependency +from ..programs import ExternalProgram from ..interpreter import DependencyHolder class DlangModule(ExtensionModule): diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index f1df18a..6ca866f 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -33,7 +33,8 @@ from ..mesonlib import ( MachineChoice, MesonException, OrderedSet, Popen_safe, extract_as_list, join_args, unholder, ) -from ..dependencies import Dependency, PkgConfigDependency, InternalDependency, ExternalProgram +from ..dependencies import Dependency, PkgConfigDependency, InternalDependency +from ..programs import ExternalProgram from ..interpreterbase import noPosargs, noKwargs, permittedKwargs, FeatureNew, FeatureNewKwargs, FeatureDeprecatedKwargs if T.TYPE_CHECKING: diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py index 51da31c..bf8cd22 100644 --- a/mesonbuild/modules/hotdoc.py +++ b/mesonbuild/modules/hotdoc.py @@ -23,9 +23,10 @@ from mesonbuild.coredata import MesonException from . import ModuleReturnValue from . import ExtensionModule from . import get_include_args -from ..dependencies import Dependency, InternalDependency, ExternalProgram +from ..dependencies import Dependency, InternalDependency from ..interpreterbase import FeatureNew, InvalidArguments, noPosargs, noKwargs from ..interpreter import CustomTargetHolder +from ..programs import ExternalProgram def ensure_list(value): diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index 122f977..f46f00e 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -32,9 +32,9 @@ from .. import mlog from ..environment import detect_cpu_family from ..dependencies.base import ( DependencyMethods, ExternalDependency, - ExternalProgram, PkgConfigDependency, - NonExistingExternalProgram, NotFoundDependency + PkgConfigDependency, NotFoundDependency ) +from ..programs import ExternalProgram, NonExistingExternalProgram mod_kwargs = {'subdir'} mod_kwargs.update(known_shmod_kwargs) diff --git a/mesonbuild/modules/python3.py b/mesonbuild/modules/python3.py index 8815966..e7a2bb3 100644 --- a/mesonbuild/modules/python3.py +++ b/mesonbuild/modules/python3.py @@ -13,12 +13,13 @@ # limitations under the License. import sysconfig -from .. import mesonlib, dependencies +from .. import mesonlib from . import ExtensionModule from mesonbuild.modules import ModuleReturnValue from ..interpreterbase import noKwargs, permittedKwargs, FeatureDeprecated from ..build import known_shmod_kwargs +from ..programs import ExternalProgram class Python3Module(ExtensionModule): @@ -50,9 +51,9 @@ class Python3Module(ExtensionModule): def find_python(self, state, args, kwargs): command = state.environment.lookup_binary_entry(mesonlib.MachineChoice.HOST, 'python3') if command is not None: - py3 = dependencies.ExternalProgram.from_entry('python3', command) + py3 = ExternalProgram.from_entry('python3', command) else: - py3 = dependencies.ExternalProgram('python3', mesonlib.python_command, silent=True) + py3 = ExternalProgram('python3', mesonlib.python_command, silent=True) return ModuleReturnValue(py3, [py3]) @noKwargs diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py index 32841ff..de3a5b1 100644 --- a/mesonbuild/modules/qt.py +++ b/mesonbuild/modules/qt.py @@ -17,11 +17,12 @@ import shutil from .. import mlog from .. import build from ..mesonlib import MesonException, extract_as_list, File, unholder, version_compare -from ..dependencies import Dependency, Qt4Dependency, Qt5Dependency, Qt6Dependency, NonExistingExternalProgram +from ..dependencies import Dependency, Qt4Dependency, Qt5Dependency, Qt6Dependency import xml.etree.ElementTree as ET from . import ModuleReturnValue, get_include_args, ExtensionModule from ..interpreterbase import noPosargs, permittedKwargs, FeatureNew, FeatureNewKwargs from ..interpreter import extract_required_kwarg +from ..programs import NonExistingExternalProgram _QT_DEPS_LUT = { 4: Qt4Dependency, diff --git a/mesonbuild/modules/unstable_rust.py b/mesonbuild/modules/unstable_rust.py index 11b4365..91f7146 100644 --- a/mesonbuild/modules/unstable_rust.py +++ b/mesonbuild/modules/unstable_rust.py @@ -26,7 +26,7 @@ from ..mesonlib import stringlistify, unholder, listify, typeslistify, File if T.TYPE_CHECKING: from . import ModuleState from ..interpreter import Interpreter - from ..dependencies import ExternalProgram + from ..programs import ExternalProgram class RustModule(ExtensionModule): diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py index 54bd265..d7a8638 100644 --- a/mesonbuild/modules/windows.py +++ b/mesonbuild/modules/windows.py @@ -24,7 +24,7 @@ from . import ModuleReturnValue from . import ExtensionModule from ..interpreter import CustomTargetHolder from ..interpreterbase import permittedKwargs, FeatureNewKwargs, flatten -from ..dependencies import ExternalProgram +from ..programs import ExternalProgram class ResourceCompilerType(enum.Enum): windres = 1 |