| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
If the compiler check is updated as a string in meson.build, we force
rebuild, which is a good thing since the outcome of that check changes
the configuration context and can enable or disable parts of the build.
If the compiler check came from a files() object then we didn't add a
regen rule on those files.
Fixes #1656
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit a detailed deprecation warning that explains what to do instead.
Also add a unittest.
```
DEPRECATION: target prog links against shared module mymod, which is incorrect.
This will be an error in the future, so please use shared_library() for mymod instead.
If shared_module() was used for mymod because it has references to undefined symbols,
use shared_libary() with `override_options: ['b_lundef=false']` instead.
```
Fixes https://github.com/mesonbuild/meson/issues/9492
|
|
|
|
|
| |
This provides coverage for the bug:
https://github.com/mesonbuild/meson/issues/9542
|
| |
|
|
|
|
|
|
|
| |
This ensures that there is no warnings when running meson on
test cases/common/22 object extraction.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
| |
|
|
|
|
| |
Fixes: #9454
|
|
|
|
| |
Fixes: #9437
|
|
|
|
|
|
|
| |
assertTrue and assertFalse are recommended against, if you can get a
more specific assertion. And sometimes it is considerably shorter, for
example we have a custom assertPathExists which we can take advantage
of.
|
|
|
|
|
| |
Constructing a PackageDefinition is enough to assert that it raises an
error.
|
|
|
|
|
|
|
|
| |
It never made sense here to save self.init() which returns a string
containing a log or stdout or something, and which was never actually
used.
Also we then overwrote the variable with a pathname...
|
|
|
|
|
|
| |
In commit d932cd9fb48e8fecb167641c3d6bee8a68831c6e, we migrated to
meson's own static linker definition, and the old code that hardcoded
two of the possible exelists should have been removed in the process.
|
|
|
|
|
| |
It's redefined on every loop iteration, and as the comment says, we just
want to make sure the next loop skips a value.
|
|
|
|
| |
There was even a test covering this, but it did not fail due to a typo.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since they will never be used outside of the build directory, they do
not need to literally contain the .o files, and references will be
sufficient.
This covers a major use of object libraries, which is that the static
library would potentially take up a lot of space by including another
copy of every .o file.
Fixes #9292
Fixes #8057
Fixes #2129
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All changes were created by running
"pyupgrade --py3-only"
and committing the results. Although this has been performed in the
past, newer versions of pyupgrade can automatically catch more
opportunities, notably list comprehensions can use generators instead,
in the following cases:
- unpacking into function arguments as function(*generator)
- unpacking into assignments of the form x, y = generator
- as the argument to some builtin functions such as min/max/sorted
Also catch a few creeping cases of new code added using older styles.
|
|
|
|
| |
Otherwise changes to a dependency don't propogate
|
| |
|
|\
| |
| | |
Use appropriate compiler for the source file for "links" tests with file argument
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clippy is a compiler wrapper for rust that provides an extra layer of
linting. It's quite popular, but unfortunately doesn't provide the
output of the compiler that it's wrapping in it's output, so we don't
detect that clippy is rustc. This small patch adds a new compiler class
(that is the Rustc class with a different id) and the necessary logic to
detect that clippy is in fact rustc)
Fixes: #8767
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove test_minor_version_does_not_reconfigure_wipe() because when run
during dev cycle that test reconfigure with .99 -> .100 which is
considered a major version change now. It is covered by a more efficient
internal test now anyway.
While at it, remove no-op `with Path(self.builddir):` statement, the
intention was clearly to set workdir.
Fixes: #9260
|
| |
| |
| |
| | |
Fixes: #9263
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Alias commands did not work with the vs backend, due to trying to access
target.command[0] with an empty command. Fix this by just not emitting a
CustomBuild node for alias targets - the project references are enough to
trigger the necessary actions.
Fixes: #9247
|
|/
|
|
|
|
|
| |
This requires a bit of extra code because the version might change, but
otherwise it fits in the existing AllPlatformTests.test_summary testcase
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
| |
Signed-off-by: Filipe LaÃns <lains@riseup.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I have a local configuration
tag.forcesignannotated=true
commit.gpgsign=true
This causes the tests to fail with e.g.
error: gpg failed to sign the data
fatal: failed to write commit object
Since this is a unittest, it is never wrong to tell git "just ignore
prior configuration, and disable all PGP signing".
|
|
|
|
|
|
|
|
|
| |
It is a commonly needed information to help debugging build issues. We
already were printing options with non-default value at the end of the
configure but outside of the summary.
Keeping the list of user defined options in the interpreter will also in
the future be useful to use new default value on reconfigure.
|
|
|
|
|
|
|
| |
A run_target object created in a subdir/meson.build always has a ninja
rule name of "name", not "subdir/name".
Fixes #9175
|
|
|
|
|
|
|
|
| |
We have a lot of these. Some of them are harmless, if unidiomatic, such
as `if (condition)`, others are potentially dangerous `assert(...)`, as
`assert(condtion)` works as expected, but `assert(condition, message)`
will result in an assertion that never triggers, as what you're actually
asserting is `bool(tuple[2])`, which will always be true.
|
| |
|
|
|
|
|
|
|
| |
It should build the fallback subprject with default_library=static and
override the dependency for both static=True and static kwarg not given.
Fixes: #8050.
|
|
|
|
| |
Fixes: #7007.
|
|
|
|
|
| |
This adds a full set of `typed_pos_args` and `typed_kwarg` decorations,
as well as fixing all of the typing errors reported by mypy.
|
|
|
|
|
|
|
| |
and clean up all outstanding issues
Skip 'test cases/common/141 special characters/meson.build' since it
intentionally uses trailing newlines.
|
|
|
|
|
|
|
|
| |
We don't actually want to do anything with the open()ed file, just
immediately close it.
The CalledProcessError doesn't have its return returncode checked
here, even though other code with the same type of context manager does.
|
|
|
|
|
|
| |
In the case main->subp->subsubp, if subsubp succeed to configure but
subp subsequentially fails, subsubp is still being built but its summary
was missing.
|
|
|
|
| |
Fixes: #9065
|
|
|
|
|
|
| |
Gcovr interprets exclude filters, as passed to the -e option, as
regexes. Since we want to exclude a raw path, the argument must be
escaped.
|
|
|
|
|
|
| |
Meson already works like that, except in do_copydir() that requires
absolute destdir. Better explicitly support that instead of leaving it
undefined and unconsistent.
|
|
|