summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-13compilers/rust: add and use an implementation of use_linker_argsDylan Baker
2020-11-13run_unittests: use textwrap.dedentDylan Baker
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.
2020-11-13ninjabackend: Fix a couple of rust bugsDylan Baker
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.
2020-11-13environment: Properly pass linker to rustcDylan Baker
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.
2020-11-13Merge pull request #7866 from dcbaker/submit/compiler-std-in-baseJussi Pakkanen
Put the Compiler standard option in the Language mixin
2020-11-13ninjabackend: fix matching of empty stringsAlexander Neumann
closes #7977
2020-11-13Do not warn when -Wpedantic is added as a project argument.Eli Schwartz
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.
2020-11-13gnome: Handle libraries that are not in the current build dirSam Thursfield
The generate_gir() function previously assumed all library inputs were in the current build dir. This would fail if they weren't.
2020-11-13The version kwarg must be a string. Closes #7975.Jussi Pakkanen
2020-11-12clang-cl: Allow clang-cl (when compiling C) to pass std to underlying clang)Dylan Baker
This allows a wider array of standard support than would be available directly from clang-cl, emulating MSVC stds.
2020-11-12doc: fix typo [skip ci]Eli Schwartz
2020-11-12interpreter: Add get_keys function for configuration_data (#7887)Jones
2020-11-12Merge pull request #7961 from dcbaker/submit/rust-color-outputJussi Pakkanen
Add color output support to rust
2020-11-12Merge pull request #7965 from dcbaker/wip/2020-11/macos-github-actionsJussi Pakkanen
Migrate osx CI from travis to github actions
2020-11-12dependencies: Put pkgconfig options before operandsHaelwenn (lanodan) Monnier
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
2020-11-12compilers/c: Log that MSVC doesn't support gnu stdsDylan Baker
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.
2020-11-12compilers: define standards in the base language compilerDylan Baker
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.
2020-11-12compilers: Standardize the names of compiler optionsDylan Baker
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
2020-11-12compilers/c: Clang-cl also needs specific handling for standardsDylan Baker
2020-11-12Make MSVC accept gnu11 as a language standard version. Closes: #7611.Jussi Pakkanen
Fixes: #7611
2020-11-11CI: combine macos and ci_frameworks actionsDylan Baker
We're already covering most of the actions through the generic macos actions, but we should keep the qt4 action.
2020-11-11travis: Drop osx supportDylan Baker
We're now running this through github actions, no need for travis.
2020-11-11actions: Add project tests actions for macosDylan Baker
2020-11-11actions: Add unittests for macosDylan Baker
2020-11-11tests/rust: dynamic linking doesn't work on darwinDylan Baker
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.
2020-11-11tests/frameeworks 8/flex: fix undefined functionsDylan Baker
Some compilers don't have explicit errors for undefined functions enabled by default. Apple clang seems to.
2020-11-10tests/28 multiline string: include required headersDylan Baker
we're relying on printf being defined with stdio.h, which happens to work sometimes. It doesn't work with Apple clang though.
2020-11-10unittests: Don't try to set alternative linkers for apple-clangDylan Baker
2020-11-10workflows: be more conservative about launching msysDylan Baker
we don't want to lanuch it if we're only modifying a different workflow template.
2020-11-10compilers/rust: Add color outputDylan Baker
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.
2020-11-10ninjabackend: apply base compile_args to rust targetsDylan Baker
2020-11-10compilers/rust: Add vs_crt supportDylan Baker
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.
2020-11-09Fix WASM thread count option. Closes #7921.Jussi Pakkanen
2020-11-08Fix "generator doesn't stop" on WindowsChristoph Reiter
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
2020-11-08Add thinlto support. Closes #7493.Jussi Pakkanen
2020-11-07Fix host machine reporting typo in msetup.pyCorey McNeish
2020-11-07Fix clang-tidy return value reporting (#7949)Florian Schmaus
* 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()
2020-11-05docs: Recommend to use SPDX license identifiers [skip ci]Michael Weiss
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.
2020-11-05rust: implement support for --editionDylan Baker
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
2020-11-05rewrite: fix modified member spellingMarc-André Lureau
2020-11-05rewrite: fix function spellingMarc-André Lureau
2020-11-05docs: Fix broken anchor links [skip ci]Johan Bjäreholt
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.
2020-11-04symbolextractor: Add FreeBSD supportThibault Payet
2020-11-04CI: install pytest pytest-xdist for msys2Christoph Reiter
2020-11-04CI: Port MSYS2 from azure-pipelines to github actionsChristoph Reiter
This uses the msys2/setup-msys2@v2 to set up MSYS2
2020-11-04pkgconfig: Make external deps of static library publicXavier Claessens
This fix a regression caused by https://github.com/mesonbuild/meson/pull/7837, it wanted to make InternalDependency's external_deps private but has side effect of making StatisLibrary's external_deps private too. It is technically correct to make them private, but Meson used to make StaticLibrary deps public so they are usable without `pkg-config --static` when we know there is only a static library available. Fixes: #7929.
2020-11-04qt module: fix error message typo, translation qresource accepts qm not tsEli Schwartz
Fixes #7925
2020-11-04Bare exceptions are no longer allowed [NFC]Luke Drummond
The last instances of try: ... except: ... were removed in bf98ffca. The sideci.yml file was updated, but the flake8 config still allows this. Ensure that flake8 tests fail if this questionable construct appears again.
2020-11-03wrap: fix type annotationsDylan Baker
2020-11-03wrap: Fix git exception not catched by interpreterXavier Claessens
This is a regression introduced in Meson 0.56.0, it was fatal error when optional dependencies fails to download their fallback subproject.