| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
See the docs/ changes for details.
|
| | |
|
| |\
| |
| | |
Dependency.get_variable method
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |
| | | |
coredata: add pkg_config_path to depedency cache key
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
The actual data is in Coredata (which is serialized) and we just held a
reference in Build for (in)convenience.
|
| |/ /
| |
| |
| |
| |
| |
| |
| | |
It doesn't make much sense to have this and not also have
cross-compilers (so any use of this is already pretty suspect as
probably wrong when cross-compiling).
This information is accessible anyhow via environment.coredata.
|
| |\ \
| | |
| | | |
Mtest annotations and bug fixes
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This function is currently setup with keyword arguments defaulting to
None. However, it is never called without passing all of it's arguments
explicitly, and only one of it's arguments would actually be valid as
None. So just drop that, and make them all positional. And annotate
them.
|
| | |/
| |
| |
| | |
This is needed for mtest, in a round about way through backends
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Meson itself *almost* only cares about the build and host platforms. The
exception is it takes a `target_machine` in the cross file and exposes
it to the user; but it doesn't do anything else with it. It's therefore
overkill to put target in `PerMachine` and `MachineChoice`. Instead, we
make a `PerThreeMachine` only for the machine infos.
Additionally fix a few other things that were bugging me in the process:
- Get rid of `MachineInfos` class. Since `envconfig.py` was created, it
has no methods that couldn't just got on `PerMachine`
- Make `default_missing` and `miss_defaulting` work functionally. That
means we can just locally bind rather than bind as class vars the
"unfrozen" configuration. This helps prevent bugs where one forgets
to freeze a configuration.
|
| |/
|
|
|
|
|
| |
This avoids the duplication where the option is stored in a dict at its
name, and also contains its own name. In general, the maxim in
programming is things shouldn't know their own name, so removed the name
field just leaving the option's position in the dictionary as its name.
|
| | |
|
| |
|
|
|
|
| |
* Failing test case for trying to install_data a custom_target
* Validate install_data() arguments are either string or file
|
| |\
| |
| | |
Cache compilers.compile() in coredata
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |
| | | |
Added flake8 plugins and some code fixes
|
| | | | |
|
| | | | |
|
| | |/ |
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This isn't safe given the way python implements default arguments.
Basically python store a reference to the instance it was passed, and
then if that argument is not provided it uses the default. That means
that two calls to the same function get the same instance, if one of
them mutates that instance every subsequent call that gets the default
will receive the mutated instance. The idiom to this in python is to use
None and replace the None,
def in(value: str, container: Optional[List[str]]) -> boolean:
return src in (container or [])
if there is no chance of mutation it's less code to use or and take
advantage of None being falsy. If you may want to mutate the value
passed in you need a ternary (this example is stupid):
def add(value: str, container: Optional[List[str]]) -> None:
container = container if container is not None else []
container.append(value)
I've used or everywhere I'm sure that the value will not be mutated by
the function and erred toward caution by using ternaries for the rest.
|
| |\
| |
| | |
Add a report of compilers used to run_project_tests.py
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Also add a test for it so we don't regress this in the future.
Closes https://github.com/mesonbuild/meson/issues/5281
|
| |/
|
|
|
|
|
|
| |
Warn when someone tries to use append() or prepend() on an env var
which already has an operation set on it. People seem to think that
multiple append/prepend operations stack, but they don't.
Closes https://github.com/mesonbuild/meson/issues/5087
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we can avoid writing code like:
a = c[0]
b = c[1]
by using:
a, b = c
or
a = c[0]
b = c[1:]
by using:
a, *b = c
This saves just a bit of code and is a teeny bit faster. But mostly
for less code
|
| |
|
|
|
|
| |
Currently this is implemented as range(min(len(a), len(b)), an then
indexing into a and b to get what we actually want. Fortunately python
provides a function called zip that just does this.
|
| | |
|
| |
|
|
|
|
| |
This missing in 0821462ce382541e120d8d6cfc1a3224a492b275
See #4430
|
| |
|
|
|
|
| |
On Windows, program on a different drive than srcdir won't have
an expressible relative path; cmd_path will be absolute instead and
shouldn't get added into build_def_files.
|
| |
|
|
| |
Also, specify what the replacement is.
|
| | |
|