diff options
| author | Jussi Pakkanen <jpakkane@gmail.com> | 2024-06-30 13:16:42 +0300 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2024-07-11 11:53:39 +0300 |
| commit | 0d7bb776e2d97d406b726b90090bbfa8df13232b (patch) | |
| tree | 78817e1840f0741439871682b3c25a1e40a3067f /mesonbuild/modules | |
| parent | c2552527fb2f607052c7aed633b67dbb19f06e38 (diff) | |
| download | meson-0d7bb776e2d97d406b726b90090bbfa8df13232b.tar.gz | |
Move OptionKey in the option source file.
Diffstat (limited to 'mesonbuild/modules')
| -rw-r--r-- | mesonbuild/modules/__init__.py | 5 | ||||
| -rw-r--r-- | mesonbuild/modules/cmake.py | 7 | ||||
| -rw-r--r-- | mesonbuild/modules/external_project.py | 3 | ||||
| -rw-r--r-- | mesonbuild/modules/gnome.py | 11 | ||||
| -rw-r--r-- | mesonbuild/modules/hotdoc.py | 3 | ||||
| -rw-r--r-- | mesonbuild/modules/i18n.py | 3 | ||||
| -rw-r--r-- | mesonbuild/modules/pkgconfig.py | 11 | ||||
| -rw-r--r-- | mesonbuild/modules/python.py | 7 |
8 files changed, 29 insertions, 21 deletions
diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py index 046c530a8..e1b9eb27b 100644 --- a/mesonbuild/modules/__init__.py +++ b/mesonbuild/modules/__init__.py @@ -8,6 +8,7 @@ import dataclasses import typing as T from .. import build, mesonlib +from ..options import OptionKey from ..build import IncludeDirs from ..interpreterbase.decorators import noKwargs, noPosargs from ..mesonlib import relpath, HoldableObject, MachineChoice @@ -134,13 +135,13 @@ class ModuleState: machine: MachineChoice = MachineChoice.HOST, lang: T.Optional[str] = None, module: T.Optional[str] = None) -> T.Union[T.List[str], str, int, bool]: - return self.environment.coredata.get_option(mesonlib.OptionKey(name, subproject, machine, lang, module)) + return self.environment.coredata.get_option(OptionKey(name, subproject, machine, lang, module)) def is_user_defined_option(self, name: str, subproject: str = '', machine: MachineChoice = MachineChoice.HOST, lang: T.Optional[str] = None, module: T.Optional[str] = None) -> bool: - key = mesonlib.OptionKey(name, subproject, machine, lang, module) + key = OptionKey(name, subproject, machine, lang, module) return key in self._interpreter.user_defined_options.cmd_line_options def process_include_dirs(self, dirs: T.Iterable[T.Union[str, IncludeDirs]]) -> T.Iterable[IncludeDirs]: diff --git a/mesonbuild/modules/cmake.py b/mesonbuild/modules/cmake.py index b9161021d..4fda7b30d 100644 --- a/mesonbuild/modules/cmake.py +++ b/mesonbuild/modules/cmake.py @@ -10,6 +10,7 @@ import typing as T from . import ExtensionModule, ModuleReturnValue, ModuleObject, ModuleInfo from .. import build, mesonlib, mlog, dependencies +from ..options import OptionKey from ..cmake import TargetOptions, cmake_defines_to_args from ..interpreter import SubprojectHolder from ..interpreter.type_checking import REQUIRED_KW, INSTALL_DIR_KW, NoneType, in_set_validator @@ -299,7 +300,7 @@ class CmakeModule(ExtensionModule): pkgroot = pkgroot_name = kwargs['install_dir'] if pkgroot is None: - pkgroot = os.path.join(state.environment.coredata.get_option(mesonlib.OptionKey('libdir')), 'cmake', name) + pkgroot = os.path.join(state.environment.coredata.get_option(OptionKey('libdir')), 'cmake', name) pkgroot_name = os.path.join('{libdir}', 'cmake', name) template_file = os.path.join(self.cmake_root, 'Modules', f'BasicConfigVersion-{compatibility}.cmake.in') @@ -370,14 +371,14 @@ class CmakeModule(ExtensionModule): install_dir = kwargs['install_dir'] if install_dir is None: - install_dir = os.path.join(state.environment.coredata.get_option(mesonlib.OptionKey('libdir')), 'cmake', name) + install_dir = os.path.join(state.environment.coredata.get_option(OptionKey('libdir')), 'cmake', name) conf = kwargs['configuration'] if isinstance(conf, dict): FeatureNew.single_use('cmake.configure_package_config_file dict as configuration', '0.62.0', state.subproject, location=state.current_node) conf = build.ConfigurationData(conf) - prefix = state.environment.coredata.get_option(mesonlib.OptionKey('prefix')) + prefix = state.environment.coredata.get_option(OptionKey('prefix')) abs_install_dir = install_dir if not os.path.isabs(abs_install_dir): abs_install_dir = os.path.join(prefix, install_dir) diff --git a/mesonbuild/modules/external_project.py b/mesonbuild/modules/external_project.py index 5fdb0214c..fb82a384d 100644 --- a/mesonbuild/modules/external_project.py +++ b/mesonbuild/modules/external_project.py @@ -19,7 +19,8 @@ from ..interpreterbase import FeatureNew from ..interpreter.type_checking import ENV_KW, DEPENDS_KW from ..interpreterbase.decorators import ContainerTypeInfo, KwargInfo, typed_kwargs, typed_pos_args from ..mesonlib import (EnvironmentException, MesonException, Popen_safe, MachineChoice, - get_variable_regex, do_replacement, join_args, OptionKey) + get_variable_regex, do_replacement, join_args) +from ..options import OptionKey if T.TYPE_CHECKING: from typing_extensions import TypedDict diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index cab7c76a3..37a8b5105 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -31,6 +31,7 @@ from ..interpreterbase.decorators import typed_pos_args from ..mesonlib import ( MachineChoice, MesonException, OrderedSet, Popen_safe, join_args, quote_arg ) +from ..options import OptionKey from ..programs import OverrideProgram from ..scripts.gettext import read_linguas @@ -516,7 +517,7 @@ class GnomeModule(ExtensionModule): if gresource: # Only one target for .gresource files return ModuleReturnValue(target_c, [target_c]) - install_dir = kwargs['install_dir'] or state.environment.coredata.get_option(mesonlib.OptionKey('includedir')) + install_dir = kwargs['install_dir'] or state.environment.coredata.get_option(OptionKey('includedir')) assert isinstance(install_dir, str), 'for mypy' target_h = GResourceHeaderTarget( f'{target_name}_h', @@ -905,7 +906,7 @@ class GnomeModule(ExtensionModule): cflags += state.global_args[lang] if state.project_args.get(lang): cflags += state.project_args[lang] - if mesonlib.OptionKey('b_sanitize') in compiler.base_options: + if OptionKey('b_sanitize') in compiler.base_options: sanitize = state.environment.coredata.optstore.get_value('b_sanitize') cflags += compiler.sanitizer_compile_args(sanitize) sanitize = sanitize.split(',') @@ -1642,7 +1643,7 @@ class GnomeModule(ExtensionModule): targets = [] install_header = kwargs['install_header'] - install_dir = kwargs['install_dir'] or state.environment.coredata.get_option(mesonlib.OptionKey('includedir')) + install_dir = kwargs['install_dir'] or state.environment.coredata.get_option(OptionKey('includedir')) assert isinstance(install_dir, str), 'for mypy' output = namebase + '.c' @@ -1954,7 +1955,7 @@ class GnomeModule(ExtensionModule): ) -> build.CustomTarget: real_cmd: T.List[T.Union[str, 'ToolType']] = [self._find_tool(state, 'glib-mkenums')] real_cmd.extend(cmd) - _install_dir = install_dir or state.environment.coredata.get_option(mesonlib.OptionKey('includedir')) + _install_dir = install_dir or state.environment.coredata.get_option(OptionKey('includedir')) assert isinstance(_install_dir, str), 'for mypy' return CustomTarget( @@ -2166,7 +2167,7 @@ class GnomeModule(ExtensionModule): cmd.append(gir_file) vapi_output = library + '.vapi' - datadir = state.environment.coredata.get_option(mesonlib.OptionKey('datadir')) + datadir = state.environment.coredata.get_option(OptionKey('datadir')) assert isinstance(datadir, str), 'for mypy' install_dir = kwargs['install_dir'] or os.path.join(datadir, 'vala', 'vapi') diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py index fc8832efc..50b5fe6f2 100644 --- a/mesonbuild/modules/hotdoc.py +++ b/mesonbuild/modules/hotdoc.py @@ -20,6 +20,7 @@ from ..interpreter.interpreterobjects import _CustomTargetHolder from ..interpreter.type_checking import NoneType from ..mesonlib import File, MesonException from ..programs import ExternalProgram +from ..options import OptionKey if T.TYPE_CHECKING: from typing_extensions import TypedDict @@ -330,7 +331,7 @@ class HotdocTargetBuilder: for path in self.include_paths: self.cmd.extend(['--include-path', path]) - if self.state.environment.coredata.get_option(mesonlib.OptionKey('werror', subproject=self.state.subproject)): + if self.state.environment.coredata.get_option(OptionKey('werror', subproject=self.state.subproject)): self.cmd.append('--fatal-warnings') self.generate_hotdoc_config() diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py index 27c9dc00e..551e0b36f 100644 --- a/mesonbuild/modules/i18n.py +++ b/mesonbuild/modules/i18n.py @@ -10,6 +10,7 @@ import typing as T from . import ExtensionModule, ModuleReturnValue, ModuleInfo from .. import build from .. import mesonlib +from ..options import OptionKey from .. import mlog from ..interpreter.type_checking import CT_BUILD_BY_DEFAULT, CT_INPUT_KW, INSTALL_TAG_KW, OUTPUT_KW, INSTALL_DIR_KW, INSTALL_KW, NoneType, in_set_validator from ..interpreterbase import FeatureNew, InvalidArguments @@ -277,7 +278,7 @@ class I18nModule(ExtensionModule): targets.append(pottarget) install = kwargs['install'] - install_dir = kwargs['install_dir'] or state.environment.coredata.get_option(mesonlib.OptionKey('localedir')) + install_dir = kwargs['install_dir'] or state.environment.coredata.get_option(OptionKey('localedir')) assert isinstance(install_dir, str), 'for mypy' if not languages: languages = read_linguas(path.join(state.environment.source_dir, state.subdir)) diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py index 1a7307079..d66c2a901 100644 --- a/mesonbuild/modules/pkgconfig.py +++ b/mesonbuild/modules/pkgconfig.py @@ -13,6 +13,7 @@ from . import ModuleReturnValue from .. import build from .. import dependencies from .. import mesonlib +from ..options import OptionKey from .. import mlog from ..options import BUILTIN_DIR_OPTIONS from ..dependencies.pkgconfig import PkgConfigDependency, PkgConfigInterface @@ -482,7 +483,7 @@ class PkgConfigModule(NewExtensionModule): srcdir = PurePath(state.environment.get_source_dir()) else: outdir = state.environment.scratch_dir - prefix = PurePath(_as_str(coredata.get_option(mesonlib.OptionKey('prefix')))) + prefix = PurePath(_as_str(coredata.get_option(OptionKey('prefix')))) if pkgroot: pkgroot_ = PurePath(pkgroot) if not pkgroot_.is_absolute(): @@ -499,7 +500,7 @@ class PkgConfigModule(NewExtensionModule): if optname == 'prefix': ofile.write('prefix={}\n'.format(self._escape(prefix))) else: - dirpath = PurePath(_as_str(coredata.get_option(mesonlib.OptionKey(optname)))) + dirpath = PurePath(_as_str(coredata.get_option(OptionKey(optname)))) ofile.write('{}={}\n'.format(optname, self._escape('${prefix}' / dirpath))) if uninstalled and not dataonly: ofile.write('srcdir={}\n'.format(self._escape(srcdir))) @@ -694,13 +695,13 @@ class PkgConfigModule(NewExtensionModule): pkgroot = pkgroot_name = kwargs['install_dir'] or default_install_dir if pkgroot is None: if mesonlib.is_freebsd(): - pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(mesonlib.OptionKey('prefix'))), 'libdata', 'pkgconfig') + pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(OptionKey('prefix'))), 'libdata', 'pkgconfig') pkgroot_name = os.path.join('{prefix}', 'libdata', 'pkgconfig') elif mesonlib.is_haiku(): - pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(mesonlib.OptionKey('prefix'))), 'develop', 'lib', 'pkgconfig') + pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(OptionKey('prefix'))), 'develop', 'lib', 'pkgconfig') pkgroot_name = os.path.join('{prefix}', 'develop', 'lib', 'pkgconfig') else: - pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(mesonlib.OptionKey('libdir'))), 'pkgconfig') + pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(OptionKey('libdir'))), 'pkgconfig') pkgroot_name = os.path.join('{libdir}', 'pkgconfig') relocatable = state.get_option('relocatable', module='pkgconfig') self._generate_pkgconfig_file(state, deps, subdirs, name, description, url, diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index 013723da0..dec77e249 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -22,7 +22,8 @@ from ..interpreterbase import ( InvalidArguments, typed_pos_args, typed_kwargs, KwargInfo, FeatureNew, FeatureNewKwargs, disablerIfNotFound ) -from ..mesonlib import MachineChoice, OptionKey +from ..mesonlib import MachineChoice +from ..options import OptionKey from ..programs import ExternalProgram, NonExistingExternalProgram if T.TYPE_CHECKING: @@ -112,7 +113,7 @@ class PythonInstallation(_ExternalProgramHolder['PythonExternalProgram']): def __init__(self, python: 'PythonExternalProgram', interpreter: 'Interpreter'): _ExternalProgramHolder.__init__(self, python, interpreter) info = python.info - prefix = self.interpreter.environment.coredata.get_option(mesonlib.OptionKey('prefix')) + prefix = self.interpreter.environment.coredata.get_option(OptionKey('prefix')) assert isinstance(prefix, str), 'for mypy' self.variables = info['variables'] self.suffix = info['suffix'] @@ -373,7 +374,7 @@ class PythonModule(ExtensionModule): def _get_install_scripts(self) -> T.List[mesonlib.ExecutableSerialisation]: backend = self.interpreter.backend ret = [] - optlevel = self.interpreter.environment.coredata.get_option(mesonlib.OptionKey('bytecompile', module='python')) + optlevel = self.interpreter.environment.coredata.get_option(OptionKey('bytecompile', module='python')) if optlevel == -1: return ret if not any(PythonExternalProgram.run_bytecompile.values()): |
