aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-10-04 22:19:07 +0300
committerGitHub <noreply@github.com>2021-10-04 22:19:07 +0300
commit2d65472c725f18b343aee00bf91b9ac98c08b95f (patch)
tree530a0d6ffee4ee96e875302cbeba660c93056d41 /mesonbuild
parent75dd9fb67f793c687fa45744f3b276e35c87ca09 (diff)
parentb672ebca886dd6dc9b0f775eb769764750fd302c (diff)
downloadmeson-2d65472c725f18b343aee00bf91b9ac98c08b95f.zip
meson-2d65472c725f18b343aee00bf91b9ac98c08b95f.tar.gz
meson-2d65472c725f18b343aee00bf91b9ac98c08b95f.tar.bz2
Merge pull request #8960 from mensinda/yamlDoc
Reference Manual 2.0
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/interpreter/compiler.py3
-rw-r--r--mesonbuild/modules/hotdoc.py13
2 files changed, 11 insertions, 5 deletions
diff --git a/mesonbuild/interpreter/compiler.py b/mesonbuild/interpreter/compiler.py
index b76e7f8..70a2d18 100644
--- a/mesonbuild/interpreter/compiler.py
+++ b/mesonbuild/interpreter/compiler.py
@@ -352,7 +352,7 @@ class CompilerHolder(ObjectHolder['Compiler']):
return had
@typed_pos_args('compiler.has_function', str)
- @typed_kwargs('compiler.has_type', *_COMMON_KWS)
+ @typed_kwargs('compiler.has_function', *_COMMON_KWS)
def has_function_method(self, args: T.Tuple[str], kwargs: 'CommonKW') -> bool:
funcname = args[0]
extra_args = self._determine_args(kwargs['no_builtin_args'], kwargs['include_directories'], kwargs['args'])
@@ -645,6 +645,7 @@ class CompilerHolder(ObjectHolder['Compiler']):
@noKwargs
@typed_pos_args('compiler.has_multi_arguments', varargs=str)
+ @FeatureNew('compiler.has_multi_arguments', '0.37.0')
def has_multi_arguments_method(self, args: T.Tuple[T.List[str]], kwargs: 'TYPE_kwargs') -> bool:
return self._has_argument_impl(args[0])
diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py
index 19a1728..609b8da 100644
--- a/mesonbuild/modules/hotdoc.py
+++ b/mesonbuild/modules/hotdoc.py
@@ -110,7 +110,7 @@ class HotdocTargetBuilder:
self.check_extra_arg_type(arg, v)
return
- valid_types = (str, bool, mesonlib.File, build.IncludeDirs, build.CustomTarget, build.BuildTarget)
+ valid_types = (str, bool, mesonlib.File, build.IncludeDirs, build.CustomTarget, build.CustomTargetIndex, build.BuildTarget)
if not isinstance(value, valid_types):
raise InvalidArguments('Argument "{}={}" should be of type: {}.'.format(
arg, value, [t.__name__ for t in valid_types]))
@@ -210,6 +210,8 @@ class HotdocTargetBuilder:
self.add_extension_paths(dep.extra_extension_paths)
elif isinstance(dep, build.CustomTarget) or isinstance(dep, build.BuildTarget):
self._dependencies.append(dep)
+ elif isinstance(dep, build.CustomTargetIndex):
+ self._dependencies.append(dep.target)
return [f.strip('-I') for f in cflags]
@@ -239,9 +241,12 @@ class HotdocTargetBuilder:
cmd.append(os.path.join(self.builddir, arg.get_curdir(), inc_dir))
continue
- elif isinstance(arg, build.CustomTarget) or isinstance(arg, build.BuildTarget):
+ elif isinstance(arg, (build.BuildTarget, build.CustomTarget)):
self._dependencies.append(arg)
arg = self.interpreter.backend.get_target_filename_abs(arg)
+ elif isinstance(arg, build.CustomTargetIndex):
+ self._dependencies.append(arg.target)
+ arg = self.interpreter.backend.get_target_filename_abs(arg)
cmd.append(arg)
@@ -262,7 +267,7 @@ class HotdocTargetBuilder:
res.append(self.ensure_file(val))
return res
- if not isinstance(value, mesonlib.File):
+ if isinstance(value, str):
return mesonlib.File.from_source_file(self.sourcedir, self.subdir, value)
return value
@@ -288,7 +293,7 @@ class HotdocTargetBuilder:
def make_targets(self):
self.check_forbidden_args()
- file_types = (str, mesonlib.File)
+ file_types = (str, mesonlib.File, build.CustomTarget, build.CustomTargetIndex)
self.process_known_arg("--index", file_types, mandatory=True, value_processor=self.ensure_file)
self.process_known_arg("--project-version", str, mandatory=True)
self.process_known_arg("--sitemap", file_types, mandatory=True, value_processor=self.ensure_file)