aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-11-29Do not test aarch64 as the assembly has not been written.asmfixJussi Pakkanen1-1/+1
Originally from Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975411
2020-11-27Add script to create a zipapp.Eli Schwartz3-22/+25
Invoke create_zipapp.py from the root of the repository and it will create a minimal zipapp with only the mesonbuild module code and a __main__.py directly copied from meson.py The meson.py launcher already tracks the desired entry point, and its only other effect is to add the mesonbuild directory to the path if it exists, which it won't in the zipapp. So there's no need to duplicate this into another __main__.py
2020-11-27createmsi: move to generic packaging directoryEli Schwartz2-1/+1
We might want to create other dedicated packaging scripts, and put them all in one directory.
2020-11-26Bump Ninja requirement to 1.8.Jussi Pakkanen3-6/+6
2020-11-25rename .lgtm.yml to reduce top-level directory ls clutterMichael Hirsch, Ph.D1-0/+0
.lgtm.yml is also good filename: https://lgtm.com/help/lgtm/lgtm.yml-configuration-file
2020-11-24compilers/fortran: Add "none" to intel compielrs for standardsDylan Baker1-2/+2
Fixes #8023
2020-11-24compiler: allow non-built internal dependencies as argumentsPaolo Bonzini4-13/+35
Allow methods on the compiler object to receive internal dependencies, as long as they only specify compiler/linker arguments or other dependencies that satisfy the same requirements. This is useful if you're using internal dependencies to add special "-D" flags such as -DNCURSES_WIDECHAR, -D_XOPEN_SOURCE_EXTENDED or -DGLIB_STATIC_COMPILATION.
2020-11-24Merge pull request #7982 from dcbaker/submit/unittest-fixupsJussi Pakkanen1-74/+55
Unittest fixups
2020-11-23add dependency recommendation [skip ci]Michael Brockus1-0/+8
Co-authored-by: Eli Schwartz <eschwartz@archlinux.org>
2020-11-23Remove AutoDeletedDirChristoph Reiter1-16/+4
Replace the only usage with a simple try/finally and remove the class.
2020-11-23Replace various calls to AutoDeletedDir with TemporaryDirectoryWinProofChristoph Reiter1-6/+6
AutoDeletedDir was a workaround to TemporaryDirectory not using windows_proof_rmtree(). TemporaryDirectoryWinProof does now, so replace it.
2020-11-23Add a variant of TemporaryDirectory that uses windows_proof_rmtree()Christoph Reiter2-53/+68
Adds TemporaryDirectoryWinProof which calls windows_proof_rmtree() on error. Use instead of hacky error handling (which might shadow other OSError) in Compiler.compile().
2020-11-22doc: fix confusing use of "build" as a directory argument [skip ci]Eli Schwartz3-9/+9
In most places, we now refer to "builddir/" which is a lot less likely to make people think it is a subcommand which needs to be used literally. This is a regression since commit 276d342ebaf859dd53e145ead3e98e2cebb360ab due to the existence of new docs which were added later on, using the wrong form.
2020-11-23CI: install glib for the MSYS2 jobs to make pkgconf happyChristoph Reiter1-0/+1
Fixes a test when using pkgconf instead of pkg-config. The .pc file in the pkgconfig-gen test requires it and pkgconf seems be stricter here and fails to validate.
2020-11-23CI: fix a typo in the msys2 workflow trigger pathsChristoph Reiter1-2/+2
2020-11-22Merge pull request #8010 from dcbaker/submit/optinterpreter-cleanupsJussi Pakkanen3-36/+58
Opt Interpreter cleanups and type annotations
2020-11-22Merge pull request #8011 from dcbaker/submit/post-python36-cleanupsJussi Pakkanen46-96/+46
Python 3.6 cleanups
2020-11-21Handle cmake dependencies which require a specified versionJason Ekstrand9-5/+56
Some CMake packages fail to find at all if no version is specified. This commit adds a cmake_version parameter to dependency() to allow you to specify the requested version.
2020-11-21run_project_tests: Use the test environment for install and cleanJason Ekstrand1-2/+2
2020-11-21cmVers: use env instead of hardcoding bash locationDylan Baker1-1/+1
2020-11-21envconfig: use debug for "using * from environment variables messagesDylan Baker1-1/+1
These are spammy, and being in the debug log is probably better anyway.
2020-11-20setup.cfg: fix python requires to be 3.6.0Dylan Baker1-1/+1
2020-11-20setup.py: fix check fro 3.5.2 which should be 3.6Dylan Baker1-2/+2
2020-11-20Delete now dead < python 3.6 checkDylan Baker1-1/+1
2020-11-20use real pathlib moduleDylan Baker44-92/+42
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
2020-11-20optinterpreter: organize the validation of arguments to be more readableDylan Baker1-10/+13
2020-11-20optinterpreter: use PEP8 compliant namesDylan Baker1-10/+10
2020-11-20optinterpreter: fix value being set in loopDylan Baker1-1/+1
This value shouldn't be set in the loop, it's probably been making things slow, but also creates the potential that if choices is an empty list that value would be unbound. While that's exteremly unlikly to happen in practice, it is showing up as a warning from pylance.
2020-11-20Add type annotations to optinterpreterDylan Baker2-19/+34
2020-11-20Allow setting attributes in MesonException intializerDylan Baker1-3/+7
Instead of forcing them to be set afterwards
2020-11-20run_unittests: delete test for external syntax highlightingDylan Baker1-46/+0
It's a bit odd we have a test for an external project that's not even in the meson organization. Regardless, the json file was recently replaced by a cson file. There is an coffee-script-notation parser in pypi, but I couldn't get it to work. Just delete the test
2020-11-18unittests: ignore nix rpathsDylan Baker1-5/+12
As a necessity nix adds a bunch of rpaths to files, this is unavoidable do to the way nix package management works. Meson doesn't expect this however, and fails all rpath tests. To correct this we just ignore any rpath entries that start with `/nix`.
2020-11-18Merge pull request #7894 from obilaniu/cudaupdatesJussi Pakkanen3-58/+169
Update unstable CUDA Module to support newest toolkits and drivers.
2020-11-18Merge pull request #7836 from bonzini/mtest-asyncioJussi Pakkanen1-137/+212
[RFC] mtest: use asyncio instead of concurrency.futures
2020-11-18Update Tutorial.md [skip ci]Michael Brockus1-12/+38
2020-11-18Merge pull request #7900 from bonzini/stabilize-hashJussi Pakkanen5-8/+8
Avoid build.ninja changes due to order of hash table iteration
2020-11-18mtest: cleanup and fix print_statsPaolo Bonzini2-14/+12
Avoid calling self.collected_failures.append twice, and avoid inflated indentation by adding a "plain" decorator to mlog. Fixes: ba71fde18 ("mtest: collect failures regardless of colorized console", 2020-10-12)
2020-11-17Revert "Add thinlto support. Closes #7493."Jussi Pakkanen7-53/+15
This reverts commit 3e6fbde94c1cb8d4e01b7daf0282c315ff0e6c7d.
2020-11-17Collect and return clang-format's return codeFlorian Schmaus1-3/+4
There is no reason why meson should swallow any non-zero exit(/return) code of clang-format.
2020-11-17Fix clang-tidy return value reporting (Part â…¡)Florian Schmaus1-1/+1
It turns out my first attempt to fix this in 00d5ef3191e5 ("Fix clang-tidy return value reporting (#7949)") is not sufficient: The local variable returncode is never updated and stays at 0. This fixes the returncode calculation. Fixes: cce172432be3 ("Use run-clang-tidy when available.")
2020-11-17doc: add much-needed accuracy to pip installation instructions [skip ci]Eli Schwartz1-2/+7
- mention installing from local sources, not PyPI - warn against --user installs, which too often screw up users that then cannot install projects because ~/.local won't be in sudo's PYTHONPATH - advise installing with sudo -- current versions of pip assume --user for you rather than failing with permission errors, which is great unless, like meson, there are compelling reasons to need to install as root
2020-11-17gnome: Drop use of volatile in GLib type functionsPhilip Withnall5-17/+17
See https://gitlab.gnome.org/GNOME/glib/-/issues/600 `volatile` was previously mistakenly used in GLib to indicate that a variable was accessed atomically or otherwise multi-threaded. It’s not meant for that, and up to date compilers (like gcc-11) will rightly warn about it. Drop the `volatile` qualifiers. Based on a patch by Jeff Law. See also http://isvolatileusefulwiththreads.in/c/. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-17add warning for projects with manually specified -WerrorEli Schwartz1-0/+3
Point people to the "werror" builtin option.
2020-11-16unittests: Simplify and make test_templates more reliableDylan Baker1-46/+8
env.detect_<lang>_compiler only checks that there is a binary called whatever that returns a version. There are several cases where the found binary doesn't work: 1) gcc for ojbc[pp], when support isn't compiled in. 2) the compiler is broken (rust in appveyor somtimes) Because of that we need to call compiler.sanity_check() as well, and if we get an EnvironmentException from that skip the language Also, instead of having a long line of try: ... except: pass, roll all of the checking up into a loop using getattr(), which is less code and makes adding a new language easier
2020-11-16run_unittests: correctly handle users setting init.defaultBranchDylan Baker1-2/+18
2020-11-16run_unittests: Don't assume things are in /usr/binDylan Baker1-21/+17
This is generally a safe assumption, except for some of the more exotic OSes/distros like nixos, where env is the only thing in /usr/bin
2020-11-15ninjabackend: stabilize order of dependencies and order-only dependenciesPaolo Bonzini1-2/+2
These do not go into the command line, and therefore do not matter for the purpose of avoiding unnecessary rebuilds after meson is rerun. However, they complicate the task of finding differences between build lines across meson reruns. So take the easy way out and sort everything after | and ||. With this change, there is absolutely no change in QEMU's 40000-line build.ninja file after meson is rerun.
2020-11-15stabilize iteration order for dictionariesPaolo Bonzini1-2/+2
The order of keys in dictionaries cannot be relied upon, because the hash values are randomized by Python. Whenever we iterate on dictionaries and meson.build generates a list during the iteration, the different iteration orders may cause random changes in the command line and cause ninja to rebuild a lot of files unnecessarily.
2020-11-15stabilize sets that are converted to listsPaolo Bonzini3-4/+4
The order of elements in sets cannot be relied upon, because the hash values are randomized by Python. Whenever sets are converted to lists we need to keep their order stable, or random changes in the command line cause ninja to rebuild a lot of files unnecessarily. To stabilize them, use either sort or OrderedSet. Sorting is not always applicable, but it can be faster because it's done in C and it can produce slightly nicer output.
2020-11-15mtest: switch to asyncio subprocessesPaolo Bonzini1-35/+19
No functional change except that the extra thread goes away.