aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-03-24compilers: clang-cl: Also accept .s files (#8520)D Scott Phillips6-5/+32
* compilers: clang-cl: Also accept .s files clang-cl has support for gas-compatible assembly files. * Add clang-cl to '128 generated assembly' test
2021-03-23run_project_tests: add annotationsDylan Baker1-1/+1
2021-03-23run_single_test: Handle MESON_SKIP_TEST correctlyDylan Baker1-3/+3
2021-03-23deprecated QMAKE dependency typeDylan Baker1-1/+4
Instead of using qmake, use config-tool. This is no different than when we deprecated the other per-dependency config-tool types (sdl2-config, llvm-config, etc) for just config-tool
2021-03-23Refactor Qt Dependency into proper split classes with factoriesDylan Baker7-161/+202
Currently the Qt Dependencies still use the old "combined" method for dependencies with multiple ways to be found. This is problematic as it means that `get_variable()` and friends don't work, as the dependency can't implement any of those methods. The correct solution is to make use of multiple Dependency instances, and a factory to tie them together. This does that. To handle QMake, I've leveraged the existing config-tool mechanism, which allows us to save a good deal of code, and use well tested code instead of rolling more of our own code. The one thing this doesn't do, but we probably should, is expose the macOS ExtraFrameworks directly, instead of forcing them to be found through QMake. That is a problem for another series, and someone who cares more about macOS than I do.
2021-03-23run_project_tests.py: Allow qt tests to skip on !macOSDylan Baker1-8/+11
We don't always have qmake installed (and it's good to test failure paths too!) so we can't expect this to succeed in all cases. With the following commit we'll use a test.json to test both pkg-config and qmake, so we need to be able to skip.
2021-03-23interpreter: Fix spurious warning in include_directories()Xavier Claessens4-3/+11
When doing include_directories('.') at the root of the subproject we should not warn about sandboxing violation.
2021-03-23test.json: Add support for not matching stdout linesXavier Claessens1-20/+53
By default expected line must be matched in order. When an expected line is matched it does not matter if it's matched again later or not. When defining "count", it means that line must be matched exactly that many times before matching the next expected line. Once all occurences have been matched for an expected line, it not must appear any more in all next lines.
2021-03-23run_project_tests.py: Allow "--only common/240" syntaxXavier Claessens1-13/+24
2021-03-23devenv: Set GI_TYPELIB_PATH and LD_LIBRARY_PATH (#8548)Xavier Claessens4-9/+46
2021-03-23environment(): Allow stacking append() and prepend() (#8547)Xavier Claessens9-43/+48
* environment(): Allow stacking append() and prepend() * Update docs/markdown/Reference-manual.md Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
2021-03-23Merge pull request #7491 from xclaesse/callstackJussi Pakkanen3-19/+27
RFC: logs: Prepend current subproject name to all messages
2021-03-23Remove -pipe from default list of args. Closes #8508.Jussi Pakkanen4-10/+11
2021-03-22mlog: Do not print 'subproject|' for the message 'Executing subproject'Xavier Claessens2-10/+9
It already contains the full callstack and it's more visible when it's standing on its own line.
2021-03-22interpreter: Do not print "method meson"Xavier Claessens1-1/+5
2021-03-22mlog: Do not print 'subproject|' on empty linesXavier Claessens1-1/+5
2021-03-22mlog: Add a space after 'subproject|'Xavier Claessens2-4/+4
2021-03-22logs: Prepend current subproject name to all messagesXavier Claessens2-12/+13
Meson used to prepend '|' for each nested subproject to distinguish in the logs where a subproject start and ends. It is more useful to print the current subproject name. Also print the call stack when starting a new subproject to better see which subproject chain leads to to.
2021-03-22qt: move compilers_detect to the qt moduleDylan Baker2-55/+60
It's a method on the QtDependeny that exists purely for the consumption of the qt module (in the form, return some stuff the module makes into an instance variable). So put it where it actually belongs, and pass the qt dependency into it.
2021-03-22dependencies/qt: Split _get_modules_lib_suffix out of the classDylan Baker1-29/+32
As we break these classes up we're going to need this.
2021-03-22dependencies/base: Use FeatureDeprecated instead of mlog.warningDylan Baker1-4/+2
This code is really old, and it might be fine to delete this altogether, but for now lets do this.
2021-03-22dependencies/qt: split get_qmake_host_bins into a free functionDylan Baker1-10/+11
It's static anyway, and never overwritten.
2021-03-22dependencies/base: Use Compiler instead of CompilerTypeDylan Baker1-2/+2
Since Compiler is actually useful now as a base class, unlike when this code was written.
2021-03-22dependencies/qt: Add type annotationsDylan Baker2-50/+72
And fix some style and correctness issues
2021-03-23mtest: timeout if the write side of pipes does not closePaolo Bonzini1-11/+39
If a test program forks a child, the pipes might remain open and "await stdo_task"/"await stde_task" will never complete in SingleTestRunner._run_cmd(). Instead, catch them in TestSubprocess.wait() so that the whole process group is killed. Fixes: #8533 Reported-by: Bastien Nocera <hadess@hadess.net>
2021-03-23mtest: remove pointless try/except from try_wait_onePaolo Bonzini1-5/+3
asyncio.wait does not return an asyncio.TimeoutError, so there is no exception to catch.
2021-03-22cmd_line_file.txt: Use cross/native file path resolved by coredataXavier Claessens2-2/+6
This fix issue when using --wipe and the machine file was passed as a pipe and written locally, or when the file was resolved in XDG_DATA_HOME or XDG_DATA_DIRS. Fixes: #8560
2021-03-22dependencies: split qt out of the ui moduleDylan Baker3-422/+451
It's a big enough and complicated enough bit of code that it deserves its own module.
2021-03-21Docs: Fix small typoHRXN1-1/+1
2021-03-19Move OverrideProgram to programsDylan Baker3-7/+8
2021-03-19programs: add type annotationsDylan Baker2-21/+28
2021-03-19split program related classes and functions out of dependenciesDylan Baker30-393/+433
Dependencies is already a large and complicated package without adding programs to the list. This also allows us to untangle a bit of spaghetti that we have.
2021-03-18add test case for installed targets uninstalling a single directoryEli Schwartz4-3/+20
2021-03-18minstall: always track meson-created directoriesEli Schwartz1-5/+1
If a custom_target output is a directory, we install it as a directory, not as a file. And, we try to track subdirectories which are created so uninstalling works. But one directory creation did not go through DirMaker, in the case where the output directory does not have any further subdirectories. Consolidate on makedirs, since I don't see much point in using os.mkdir right here.
2021-03-18Allow add_dist_script() in subprojectsXavier Claessens10-12/+73
Fixes: #8440.
2021-03-18interpreter: Add varname as positional arg in dep.get_variable()Xavier Claessens4-4/+23
2021-03-17Fix D lib search path translationRemi Thebault1-15/+49
This requires quite a complex and messy logic. As @dcbaker suggested in #8491, this could be replaced by an abstraction over linker flags instead of having GNU flags translated.
2021-03-17Warn when grabbing internals of subprojects with include_directories.Jussi Pakkanen5-2/+48
2021-03-17One more unixy fix.Jussi Pakkanen2-1/+5
2021-03-16clangformat: Add clang-format-check targetXavier Claessens5-12/+40
2021-03-16clangformat: Add include and ignore filesXavier Claessens12-11/+174
2021-03-16Add range() functionXavier Claessens7-3/+119
Fixes: #5026.
2021-03-16externalproject: Flatten configure_options kwargXavier Claessens1-8/+11
2021-03-16externalproject: Do not add --includedir by defaultXavier Claessens1-1/+3
Some projects (e.g. OpenSSL) does not support setting include directory at all.
2021-03-16externalproject: Fix error when used from main projectXavier Claessens1-1/+1
2021-03-16Remove mention of Meson manual. [skip ci]Jussi Pakkanen1-6/+0
2021-03-16Update VS module version check.Jussi Pakkanen3-1/+9
2021-03-16Replace Unix shell commands with scripts.Jussi Pakkanen6-5/+23
2021-03-16Delete leftover files from some tests.Jussi Pakkanen2-2/+17
2021-03-16msetup: do not print bogus "Option ... is:" messagesPaolo Bonzini2-2/+8
get_non_matching_default_options is checking a string from project_default_options against a validated value from coredata.options. Passing the string to validate_value ensures that the comparison is sound; otherwise, "false" might be compared against False and a bogus difference is printed.