summaryrefslogtreecommitdiff
path: root/mesonbuild/programs.py
Commit message (Collapse)AuthorAgeFilesLines
* interpreter: use typed_kwargs for run_commandDylan Baker2021-11-291-3/+4
| | | | | | This also cleans up a couple of internal callers of the internal impl version that don't set the `check` argument, and therefore trigger a warning about not setting the check argument.
* interpreter: use typed_pos_args for run_commandDylan Baker2021-11-291-2/+1
|
* Fix typos discovered by codespellChristian Clauss2021-10-101-1/+1
|
* condense linesEli Schwartz2021-10-041-4/+2
|
* f-stringsEli Schwartz2021-10-041-4/+4
|
* during executable lookup, do not search PATH if a directory component is givenEli Schwartz2021-09-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This will always be wrong, because when a directory component is provided we need to match an exact filename on a manual search path, for example find_program with dirs: or the current meson.build subdir. If we ever get this far, shutil.which will do the same "is there a dirname, if so just check whether the filename exists relative to cwd"... except that the documented meson lookup path is that we check relative to meson.build subdir, not relative to the cwd, and the cwd could be anything, but is probably the root sourcedir. Since internally, meson does not actually os.chdir into the sourcedir, it could be absolutely anything at all, though. ... The actual returned name for shutil.which(name) given a literal pathname with a directory component is "return name" without adding the absolute path, which means that this is double-broken. Not only does it find things we didn't expect, the resulting ExternalProgram object doesn't have the correct path to the program, so it will report "found" and then fail to actually run when the current directory is changed, for example by ninja -C. Fixes #9262
* fix: Always explicitly set encoding for text files (fixes #8263)Daniel Mensinger2021-06-291-1/+1
|
* holders: Move get_version from directly to ExternalProgramDaniel Mensinger2021-06-181-1/+22
|
* holders: Introduce HoldableObjectDaniel Mensinger2021-06-181-1/+1
|
* Move OverrideProgram to programsDylan Baker2021-03-191-0/+5
|
* programs: add type annotationsDylan Baker2021-03-191-21/+27
|
* split program related classes and functions out of dependenciesDylan Baker2021-03-191-0/+351
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.