Age | Commit message (Collapse) | Author | Files | Lines |
|
This has a bunch of nice features. It obviously centralizes everything,
which is nice. It also means that env is only re-read at `meson --wipe`,
not `meson --reconfigure`. And it's going to allow more cleanups.
|
|
|
|
This is PEP8 convention for a const variable. Also, make the type
Mapping, which doesn't have mutation methods. This means mypy will warn
us if someone tries to change this.
|
|
This patches takes the options work to it's logical conclusion: A single
flat dictionary of OptionKey: UserOptions. This allows us to simplify a
large number of cases, as we don't need to check if an option is in this
dict or that one (or any of 5 or 6, actually).
|
|
I would have prefered to do these seperatately, but they are combined in
some cases, so it was much easier to convert them together.
this eliminates the builtins_per_machine dict, as it's duplicated with
the OptionKey's machine parameter.
|
|
There's starting to be a lot of things including coredata that coredata
needs to itself include. putting it in mesonlib makes more sense
|
|
|
|
they're probably not strictly needed, but it makes mypy happy.
|
|
* Implement support of dlang -makedeps switch
Fix #8118
* resolve code review comments
|
|
|
|
|
|
|
|
|
|
|
|
C++ module support
|
|
|
|
|
|
Fixes #8084.
|
|
|
|
Fixes #8023
|
|
Adds TemporaryDirectoryWinProof which calls windows_proof_rmtree() on
error.
Use instead of hacky error handling (which might shadow other OSError)
in Compiler.compile().
|
|
We added the _pathlib module to work around defeciencies in python 3.5's
implementation, since we now rely on 3.6 lets drop this
|
|
This reverts commit 3e6fbde94c1cb8d4e01b7daf0282c315ff0e6c7d.
|
|
A few fixups for rust
|
|
Increase allowed c_std options, and check compiler version.
Also update mlog pattern to not crash.
|
|
|
|
Put the Compiler standard option in the Language mixin
|
|
This allows a wider array of standard support than would be available
directly from clang-cl, emulating MSVC stds.
|
|
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
|
|
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
|
|
|
|
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
|
|
It is much easier to not try to parse options into complicated
structures until we actually collected all options: machine files,
command line, project()'s default_options, environment.
|
|
|
|
|
|
|
|
|
|
Intel C++ Compiler 19.1 has C++20 features.
https://software.intel.com/content/www/us/en/develop/articles/intel-c-compiler-191-for-linux-release-notes-for-intel-parallel-studio-xe-2020.html
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
|
|
|
|
Unlike MSVC and ClangCl it needs to call into it's own compiler check
args
|
|
|
|
|
|
Which is what other languages do.
|