aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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.
2021-03-16coredata: be more robust on unpickling errorsPaolo Bonzini1-1/+1
When reverting from 0.57 to 0.56, one can see an error like this: File /Users/pm215/src/qemu-for-merges/meson/mesonbuild/coredata.py, line 1016, in load obj = pickle.load(f) ModuleNotFoundError: No module named 'mesonbuild.mesonlib.universal'; 'mesonbuild.mesonlib' is not a package FAILED: build.ninja The reason is that the old version fails to resolve mesonbuild.mesonlib, which is a similar situation to the existing AttributeError check. Raise a MesonException for ModuleNotFoundError as well, so that reconfiguration proceeds using cmd_line.txt.
2021-03-16Add `meson devenv` command and meson.add_devenv()Xavier Claessens17-8/+277
2021-03-16typed_pos_args: Fix typoXavier Claessens1-2/+2
2021-03-16EnvironmentVariables: Simplify and annotateXavier Claessens3-46/+51
2021-03-14ninjabackend: Use rsp_file_syntax methodDylan Baker3-25/+17
This also makes us of the new enum value in the backend, for better type saftey.
2021-03-14compilers/linkers: Add a methhod for getting the rspfile syntaxDylan Baker4-4/+70
2021-03-14Fix run_targets running scripts from different subdirs.Jussi Pakkanen4-0/+16
2021-03-12interpreter: Cache found dependency before converting for include_typeXavier Claessens7-7/+35
Fixes: #8516.
2021-03-12Fix duplicate pkg_config_path entriesTristan Partin2-2/+14
Previously builds would *potentially* get sammed with messaging at configure time that duplicate entries in an array would be an error in the future, and the cause was because the same entries were getting added over and over to pkg_config_path.p
2021-03-10Add test to build a mixed C/Rust shared library.Jussi Pakkanen5-0/+93
2021-03-10doc: Add External Project into the top dropdown menuXavier Claessens1-0/+1
2021-03-10Some documentation language adjustments & improved error messagesLaurin-Luis Lehning4-4/+13
2021-03-10Add tentative FeatureNew guardLaurin-Luis Lehning1-0/+1
2021-03-10Yet another documentation updateLaurin-Luis Lehning1-0/+3
2021-03-10Fix release snippet still using the old fstring syntaxLaurin-Luis Lehning1-1/+1