aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
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 Claessens1-1/+1
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 Baker1-50/+71
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-19Move OverrideProgram to programsDylan Baker3-7/+8
2021-03-19programs: add type annotationsDylan Baker1-21/+27
2021-03-19split program related classes and functions out of dependenciesDylan Baker29-392/+431
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-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 Claessens2-6/+13
Fixes: #8440.
2021-03-18interpreter: Add varname as positional arg in dep.get_variable()Xavier Claessens1-2/+7
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 Pakkanen1-2/+28
2021-03-16clangformat: Add clang-format-check targetXavier Claessens2-8/+23
2021-03-16clangformat: Add include and ignore filesXavier Claessens1-11/+39
2021-03-16Add range() functionXavier Claessens3-3/+40
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-16Update VS module version check.Jussi Pakkanen1-0/+6
2021-03-16msetup: do not print bogus "Option ... is:" messagesPaolo Bonzini1-1/+6
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 Claessens7-8/+139
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 Pakkanen1-0/+2
2021-03-12interpreter: Cache found dependency before converting for include_typeXavier Claessens1-7/+7
Fixes: #8516.
2021-03-12Fix duplicate pkg_config_path entriesTristan Partin1-2/+2
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-10Some documentation language adjustments & improved error messagesLaurin-Luis Lehning1-1/+2
2021-03-10Add tentative FeatureNew guardLaurin-Luis Lehning1-0/+1
2021-03-10Add failing test cases & release snippetLaurin-Luis Lehning1-1/+1
2021-03-10Use interpreter exceptions instead of MesonExceptionLaurin-Luis Lehning1-2/+2
2021-03-10Switch fstring syntax to @..@ & limit fstring captures to int, str, float ↵Laurin-Luis Lehning1-2/+6
and bool
2021-03-10Add support for basic format stringsLaurin-Luis Lehning2-2/+27
2021-03-09dependencies: Add docstring explaining how to write a system dependencyDylan Baker1-0/+149
This is a useful thing to document. I wasn't really sure where to put it, but since it's developer oriented I figured in the code itself was probably more useful and more likely to be seen than in the markdown that generates the website.
2021-03-09Add address sanitizer support for Visual Studio.Jussi Pakkanen2-1/+9
2021-03-09change RSP quote style decision logicRemi Thebault1-3/+12
Take into account LDC on Windows Fixes #8494
2021-03-09Add str.replace() methodTristan Partin1-0/+7