From d5207e1c4faf65aac9c88585476fff5245672fec Mon Sep 17 00:00:00 2001 From: Salamandar Date: Fri, 27 Apr 2018 16:32:08 +0200 Subject: Add 0.41.0 features --- mesonbuild/modules/pkgconfig.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'mesonbuild/modules/pkgconfig.py') diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py index 365d3cd37..c138ad8dc 100644 --- a/mesonbuild/modules/pkgconfig.py +++ b/mesonbuild/modules/pkgconfig.py @@ -21,7 +21,7 @@ from .. import mesonlib from .. import mlog from . import ModuleReturnValue from . import ExtensionModule -from ..interpreterbase import permittedKwargs +from ..interpreterbase import permittedKwargs, FeatureNewKwargs, FeatureNew class DependenciesHelper: def __init__(self, name): @@ -304,10 +304,13 @@ class PkgConfigModule(ExtensionModule): ofile.write(self._escape(f)) ofile.write('\n') + @FeatureNewKwargs('pkgconfig.generate', '0.41.0', ['variables']) @permittedKwargs({'libraries', 'version', 'name', 'description', 'filebase', 'subdirs', 'requires', 'requires_private', 'libraries_private', 'install_dir', 'extra_cflags', 'variables', 'url', 'd_module_versions'}) def generate(self, state, args, kwargs): + if 'variables' in kwargs: + FeatureNew('custom pkgconfig variables', '0.41.0').use() default_version = state.project_version['version'] default_install_dir = None default_description = None -- cgit v1.2.3 From 4741f1e2437edaa9b5bfa204c703027fd0a9efa4 Mon Sep 17 00:00:00 2001 From: Salamandar Date: Fri, 27 Apr 2018 16:46:18 +0200 Subject: Add 0.42.0 features --- mesonbuild/build.py | 1 + mesonbuild/dependencies/misc.py | 5 +++++ mesonbuild/dependencies/ui.py | 3 +++ mesonbuild/interpreter.py | 2 ++ mesonbuild/modules/gnome.py | 1 + mesonbuild/modules/pkgconfig.py | 1 + mesonbuild/modules/unstable_simd.py | 3 +++ 7 files changed, 16 insertions(+) (limited to 'mesonbuild/modules/pkgconfig.py') diff --git a/mesonbuild/build.py b/mesonbuild/build.py index ac5c82429..1b3861b71 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -331,6 +331,7 @@ a hard error in the future.''' % name) myid = subdir_part + '@@' + myid return myid + @FeatureNewKwargs('build target', '0.42.0', ['rust_crate_type', 'build_rpath', 'implicit_include_directories']) @FeatureNewKwargs('build target', '0.41.0', ['rust_args']) @FeatureNewKwargs('build target', '0.40.0', ['build_by_default']) def process_kwargs(self, kwargs): diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index cf84123dc..bf290ceb9 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -31,8 +31,11 @@ from .base import ( ConfigToolDependency, ) +from ..interpreterbase import FeatureNew class MPIDependency(ExternalDependency): + + @FeatureNew('MPI Dependency', '0.42.0') def __init__(self, environment, kwargs): language = kwargs.get('language', 'c') super().__init__('mpi', environment, language, kwargs) @@ -428,6 +431,8 @@ class Python3Dependency(ExternalDependency): class PcapDependency(ExternalDependency): + + @FeatureNew('Pcap Dependency', '0.42.0') def __init__(self, environment, kwargs): super().__init__('pcap', environment, None, kwargs) diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py index d6547ffca..b07b0ae9f 100644 --- a/mesonbuild/dependencies/ui.py +++ b/mesonbuild/dependencies/ui.py @@ -33,6 +33,7 @@ from .base import ExternalDependency, ExternalProgram from .base import ExtraFrameworkDependency, PkgConfigDependency from .base import ConfigToolDependency +from ..interpreterbase import FeatureNew class GLDependency(ExternalDependency): def __init__(self, environment, kwargs): @@ -514,6 +515,8 @@ class WxDependency(ConfigToolDependency): class VulkanDependency(ExternalDependency): + + @FeatureNew('Vulkan Dependency', '0.42.0') def __init__(self, environment, kwargs): super().__init__('vulkan', environment, None, kwargs) diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 379afca59..b342415fd 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2805,6 +2805,7 @@ root and issuing %s. mlog.bold(subproj_path), 'found:', mlog.green('YES')) return dep + @FeatureNewKwargs('executable', '0.42.0', 'implib') @permittedKwargs(permitted_kwargs['executable']) def func_executable(self, node, args, kwargs): return self.build_target(node, args, kwargs, ExecutableHolder) @@ -3132,6 +3133,7 @@ root and issuing %s. self.build.data.append(data.held_object) return data + @FeatureNewKwargs('install_subdir', '0.42.0', ['exclude_files', 'exclude_directories']) @FeatureNewKwargs('install_subdir', '0.38.0', ['install_mode']) @permittedKwargs(permitted_kwargs['install_subdir']) @stringArgs diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index d1c43bc90..6bd0977a4 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -1095,6 +1095,7 @@ This will become a hard error in the future.''') else: return ModuleReturnValue(targets, targets) + @FeatureNew('gnome.mkenums_simple', '0.42.0') def mkenums_simple(self, state, args, kwargs): hdr_filename = args[0] + '.h' body_filename = args[0] + '.c' diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py index c138ad8dc..10431a42d 100644 --- a/mesonbuild/modules/pkgconfig.py +++ b/mesonbuild/modules/pkgconfig.py @@ -304,6 +304,7 @@ class PkgConfigModule(ExtensionModule): ofile.write(self._escape(f)) ofile.write('\n') + @FeatureNewKwargs('pkgconfig.generate', '0.42.0', ['extra_cflags']) @FeatureNewKwargs('pkgconfig.generate', '0.41.0', ['variables']) @permittedKwargs({'libraries', 'version', 'name', 'description', 'filebase', 'subdirs', 'requires', 'requires_private', 'libraries_private', diff --git a/mesonbuild/modules/unstable_simd.py b/mesonbuild/modules/unstable_simd.py index c41e96c50..b64242aae 100644 --- a/mesonbuild/modules/unstable_simd.py +++ b/mesonbuild/modules/unstable_simd.py @@ -16,8 +16,11 @@ from .. import mesonlib, compilers, mlog from . import ExtensionModule +from ..interpreterbase import FeatureNew + class SimdModule(ExtensionModule): + @FeatureNew('SIMD module', '0.42.0') def __init__(self, interpreter): super().__init__(interpreter) self.snippets.add('check') -- cgit v1.2.3 From 2fb601876355587afd39691b361a4de6d30f9344 Mon Sep 17 00:00:00 2001 From: Salamandar Date: Fri, 27 Apr 2018 17:46:02 +0200 Subject: Add 0.46.0 features --- mesonbuild/dependencies/misc.py | 1 + mesonbuild/interpreter.py | 15 +++++++++++++++ mesonbuild/modules/gnome.py | 1 + mesonbuild/modules/pkgconfig.py | 3 ++- mesonbuild/modules/python.py | 5 ++++- 5 files changed, 23 insertions(+), 2 deletions(-) (limited to 'mesonbuild/modules/pkgconfig.py') diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index bf290ceb9..a6281510a 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -252,6 +252,7 @@ class OpenMPDependency(ExternalDependency): '199810': '1.0', } + @FeatureNew('OpenMP Dependency', '0.46.0') def __init__(self, environment, kwargs): language = kwargs.get('language') super().__init__('openmp', environment, language, kwargs) diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 9b2908625..24a0a29e0 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -356,6 +356,7 @@ class DependencyHolder(InterpreterObject, ObjectHolder): raise InterpreterException('Variable name must be a string.') return self.held_object.get_configtool_variable(varname) + @FeatureNew('dep.partial_dependency', '0.46.0') @noPosargs @permittedKwargs(permitted_method_kwargs['partial_dependency']) def partial_dependency_method(self, args, kwargs): @@ -380,6 +381,7 @@ class InternalDependencyHolder(InterpreterObject, ObjectHolder): def version_method(self, args, kwargs): return self.held_object.get_version() + @FeatureNew('dep.partial_dependency', '0.46.0') @noPosargs @permittedKwargs(permitted_method_kwargs['partial_dependency']) def partial_dependency_method(self, args, kwargs): @@ -439,6 +441,7 @@ class ExternalLibraryHolder(InterpreterObject, ObjectHolder): def get_exe_args(self): return self.held_object.get_exe_args() + @FeatureNew('dep.partial_dependency', '0.46.0') @noPosargs @permittedKwargs(permitted_method_kwargs['partial_dependency']) def partial_dependency_method(self, args, kwargs): @@ -690,6 +693,7 @@ class BuildTargetHolder(TargetHolder): gobjs = self.held_object.extract_objects(args) return GeneratedObjectsHolder(gobjs) + @FeatureNewKwargs('extract_all_objects', '0.46.0', ['recursive']) @noPosargs @permittedKwargs({'recursive'}) def extract_all_objects_method(self, args, kwargs): @@ -1378,6 +1382,7 @@ class CompilerHolder(InterpreterObject): mlog.log('First supported argument:', mlog.red('None')) return [] + @FeatureNew('has_link_argument', '0.46.0') @permittedKwargs({}) def has_link_argument_method(self, args, kwargs): args = mesonlib.stringlistify(args) @@ -1385,6 +1390,7 @@ class CompilerHolder(InterpreterObject): raise InterpreterException('has_link_argument takes exactly one argument.') return self.has_multi_link_arguments_method(args, kwargs) + @FeatureNew('has_multi_link_argument', '0.46.0') @permittedKwargs({}) def has_multi_link_arguments_method(self, args, kwargs): args = mesonlib.stringlistify(args) @@ -1399,6 +1405,7 @@ class CompilerHolder(InterpreterObject): h) return result + @FeatureNew('get_supported_link_arguments_method', '0.46.0') @permittedKwargs({}) def get_supported_link_arguments_method(self, args, kwargs): args = mesonlib.stringlistify(args) @@ -1408,6 +1415,7 @@ class CompilerHolder(InterpreterObject): supported_args.append(arg) return supported_args + @FeatureNew('first_supported_link_argument_method', '0.46.0') @permittedKwargs({}) def first_supported_link_argument_method(self, args, kwargs): for i in mesonlib.stringlistify(args): @@ -1627,6 +1635,7 @@ class MesonMain(InterpreterObject): raise InterpreterException('Argument must be a string.') self.build.dep_manifest_name = args[0] + @FeatureNew('override_find_program', '0.46.0') @permittedKwargs({}) def override_find_program_method(self, args, kwargs): if len(args) != 2: @@ -1944,6 +1953,7 @@ class Interpreter(InterpreterBase): def func_files(self, node, args, kwargs): return [mesonlib.File.from_source_file(self.environment.source_dir, self.subdir, fname) for fname in args] + @FeatureNewKwargs('declare_dependency', '0.46.0', ['link_whole']) @permittedKwargs(permitted_kwargs['declare_dependency']) @noPosargs def func_declare_dependency(self, node, args, kwargs): @@ -2904,6 +2914,7 @@ root and issuing %s. kwargs.setdefault('build_always', True) return self.func_custom_target(node, [kwargs['output']], kwargs) + @FeatureNew('subdir_done', '0.46.0') @stringArgs def func_subdir_done(self, node, args, kwargs): if len(kwargs) > 0: @@ -2965,6 +2976,7 @@ root and issuing %s. def func_benchmark(self, node, args, kwargs): self.add_test(node, args, kwargs, False) + @FeatureNewKwargs('test', '0.46.0', ['depends']) @permittedKwargs(permitted_kwargs['test']) def func_test(self, node, args, kwargs): self.add_test(node, args, kwargs, True) @@ -3119,6 +3131,7 @@ root and issuing %s. 'permissions arg to be a string or false') return FileMode(*install_mode) + @FeatureNewKwargs('install_data', '0.46.0', ['rename']) @FeatureNewKwargs('install_data', '0.38.0', ['install_mode']) @permittedKwargs(permitted_kwargs['install_data']) def func_install_data(self, node, args, kwargs): @@ -3186,6 +3199,7 @@ root and issuing %s. self.build.install_dirs.append(idir) return idir + @FeatureNewKwargs('configure_file', '0.46.0', ['format']) @FeatureNewKwargs('configure_file', '0.41.0', ['capture']) @permittedKwargs(permitted_kwargs['configure_file']) def func_configure_file(self, node, args, kwargs): @@ -3562,6 +3576,7 @@ different subdirectory. if idname not in self.coredata.target_guids: self.coredata.target_guids[idname] = str(uuid.uuid4()).upper() + @FeatureNew('both_libraries', '0.46.0') def build_both_libraries(self, node, args, kwargs): shared_holder = self.build_target(node, args, kwargs, SharedLibraryHolder) diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index 6bd0977a4..0c5da17f9 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -879,6 +879,7 @@ This will become a hard error in the future.''') return [] + @FeatureNewKwargs('build target', '0.46.0', ['install_header', 'install_dir', 'sources']) @FeatureNewKwargs('build target', '0.40.0', ['build_by_default']) @permittedKwargs({'interface_prefix', 'namespace', 'object_manager', 'build_by_default', 'annotations', 'docbook', 'install_header', 'install_dir', 'sources'}) diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py index 10431a42d..68c2dc587 100644 --- a/mesonbuild/modules/pkgconfig.py +++ b/mesonbuild/modules/pkgconfig.py @@ -21,7 +21,7 @@ from .. import mesonlib from .. import mlog from . import ModuleReturnValue from . import ExtensionModule -from ..interpreterbase import permittedKwargs, FeatureNewKwargs, FeatureNew +from ..interpreterbase import permittedKwargs, FeatureNew, FeatureNewKwargs class DependenciesHelper: def __init__(self, name): @@ -318,6 +318,7 @@ class PkgConfigModule(ExtensionModule): default_name = None mainlib = None if len(args) == 1: + FeatureNew('pkgconfig.generate optional positional argument', '0.46.0').use() mainlib = getattr(args[0], 'held_object', args[0]) if not isinstance(mainlib, (build.StaticLibrary, build.SharedLibrary)): raise mesonlib.MesonException('Pkgconfig_gen first positional argument must be a library object') diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index a70510903..b30a1e6ba 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -22,7 +22,8 @@ from mesonbuild.modules import ModuleReturnValue from . import permittedSnippetKwargs from ..interpreterbase import ( noPosargs, noKwargs, permittedKwargs, - InterpreterObject, InvalidArguments + InterpreterObject, InvalidArguments, + FeatureNew ) from ..interpreter import ExternalProgramHolder from ..interpreterbase import flatten @@ -49,6 +50,8 @@ def run_command(python, command): class PythonDependency(ExternalDependency): + + @FeatureNew('Python Module', '0.46.0') def __init__(self, python_holder, environment, kwargs): super().__init__('python', environment, None, kwargs) self.name = 'python' -- cgit v1.2.3