aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-11-14Add prelinking support for static libraries.prelinkJussi Pakkanen15-2/+144
2020-11-14Add doc on how to add the [provide] entry to wrapdb entries. [skip ci]Jussi Pakkanen1-41/+69
2020-11-14Merge pull request #7843 from dcbaker/submit/rustc-fixesJussi Pakkanen6-52/+89
A few fixups for rust
2020-11-13Merge pull request #7967 from jpark37/msvc-c17Dylan Baker2-9/+20
msvc: enable /std:c17 flag
2020-11-13msvc: enable /std:c17 flagjpark371-8/+19
Increase allowed c_std options, and check compiler version. Also update mlog pattern to not crash.
2020-11-13Use c99 instead of c11 for buildoptions testjpark371-1/+1
Older verisons of MSVC do not support C11 properly.
2020-11-13environment: Fix detection of rust compilers, moreDylan Baker2-12/+29
2020-11-13compilers/rust: warn about setting -C linker in your compiler argsDylan Baker1-0/+7
2020-11-13compilers/rust: add and use an implementation of use_linker_argsDylan Baker2-7/+11
2020-11-13run_unittests: use textwrap.dedentDylan Baker3-28/+34
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 Baker1-2/+3
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 Baker1-7/+9
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 Pakkanen4-170/+123
Put the Compiler standard option in the Language mixin
2020-11-13ninjabackend: fix matching of empty stringsAlexander Neumann1-1/+1
closes #7977
2020-11-13Do not warn when -Wpedantic is added as a project argument.Eli Schwartz1-1/+5
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 Thursfield11-5/+387
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 Pakkanen1-0/+2
2020-11-12clang-cl: Allow clang-cl (when compiling C) to pass std to underlying clang)Dylan Baker1-34/+33
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 Schwartz1-1/+1
2020-11-12interpreter: Add get_keys function for configuration_data (#7887)Jones4-0/+16
2020-11-12Merge pull request #7961 from dcbaker/submit/rust-color-outputJussi Pakkanen2-3/+18
Add color output support to rust
2020-11-12Merge pull request #7965 from dcbaker/wip/2020-11/macos-github-actionsJussi Pakkanen12-135/+133
Migrate osx CI from travis to github actions
2020-11-12dependencies: Put pkgconfig options before operandsHaelwenn (lanodan) Monnier3-5/+9
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 Baker1-1/+13
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 Baker3-152/+71
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 Baker3-16/+16
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 Baker1-0/+19
2020-11-12Make MSVC accept gnu11 as a language standard version. Closes: #7611.Jussi Pakkanen1-3/+7
Fixes: #7611
2020-11-11CI: combine macos and ci_frameworks actionsDylan Baker2-86/+25
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 Baker3-48/+15
We're now running this through github actions, no need for travis.
2020-11-11actions: Add project tests actions for macosDylan Baker1-0/+25
2020-11-11actions: Add unittests for macosDylan Baker2-0/+36
2020-11-11tests/rust: dynamic linking doesn't work on darwinDylan Baker2-0/+8
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 Baker2-0/+8
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 Baker1-0/+2
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 Baker1-0/+5
2020-11-10workflows: be more conservative about launching msysDylan Baker1-1/+9
we don't want to lanuch it if we're only modifying a different workflow template.
2020-11-10compilers/rust: Add color outputDylan Baker1-1/+7
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 Baker1-2/+5
2020-11-10compilers/rust: Add vs_crt supportDylan Baker1-0/+6
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 Pakkanen1-2/+2
2020-11-08Fix "generator doesn't stop" on WindowsChristoph Reiter1-1/+1
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 Pakkanen7-15/+53
2020-11-07Fix host machine reporting typo in msetup.pyCorey McNeish1-1/+1
2020-11-07Fix clang-tidy return value reporting (#7949)Florian Schmaus1-5/+4
* 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 Weiss2-10/+11
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 Baker6-0/+57
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é Lureau1-10/+10
2020-11-05rewrite: fix function spellingMarc-André Lureau1-3/+3
2020-11-05docs: Fix broken anchor links [skip ci]Johan Bjäreholt1-2/+2
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.