Daniel Mensinger
5dd8171fb3
docs: Use a custom hotdoc extension for links to RefMan
3 years ago
Daniel Mensinger
30435e5197
docs: Remove the old Reference manual
3 years ago
Daniel Mensinger
c10e228371
docs: Fixes found during the YAML conversion process
3 years ago
Daniel Mensinger
de32802ee4
docs: Fix the GitHub action
3 years ago
Daniel Mensinger
7cfe7ccc58
docs: Hook up the new RefMan generator to Meson
3 years ago
Daniel Mensinger
476b93fd74
docs: Added Markdown generator
3 years ago
Daniel Mensinger
955a29a92d
docs: Added pickle generator
3 years ago
Daniel Mensinger
2b482e39a9
docs: Add the YAML Reference manual
3 years ago
Daniel Mensinger
ad65a699f9
docs: Initial reference manual generator
3 years ago
Jussi Pakkanen
3feaea6b29
Improve linker detection failure error message.
3 years ago
Dylan Baker
73dd21036c
rust: dependencies need to cause a rebuild/relink not just reorder
...
Otherwise changes to a dependency don't propogate
3 years ago
Dylan Baker
bd2fcb268b
modules/i18n: Fix remaining mypy spotted issues
3 years ago
Dylan Baker
6399544e4c
modules/i18n: use typed_kwargs for gettext
...
There were two allowed kwargs that were unused, I've dropped them for
now, though I need to check if they were documented. If they are then we
need to deprecate them to remove them, otherwise we'll just leave them
removed.
3 years ago
Dylan Baker
6b1a80024c
modules/i18n: Use typed_kwargs for merge_file
3 years ago
Dylan Baker
61f2866a9f
modules/i18n: use typed_pos_args
3 years ago
Dylan Baker
3bb962975e
interpreter: move some of CustomTarget's args to type_checking
...
As there are so many wrappers that need these as well
3 years ago
Dylan Baker
b923163109
modules/i18n: add easy type annotations
3 years ago
Dylan Baker
57d0d4e95a
modules/i18n: sort and clean up imports
3 years ago
Dylan Baker
c4aa8c2521
modules: make ReturnValue.new_objects covariant
...
Otherwise we have to do a lot of casting to ensure that we get the
appropriate invariant type
3 years ago
Xavier Claessens
4deeb907b6
dependency: Allow searching for multiple names
3 years ago
Christian Clauss
d5b0673079
Fix typos
3 years ago
Dylan Baker
c3c30d4b06
interpreter: Use typed_kwargs for func_custom_target
...
This does not convert the build side, or remove any of the checking it
does. We still need that for other callers of custom target. What we'll
do for those is add an internal interface that defaults things, then
we'll be able to have those callers do their own validation, and the
CustomTarget validation machinary can be removed.
Fixes #9096
3 years ago
Dylan Baker
bb706231bd
build: Prepare CustomTarget.process_kwargs to co-exist
...
We still need this to co-exist as long as there are interfaces for
CustomTarget other than `func_custom_target`, this gets us there.
3 years ago
Dylan Baker
7e417ac0fa
build: Allow `Dict[OptionKey, str` in parse_overrides
...
We really want to move all of this option handling into the interpreter
through the typed_kwargs, this is the first step to that
3 years ago
Dylan Baker
74819dbd2a
interpreter: Allow FileMode to be passed to _get_kwarg_install_mode
...
This will happen as we transition from doing the conversion in the
function body to using the KwargInfo to make that change. If we get one
just return it.
3 years ago
Dylan Baker
3bb6d56dcd
interpreter: move command kwarg to type_checking
3 years ago
Dylan Baker
3374b7c323
interpreter/type_checking: Add DEPEND_FILES_KW
...
since most of the Target classes use this, let's just go ahead and add
it here instead of moving it later
3 years ago
Dylan Baker
a3e63a4269
interpreter: move KwargInfo('depends') to type_checking
3 years ago
Dylan Baker
16986f1853
interpreter: DEPFILE_KW should be Optional[str]
3 years ago
Dylan Baker
0f6d6c914a
interpreter: remove duplicate permittedKwargs
...
func_generator already has typed_kwargs, it doesn't need both.
3 years ago
Dylan Baker
d9c32f32d1
interpreter: move DEPFILE_KW to type_checkingt
3 years ago
Dylan Baker
d25349e8cf
build: Use isinstance(other, Target) instead of hasattr
...
In the comparison methods of Target. There are several problems with the
old implementation:
1. It's not idiomatic
2. It can match on things that It shouldn't (like a Compiler, which has
a `get_id() -> str` method, but not one that we should compare with
Targets
3. It confuses mypy, which doesn't handle hasattr
3 years ago
Dylan Baker
d7bb0acbe3
build: Add type annotations to AliasTarget
...
It's just a RunTarget with one default value overriden
3 years ago
Dylan Baker
cb762f29fe
interpreter: use typed_kwargs on func_run_target
3 years ago
Dylan Baker
377c23388f
build: drop unnecissary method from RunTarget
3 years ago
Dylan Baker
0a6fdd4900
build: Fully annotate RunTarget
3 years ago
Dylan Baker
f9b14dc570
build: Add full type annotations to CommandBase
3 years ago
Dylan Baker
c11eb86995
build: add forward delcarations to CommandBase class
...
It would probably be better if CommandBase had an initializer so it
could set the depend_files and dependencies attributes itself, but this
will make mypy happier.
3 years ago
Dylan Baker
d80cfa27c9
build: Add a couple of obvious annotations to RunTarget
3 years ago
Dylan Baker
7e43432a0c
interpreterbase/decorators: KwargIfno validator must take an relaxed type
...
I've used any because it needs to be infinitely recursive, something
that we simply can't model. But basically until it goes into validator
we have no way of knowing what's going on, since one can write code
like:
```python
KwargInfo[str]('arg', object, validator=_some_very_complex_logic_to_get_specific_string)
```
As such, we can't assume that validator is receiving a type _T, it could
be anything.
3 years ago
Xavier Claessens
d2fa6d5080
Make custom_target() name argument optional
3 years ago
makise-homura
e58b3adc70
Fix mypy errors
3 years ago
makise-homura
613c9e26c4
pkgconfig: pkg-configs version<0.29.1 escape variables incorrectly
3 years ago
makise-homura
0021a21930
compilers/elbrus: Deal with C/C++/Fortran stds more correctly
3 years ago
makise-homura
0ed2d2719b
compilers: Select correct clang on e2k for C++ and ObjC++
3 years ago
makise-homura
fe0809360d
compilers: There is clang for e2k (elbrus) platform finally
3 years ago
makise-homura
79f9a2076a
compilers/elbrus: Support prelinking with lcc correctly
3 years ago
makise-homura
d9b379df87
compilers/elbrus: Fix incorrect inheritance model of Elbrus*Compiler
3 years ago
makise-homura
fc3de287cb
unittests: Make qt test work if multiple versions of qt installed
3 years ago
Xavier Claessens
e836076e24
external-project: variables must be dict not list
...
Fixes : #9316
3 years ago