Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
A few fixups for rust
|
|
msvc: enable /std:c17 flag
|
|
Increase allowed c_std options, and check compiler version.
Also update mlog pattern to not crash.
|
|
Older verisons of MSVC do not support C11 properly.
|
|
|
|
|
|
|
|
So that editors that can fold code (vim, vscode, etc) can correctly fold
functions, instead of getting confused by code that doesn't follow the
current indention. Also, it makes the code easier to read.
|
|
There are two bugs here, first is that we open coded the output args,
instead of using the compiler method. The second is that rust args are
not passed down to the backend invocation.
|
|
rustc is very different than other compilers, in that it doesn't
generate object files, it just creates a final target out of the
intermediate sources. As such, it needs to know about the linker args in
the compiler invocation.
|
|
Put the Compiler standard option in the Language mixin
|
|
closes #7977
|
|
The only way to add it via warning_level is top opt in to -Wextra too.
But this is often not really desirable, since -Wextra is not stable --
it changes its meaning every compiler release, thus mysteriously adding
new warnings. Furthermore, it's not really the same kind of warning -- a
pedantic warning is always correct that your code is wrong, but defines
wrongness as "not per the portable standard". Unlike -Wextra it doesn't
try to judge your code to see if you're doing something that is "often
not what you meant", but is prone to false positives.
Really, we need different *kinds* of warning levels, possibly as an
array -- not just a monotonically increasing number. But since there's
currently nothing flexible enough to specify -Wpedantic without -Wextra,
we will just remove the warning for the former, and let people add it to
their project arguments in peace.
|
|
The generate_gir() function previously assumed all library
inputs were in the current build dir. This would fail if they
weren't.
|
|
|
|
This allows a wider array of standard support than would be available
directly from clang-cl, emulating MSVC stds.
|
|
|
|
|
|
Add color output support to rust
|
|
Migrate osx CI from travis to github actions
|
|
This fixes building with meson when the POSIX behavior of getopt is used, such as when GNU libc is used with POSIXLY_CORRECT=1 defined
|
|
Since the current approach of demoting to the nearest C standard *might*
work, but might not. For projects like Glib that detect which standard
is used and fall back this is fine. For projects like libdrm that only
work with gnu standards, this wont. We're nog tusing a warning because
this shouldn't be fatal if --meson-fatal-warnings is used. Also demote a
similar message in IntelCl from warning to log.
|
|
And then update the choices in each leaf class. This way we don't end up
with another case where we implicitly allow an invalid standard to be
set on a compiler that doesn't have a 'std' setting currently.
|
|
Most options don't use language prefaced options (std vs c_std)
internally, as we don't need that due to namespacing. Let's do that
across the board
|
|
|
|
Fixes: #7611
|
|
We're already covering most of the actions through the generic macos
actions, but we should keep the qt4 action.
|
|
We're now running this through github actions, no need for travis.
|
|
|
|
|
|
This is a bug, and needs to be fixed, but in the short term testing
other rust functionality on darwin is an improvement over testing none.
|
|
Some compilers don't have explicit errors for undefined functions
enabled by default. Apple clang seems to.
|
|
we're relying on printf being defined with stdio.h, which happens to
work sometimes. It doesn't work with Apple clang though.
|
|
|
|
we don't want to lanuch it if we're only modifying a different workflow
template.
|
|
Rust has color output, although it's help doesn't document it. It uses
the same values as cargo (and everything else), auto, never, always.
|
|
|
|
As far as I can Tell, rust just handles this for us (it's always worked
with no special arguments from us). However, since we're going to add
support for base options for rust, we need to add the method.
|
|
|
|
When TemporaryDirectory() cleans up on __exit__ it sometimes throws
OSError noting that the dir isn't empty. This happens after the
first yield in this generator and leads to the exception being handled
which leads to a second yield.
contextlib.contextmanager() fails then since the function it wraps is only
allowed to yield once.
Fix this by not yielding again in the error case.
Fixes #7947
|
|
|
|
|
|
* Fix clang-tidy return value reporting
In case clang-tidy is invoked manually, i.e. if run-clang-tidy(.py) is
not found, Meson would not report the return value. This is caused by
ignoring the return value of manual_clangformat() in clangformat()
within mesonbuild/scripts/clangtidy.py.
Even though only more recent-versions of clang-tidy actually report an
non-zero exit code if errors are found, there is no reason Meson
shouldn't simply report any error codes it received from clang-tidy.
Fixes #7948.
* Rename methods in clangtidy.py from clangformat to clangtidy
For some unknown reason, the method names in clangtidy.py are clangformat()
and manual_clangformat(). This is confusing, as clang-format is not
invoked by them, clang-tidy is. Hence rename those from
{manual_}clangformat() → {manual_}clangtidy()
|
|
Some license identifiers are ambiguous (e.g. "GPL3"). The SPDX license
identifiers avoid this by providing standardized and unique identifiers
(e.g. "GPL-3.0-only" or "GPL-3.0-or-later" for the previous example).
Because SPDX short-form identifiers are also both human- and
machine-readable we should recommend them in the documentation.
More information (advantages, details, etc.) can be found here:
- https://spdx.dev/resources/use/#identifiers
- https://spdx.dev/ids/
Fix #7905.
|
|
Using the std option, so now `rust_std=..` will work. I've chosen to use
"std" even though rust calls these "editions", as meson refers to
language versions as "standards", which makes meson feel more uniform,
and be less surprising.
Fixes: #5100
|
|
|
|
|
|
Apparently anchor links are case-sensitive and needs to be lowercase in hotdoc.
Prior to this change the anchor links were uppercase so the link did not refer to the anchor tag.
Likely that there are more occurrences around the docs than this, have not looked.
|