aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/modules')
-rw-r--r--mesonbuild/modules/gnome.py9
-rw-r--r--mesonbuild/modules/i18n.py4
-rw-r--r--mesonbuild/modules/pkgconfig.py7
-rw-r--r--mesonbuild/modules/python.py5
-rw-r--r--mesonbuild/modules/qt.py4
-rw-r--r--mesonbuild/modules/unstable_icestorm.py2
-rw-r--r--mesonbuild/modules/unstable_simd.py3
7 files changed, 29 insertions, 5 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index ea8ff3f..0c5da17 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -30,7 +30,7 @@ from . import ExtensionModule
from . import ModuleReturnValue
from ..mesonlib import MesonException, OrderedSet, Popen_safe, extract_as_list
from ..dependencies import Dependency, PkgConfigDependency, InternalDependency
-from ..interpreterbase import noKwargs, permittedKwargs
+from ..interpreterbase import noKwargs, permittedKwargs, FeatureNew, FeatureNewKwargs
# gresource compilation is broken due to the way
# the resource compiler and Ninja clash about it
@@ -95,6 +95,7 @@ class GnomeModule(ExtensionModule):
mlog.bold('https://github.com/mesonbuild/meson/issues/1387'))
gdbuswarning_printed = True
+ @FeatureNewKwargs('gnome.compile_resources', '0.37.0', ['gresource_bundle', 'export', 'install_header'])
@permittedKwargs({'source_dir', 'c_name', 'dependencies', 'export', 'gresource_bundle', 'install_header',
'install', 'install_dir', 'extra_args', 'build_by_default'})
def compile_resources(self, state, args, kwargs):
@@ -384,6 +385,7 @@ class GnomeModule(ExtensionModule):
ldflags = fixed_ldflags
return cflags, ldflags, gi_includes
+ @FeatureNewKwargs('build target', '0.40.0', ['build_by_default'])
@permittedKwargs({'sources', 'nsversion', 'namespace', 'symbol_prefix', 'identifier_prefix',
'export_packages', 'includes', 'dependencies', 'link_with', 'include_directories',
'install', 'install_dir_gir', 'install_dir_typelib', 'extra_args',
@@ -635,6 +637,7 @@ class GnomeModule(ExtensionModule):
rv = [scan_target, typelib_target]
return ModuleReturnValue(rv, rv)
+ @FeatureNewKwargs('build target', '0.40.0', ['build_by_default'])
@permittedKwargs({'build_by_default', 'depend_files'})
def compile_schemas(self, state, args, kwargs):
if args:
@@ -721,6 +724,7 @@ This will become a hard error in the future.''')
rv = [inscript, pottarget, potarget]
return ModuleReturnValue(None, rv)
+ @FeatureNewKwargs('gnome.gtkdoc', '0.37.0', ['namespace', 'mode'])
@permittedKwargs({'main_xml', 'main_sgml', 'src_dir', 'dependencies', 'install',
'install_dir', 'scan_args', 'scanobjs_args', 'gobject_typesfile',
'fixxref_args', 'html_args', 'html_assets', 'content_files',
@@ -875,6 +879,8 @@ 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'})
def gdbus_codegen(self, state, args, kwargs):
@@ -1090,6 +1096,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/i18n.py b/mesonbuild/modules/i18n.py
index 4281200..b44fbea 100644
--- a/mesonbuild/modules/i18n.py
+++ b/mesonbuild/modules/i18n.py
@@ -19,7 +19,7 @@ from .. import coredata, mesonlib, build
from ..mesonlib import MesonException
from . import ModuleReturnValue
from . import ExtensionModule
-from ..interpreterbase import permittedKwargs
+from ..interpreterbase import permittedKwargs, FeatureNew, FeatureNewKwargs
PRESET_ARGS = {
'glib': [
@@ -55,6 +55,7 @@ class I18nModule(ExtensionModule):
src_dir = path.join(state.environment.get_source_dir(), state.subdir)
return [path.join(src_dir, d) for d in dirs]
+ @FeatureNew('i18n.merge_file', '0.37.0')
@permittedKwargs({'languages', 'data_dirs', 'preset', 'args', 'po_dir', 'type',
'input', 'output', 'install', 'install_dir'})
def merge_file(self, state, args, kwargs):
@@ -82,6 +83,7 @@ class I18nModule(ExtensionModule):
ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, state.subproject, kwargs)
return ModuleReturnValue(ct, [ct])
+ @FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset'])
@permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install'})
def gettext(self, state, args, kwargs):
if len(args) != 1:
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index 365d3cd..68c2dc5 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, FeatureNew, FeatureNewKwargs
class DependenciesHelper:
def __init__(self, name):
@@ -304,16 +304,21 @@ 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',
'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
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 a705109..b30a1e6 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'
diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py
index 39c65ed..ccf0930 100644
--- a/mesonbuild/modules/qt.py
+++ b/mesonbuild/modules/qt.py
@@ -19,7 +19,7 @@ from ..mesonlib import MesonException, Popen_safe, extract_as_list, File
from ..dependencies import Qt4Dependency, Qt5Dependency
import xml.etree.ElementTree as ET
from . import ModuleReturnValue, get_include_args
-from ..interpreterbase import permittedKwargs
+from ..interpreterbase import permittedKwargs, FeatureNewKwargs
_QT_DEPS_LUT = {
4: Qt4Dependency,
@@ -116,6 +116,7 @@ class QtBaseModule:
except Exception:
return []
+ @FeatureNewKwargs('qt.preprocess', '0.44.0', ['moc_extra_arguments'])
@permittedKwargs({'moc_headers', 'moc_sources', 'moc_extra_arguments', 'include_directories', 'ui_files', 'qresources', 'method'})
def preprocess(self, state, args, kwargs):
rcc_files, ui_files, moc_headers, moc_sources, moc_extra_arguments, sources, include_directories \
@@ -181,6 +182,7 @@ class QtBaseModule:
sources.append(moc_output)
return ModuleReturnValue(sources, sources)
+ @FeatureNewKwargs('build target', '0.40.0', ['build_by_default'])
@permittedKwargs({'ts_files', 'install', 'install_dir', 'build_by_default', 'method'})
def compile_translations(self, state, args, kwargs):
ts_files, install_dir = extract_as_list(kwargs, 'ts_files', 'install_dir', pop=True)
diff --git a/mesonbuild/modules/unstable_icestorm.py b/mesonbuild/modules/unstable_icestorm.py
index bf06314..051dc5f 100644
--- a/mesonbuild/modules/unstable_icestorm.py
+++ b/mesonbuild/modules/unstable_icestorm.py
@@ -14,11 +14,13 @@
from .. import mesonlib
from ..interpreterbase import flatten
+from ..interpreterbase import FeatureNew
from . import ExtensionModule
class IceStormModule(ExtensionModule):
+ @FeatureNew('FPGA/Icestorm Module', '0.45.0')
def __init__(self, interpreter):
super().__init__(interpreter)
self.snippets.add('project')
diff --git a/mesonbuild/modules/unstable_simd.py b/mesonbuild/modules/unstable_simd.py
index c41e96c..b64242a 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')