aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2020-10-01 13:02:08 -0700
committerXavier Claessens <xclaesse@gmail.com>2021-03-19 08:47:10 -0400
commit40e3577a65ac688814eff1239fa38b86aad19ee8 (patch)
tree8329ecb3418c58c43ef7ccf1c0f354aab530ed5f /mesonbuild/modules
parentf7b0238ed67fc0c9e3cef38090983e33b40fa205 (diff)
downloadmeson-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.py5
-rw-r--r--mesonbuild/modules/dlang.py6
-rw-r--r--mesonbuild/modules/gnome.py3
-rw-r--r--mesonbuild/modules/hotdoc.py3
-rw-r--r--mesonbuild/modules/python.py4
-rw-r--r--mesonbuild/modules/python3.py7
-rw-r--r--mesonbuild/modules/qt.py3
-rw-r--r--mesonbuild/modules/unstable_rust.py2
-rw-r--r--mesonbuild/modules/windows.py2
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