aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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-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.
2020-11-04symbolextractor: Add FreeBSD supportThibault Payet1-0/+20
2020-11-04CI: install pytest pytest-xdist for msys2Christoph Reiter1-1/+1
2020-11-04CI: Port MSYS2 from azure-pipelines to github actionsChristoph Reiter2-73/+86
This uses the msys2/setup-msys2@v2 to set up MSYS2
2020-11-04pkgconfig: Make external deps of static library publicXavier Claessens1-3/+6
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 Schwartz2-2/+3
Fixes #7925
2020-11-04Bare exceptions are no longer allowed [NFC]Luke Drummond2-3/+2
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 Baker1-2/+2
2020-11-03wrap: Fix git exception not catched by interpreterXavier Claessens1-1/+11
This is a regression introduced in Meson 0.56.0, it was fatal error when optional dependencies fails to download their fallback subproject.
2020-11-03vim: Drop backwards compatibility with Vim 5.Aman Verma1-30/+15
2020-11-03Condense test directory names again.Jussi Pakkanen1076-74/+74
2020-11-01Fix #5492 (#7919)Elliot2-7/+21
* fix 5492 with cleaner code * remove argparse import * replace list(map( with list comprehension * pass str rather than Path to get_cmd_line_file
2020-11-01gnome: Tweak error messageSam Thursfield1-1/+2
It's an easy mistake to do this: gir1 = gnome.generate_gir(...) gir2 = gnome.generate_gir(... includes: ['GObject-2.0', gir1]) This fails with an error: ERROR: Gir includes must be str, GirTarget, or list of them. The issue is that the 'gir1[0]' should be passed instead of 'gir1'. To make the problem slightly clearly, tweak the error message to be: ERROR: Gir includes must be str, GirTarget, or list of them. Got TypelibTarget.
2020-11-01interpreter: store correct files for project regenerationDylan Baker6-6/+46
Right now sub-sub projects are not correctly registered, because we don't have a way to pass up past the first level of subproject. This patch changes that by making the build_Def_files as defined in the Interpreter initializer accurate for translated dependencies, ie, cmake dependencies won't define a dependency on a non-existent meson.build. This means that it can always add the subi.build_def_files because they are always accurate.
2020-10-30qt: dependency: Strip tool versions from newlinesLaurent Pinchart1-1/+1
When finding the Qt compilation tools (moc, uic, rcc, lrelease), the version strings contain a trailing newline character. This results in a stray newline in the meson log: Detecting Qt5 tools Program /usr/lib64/qt5/bin/moc found: YES 5.14.2 (/usr/lib64/qt5/bin/moc) Program /usr/lib64/qt5/bin/uic found: YES 5.14.2 (/usr/lib64/qt5/bin/uic) Program /usr/lib64/qt5/bin/rcc found: YES 5.14.2 (/usr/lib64/qt5/bin/rcc) Program /usr/lib64/qt5/bin/lrelease found: YES 5.14.2 (/usr/lib64/qt5/bin/lrelease) Strip the version to avoid this, resulting in a cleaner log: Detecting Qt5 tools Program /usr/lib64/qt5/bin/moc found: YES 5.14.2 (/usr/lib64/qt5/bin/moc) Program /usr/lib64/qt5/bin/uic found: YES 5.14.2 (/usr/lib64/qt5/bin/uic) Program /usr/lib64/qt5/bin/rcc found: YES 5.14.2 (/usr/lib64/qt5/bin/rcc) Program /usr/lib64/qt5/bin/lrelease found: YES 5.14.2 (/usr/lib64/qt5/bin/lrelease) Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2020-10-30setup.cfg: Add pytest discovery argsDylan Baker1-0/+3
We have a single giant file for our tests, but a number of files that match pytest's default discovery globs. To fix that, let's tell pytest what to do. This means you can just `pytest` and get the right results. It also helps IDE's like vscode correctly identify tests.
2020-10-30Bump minimum supported Python version to 3.6. Closes #6297.Jussi Pakkanen5-37/+11
2020-10-30Bump version number for new development.Jussi Pakkanen1-1/+1
2020-10-30Bump version number for release. This is the 10 000th commit!0.56.0Jussi Pakkanen30-324/+359
2020-10-30environment: Fix detection of swift linkerDylan Baker1-2/+2
Apparently in some cases swift prints to stderr instead of stdout
2020-10-28Fix gtest invoking while workdir is set (#7904)Sergey Kartashev1-3/+3
* Fix gtest invoking while workdir is set * Fix gtest invoking when workdir is not set * Code style fix Co-authored-by: Sergey Kartashev <kartashev.sv@mipt.ru>
2020-10-26Update version number to rc2.0.56.0.rc2Jussi Pakkanen1-1/+1
2020-10-24cmake: set CMP0054 to new in preload.cmakeDaniel Mensinger2-1/+11
https://cmake.org/cmake/help/latest/policy/CMP0054.html
2020-10-24cmake: Disable the new (CMake 3.16) PCH supportDaniel Mensinger6-2/+40
Subprojects that use the CMake PCH feature will cause compilation/linker errors. The CMake PCH support should thus be disabled until this can be properly translated to meson.
2020-10-24cmake: Always create missing includes in build dirDaniel Mensinger1-4/+1
There really isn't any reason to not always create missing include directories inside the build dir. Just restricting this to generate generated sources should work in an ideal world, however, there exists lots of suboptimal CMake code where this assumption is not always true.
2020-10-22depenencies/llvm: Handle llvm-config --shared-mode failing (#7379)Dylan Baker5-40/+68
* depenencies/llvm: Handle llvm-config --shared-mode failing Fixes: #7371 Fixes: #7878 * test cases/llvm: Refactor to use test.json Instead of trying to cover everything internally
2020-10-22Syntax.md: Fix variable used in substring exampleDanilo Spinella1-2/+2
2020-10-22pkgconfig: Define libdir and includedir in -uninstalled.pc filesXavier Claessens1-6/+5
This fixes glib-2.0-uninstalled.pc file. GLib does `extra_cflags : ['-I${libdir}/glib-2.0/include']` because some of its headers gets installed there. But when used uninstalled that path makes no sense and pkg-config aborts because ${libdir} is not defined. This cannot be worked around by GLib because Meson does not allow setting different `extra_cflags` for -uninstalled.pc, and does not allow setting libdir in `uninstalled_variables`.
2020-10-19interpreter: Add missing new feature flag for executable(win_subsystem)Dylan Baker1-1/+2
I noticed this when reviewing #7872
2020-10-19fix markdown issuePaolo Bonzini1-1/+1
2020-10-19switch gui_app deprecation to FeatureDeprecatedKwargsPaolo Bonzini2-1/+1
The deprecation message for "gui_app" is appearing for every target rather than just once, and even if the required version is older than 0.56.0. Use @FeatureDeprecatedKwargs to fix both issues.
2020-10-19fix typo "machintosh" -> "macintosh"Ken Cunningham1-1/+1
fixes machine detection for power macintosh systems
2020-10-19Bump version number for rc1.0.56.0.rc1Jussi Pakkanen2-3/+3
2020-10-19Remove a status message that leaks to stdout.Jussi Pakkanen1-1/+3
2020-10-19In text, betterer grammer usings.Jussi Pakkanen4-4/+4
2020-10-19Add delays to test for timestamp issues on mac.Jussi Pakkanen1-0/+12
2020-10-18build: use PIE objects for static libraries if b_staticpic=false but b_pie=truePaolo Bonzini2-8/+12
If static_library is used as a convenience library (e.g. for link_whole) it should in principle not need position independent code. However, if the executables that the libraries is linked to are PIE, the non-PIC objects in the static library will cause linker errors. To avoid this, obey b_pie for static libraries if either b_staticpic=false or they use "pic: false". Without this patch, QEMU cannot use b_staticpic, which causes a slowdown on some QEMU benchmarks up to 20%.
2020-10-17Fix gnome.compile_resources() when glib is a subprojectXavier Claessens2-34/+39
When glib is a subproject we should use glib-compile-resources it overrides using find_program() in the case it is not installed on the build machine. With old glib version we have to run glib-compile-resources at configure time to generate the list of dependencies, but not when glib is recent enough.