aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2020-12-27mtest: improve colorizationPaolo Bonzini1-10/+14
Instead of colorizing the whole status line, only colorize the word representing the outcome of the test (SKIP, OK, FAIL, etc.). This is less intrusive, so the patch also does the following changes: - colorize OK and EXPECTEDFAIL, respectively as green and yellow - colorize the summary of failures as well. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-27mtest: store TestRuns in collected_failuresPaolo Bonzini1-13/+24
Instead of storing the string, store the whole TestRun. In the next patches we'll use this to colorize the summary of failures, and to allow a few more simplifications. There is some code duplication between the console and logfile code, but it won't matter as soon as console and logfile output will be in two completely separate classes. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-27mtest: add test methods to TestResultPaolo Bonzini1-7/+11
Keep the list of "ok" and "bad" statuses close to the definition of the enum. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-27mtest: move test_count and name_max_len to TestHarness classPaolo Bonzini1-9/+10
Avoid passing them around as parameters; this will be useful when logging is moved out of TestHarness, because individual loggers will call back into TestHarness to do common formatting chores. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-27mtest: add name and number to TestRunPaolo Bonzini1-23/+33
Place in TestRun everything that is needed in order to format the result. This avoids passing around the number and visible test name as arguments. Test numbers are assigned the first time they are used. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-27mtest: create TestRun object early onPaolo Bonzini1-47/+52
This will provide a way to pass more information from the TestHarness local variables to the SingleTestRunner and use them outside the run_test function. For example, the name could be used to report progress while the tests are running. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-25Extend the C++ module scanner to handle Fortran, too.Jussi Pakkanen2-54/+177
2020-12-22mdist: Print file path at the end of run() instead of in create_hash().Aman Verma1-1/+1
2020-12-22mdist: Ensure correct format for sha256sum.Aman Verma1-1/+3
We conform to the format described at <https://www.gnu.org/software/coreutils/manual/html_node/md5sum-invocation.html>. and compatible with busybox and Perl's shasum utility.
2020-12-22depfixer: split new rpath into multiple entries for dedup comparisonsAlan Coopersmith1-1/+1
Fixes: #8115 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2020-12-22linkers: add rpath_dirs_to_remove support to SolarisDynamicLinkerAlan Coopersmith1-1/+6
Applies the changes made to GnuLikeDynamicLinkerMixin by commit d7235c5905fa98207d90f3ad34bf590493498d5b to SolarisDynamicLinker This makes test_build_rpath pass with the Solaris linker, where before this change it failed with: New rpath must not be longer than the old one. Old: $ORIGIN/sub:/foo/bar New: /baz:$ORIGIN/sub:/foo/bar FAILED: meson-install Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2020-12-17environment.py: Detect all mips* architectures (#8108)Persian Prince1-3/+9
* environment.py: Detect all mips* architectures We have more than those values, like: mipsel mipsel-nf mips32el mips33el-nf mipsisa32r6 mipsisa32r6el So lets just detect them all. Sorry I forgot about 64bit and closed https://github.com/mesonbuild/meson/pull/8106 But now it even detects: mipsisa64r6 mipsisa64r6el * Make dcbaker happy
2020-12-16cmake: Revert to using self.for_machine instead of MachineChoice.BUILD ↵Daniel Mensinger2-2/+4
(fixes #8028)
2020-12-16Merge pull request #8103 from dcbaker/submit/module-typing-cleanupsJussi Pakkanen2-77/+156
Fix some layering violations and add some type annotations in the interpreter
2020-12-16mlog: make mlog helper take once keyword argumentDylan Baker1-5/+10
We really want to have this in the log method as well. Fixes: #8002
2020-12-16build/interpreter: Add some type annotationsDylan Baker2-9/+11
2020-12-16interpreter: Use a typing.NamedTuple instead of collections.namedtupleDylan Baker1-6/+34
The former can hold type annotations, unlike the other. It also uses the class syntax, which is easier to read.
2020-12-16build: Use python 3.6 annotation syntax for Build initializerDylan Baker1-10/+10
2020-12-16build: Add annotation for Build.dataDylan Baker1-1/+1
2020-12-16build/interpreter: fix layering violations for ManPagesDylan Baker2-28/+44
Like `install_headers`, `install_man` used the same objects for both the interpreter and the build, this is bad. Let's have two separate objects.
2020-12-16build/interpreter: split representation of HeadersDylan Baker2-24/+57
This was all layering violations before. Now we have Headers in the build module, and a holder in the interpreter. All of the type validation is done in interpreter method for `install_headers`.
2020-12-15Merge pull request #7902 from bonzini/mtest-build-depends-onlyJussi Pakkanen3-29/+74
mtest: only build what is needed for the tests
2020-12-15Fix the subsystem options for lld in mingw modeMartin Storsjö1-15/+12
lld in gnu like mode (e.g. for mingw) needs these options in the same for as gnu ld, thus remove the lld specific code bit and move the code for gnu like options into GnuLikeDynamicLinkerMixin. This unbreaks linking with lld for mingw targets after 2fb4d1f7512a4ec125883fd65115ab33a5b06b6f.
2020-12-14Less restrictive get_win_subsystem_args implementationsLaurin-Luis Lehning1-6/+12
2020-12-14Propagate Windows target checks upLaurin-Luis Lehning5-37/+26
2020-12-14Give get_gui_app_args access to the EnvironmentLaurin-Luis Lehning4-8/+9
2020-12-14Slight consistency changes to get_gui_app_argsLaurin-Luis Lehning3-9/+12
2020-12-14Oversight in VisualStudioLikeLinkerMixinLaurin-Luis Lehning1-1/+1
2020-12-14Give get_win_subsystem_args access to envLaurin-Luis Lehning3-6/+6
2020-12-14Make win_subsystem a linker propertyLaurin-Luis Lehning5-28/+35
2020-12-14Merge pull request #8013 from mesonbuild/cppmodulesJussi Pakkanen4-10/+209
C++ module support
2020-12-14mtest: only build what is needed for the testsPaolo Bonzini2-12/+44
It is a usual workflow to fix something and retest to see if it is fixed using a particular test. When tests start to become numerous, it becomes time consuming for "meson test" to relink all of them (and in fact rebuild the whole project) where the user has already specified the tests they want to run, as well as the tests' dependencies. Teach meson to be smart and only build what is needed for the test (or suite) that were specified. Fixes: #7473 Related: #7830
2020-12-14mintro: export functions to load the meson-info filesPaolo Bonzini1-17/+30
With the next patch, "meson test" will be using the targets introspection information. Provide helper functions to share bits of code between mintro.py and mtest.py.
2020-12-13Add support for driving lld-link indirectly through clang on WindowsLaurin-Luis Lehning3-2/+20
2020-12-13Support native tests in crossbuildOleg B1-1/+1
2020-12-13Add mypy annotations.Jussi Pakkanen2-12/+14
2020-12-13Scan all C++ sources and ignore everything else.Jussi Pakkanen3-5/+39
2020-12-13C++ module compilation works for a simple project.Jussi Pakkanen2-5/+108
2020-12-13Add VCS ignore files to build dir on creation. Closes #6509.Jussi Pakkanen1-0/+19
2020-12-12Generate dependency scanning hooks in the Ninja file.Jussi Pakkanen1-9/+45
2020-12-11Create unit test for C++ modules and accept ixx as C++ source extension.Jussi Pakkanen1-1/+1
2020-12-11Generate scanning rules for C++ modules.Jussi Pakkanen1-0/+24
2020-12-10compilers: add support for c++20/gnu++20Florian Schmaus1-4/+7
Fixes #8084.
2020-12-10Respect MESON_INSTALL_QUIET in gettext.pyDaan De Meyer1-1/+2
Fixes #8068.
2020-12-10pkgconfig: Respect variable ordering when passed as listXavier Claessens1-1/+1
This fix a regression introduced in Meson 0.56.0 when using python 3.5. Also mention in documentation that using a meson dict does not guarantee ordering. Fixes: #8074.
2020-12-10install: don't elevate when using destdirThomas Weißschuh1-1/+1
Previously the destdir was ignored completely when using elevated privileges to install files as pkexec stripped the DESTDIR environment variable. As the destdir is not supposed to require any special privileges anyways, just re-raise the error.
2020-12-07Remove "Found runner: " logging message from meson compileDaan De Meyer1-1/+0
The ninja path is already logged as part of configure. Logging it again every time when using meson compile is overly verbose and doesn't add much value for the user.
2020-12-07msubprojects: Ignore worktrees when checking outNirbheek Chauhan1-1/+1
Otherwise it's not possible to share git subprojects via worktrees when creating a worktree of a git repository that uses meson subprojects. The downside is that the user needs to be careful while adding commits to each tree's index.
2020-12-03Add prelinking support for static libraries.Jussi Pakkanen4-2/+46
2020-11-26Bump Ninja requirement to 1.8.Jussi Pakkanen2-4/+4