aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-10-06interpreter: Move RangeHolder out of interpreterbase to interpreterDaniel Mensinger5-28/+39
2021-10-06interpreter: Holderify arrays and dictsDaniel Mensinger14-428/+349
This is the final refactoring for extracting the bultin object logic out of Interpreterbase. I decided to do both arrays and dicts in one go since splitting it would have been a lot more confusing.
2021-10-06Fix compiler detection for cl/clang-clJesse Natalie1-1/+1
If the compiler specified is a path to a compiler, the current detection is broken. It needs to use just the compiler name instead.
2021-10-06cmake: Implement support for interpreting link "keywords"Daniel Mensinger3-11/+37
CMakes `target_link_libraries()` supports certain keywords to only enable specific libraries for specific CMake configurations. We now try our best to replicate this for Meson dependencies. Fixes #9197
2021-10-06cmake: Warn if we could use IMPORTED CMake targetsDaniel Mensinger3-2/+43
2021-10-06ci: Add TTY mode to the image builder mounting mesonDaniel Mensinger1-1/+30
2021-10-06ci: Add comment to not forget updating wrapdb rulesXavier Claessens1-0/+2
2021-10-04wrap clone: be less noisy when doing automated code checkoutsEli Schwartz1-4/+5
There are two possible issues, both of which emit very long messages from git: - when shallow cloning via depth + a pinned commit we locally init rather than cloning; use an almost-certainly not conflicting dummy branch name - any time a checkout of a revision is performed, it might not be a branch name, in which case it will be a detached HEAD. By default git is very noisy about this -- it wants you to know what happened and how not to mess up. But wraps aren't per default intended for user editing and development, it's just part of the internal transport which meson uses. So, temporarily squelch this advice. Do not permanently configure the repo like this though, because the user *might* cd in and start developing on the subproject; in this case, any additional git advice they trigger is their responsibility (and they probably do want it). Fixes #9318
2021-10-04backend/vs: Generate dependencies for CustomTargetIndex for a CustomTarget.Andres Freund7-0/+78
Test & fix.
2021-10-04backend/vs: process link dependencies.Andres Freund4-15/+10
Partially-Fixes: #1799
2021-10-04Record build in BuildTarget.link_depends, not just output of targets.Andres Freund1-7/+4
To be able to handle link_depends in backends that do not just operate on a file basis like ninja, information about the targets, not just their output is required.
2021-10-04run_mypy: Add the external_project_moduleDylan Baker1-0/+1
2021-10-04modules/external_project: use typed_kwargsDylan Baker1-23/+33
Which resolves all of the remaining typing issues.
2021-10-04mdoules/external_project: fix most of the mypy warnings/errorsDylan Baker1-29/+39
2021-10-04mesonlib: ConfigurationData can also be a `Dict[str, Tuple[Str, Optional[str]]]`Dylan Baker1-2/+2
2021-10-04dependencies: Dependency.sources can have CustomTargetsDylan Baker1-5/+6
2021-10-04modules/external_project: clean up and sort modulesDylan Baker1-6/+7
2021-10-04remove printf debuggingEli Schwartz1-1/+0
Why did this dumb thing of mine ever get committed???
2021-10-04docs: Temporarily disable modules and move RefMan --> Reference-manualDaniel Mensinger6-7/+16
2021-10-04condense linesEli Schwartz4-22/+11
2021-10-04f-stringsEli Schwartz13-77/+66
2021-10-04use list unpacking to simplify for loop referencesEli Schwartz1-4/+5
2021-10-04fix extra whitespaceEli Schwartz18-28/+0
discovered via flake8 --select E303
2021-10-04flake8: extend the ignore list, do not overrideEli Schwartz1-1/+1
Some things are disabled by default because most people are not interested in them. But (non-obviously) adding a list of ignores to the flake8 configuration file will actually turn back on anything you didn't explicitly specify. This reduces the number of flake8 warnings by about 100, a vast chunk of which are E704 multiple statements on one line (def) which turn out to actually be T.overload or typing definitions with def func(): ... which is understandably quite reasonable to permit.
2021-10-04use idiomatic python for membership testsEli Schwartz1-1/+1
"X not in Y" is preferred over "not X in Y", as the former is more readable.
2021-10-04remove useless variables that are no longer or were never usedEli Schwartz3-3/+1
2021-10-04work around flake8 F811 for T.overload redefined functionsEli Schwartz2-4/+4
Since typing != T as far as flake8 is aware, give the linter an extra hint.
2021-10-04remove double importEli Schwartz1-2/+2
Imported both inside and outside of T.TYPE_CHECKING, the runtime import can be removed by quote-deferring one of the use sites. Update: In between then and now, this got removed from T.TYPE_CHECKING, move it back there rather than preserving the runtime import.
2021-10-04remove f from f-string that has no formattingEli Schwartz3-3/+3
2021-10-04fix incorrect porting from % formatting to .format methodEli Schwartz1-1/+1
(var,) is the correct way to pass values to a percent formatted string, but not to .format so we would end up printing something like: unexpected input at line (4,) Upgrade to an f-string and insert the correct value correctly.
2021-10-04coding style: don't format an empty string with another stringEli Schwartz1-1/+1
'{}'.format('foo') for any given value of 'foo' (in this case, a function returning a string), can always just be 'foo' directly, which is a lot more readable.
2021-10-04better error message for modules returning the wrong valueEli Schwartz1-1/+1
2021-10-04various python neatness cleanupsEli Schwartz16-27/+27
All changes were created by running "pyupgrade --py3-only" and committing the results. Although this has been performed in the past, newer versions of pyupgrade can automatically catch more opportunities, notably list comprehensions can use generators instead, in the following cases: - unpacking into function arguments as function(*generator) - unpacking into assignments of the form x, y = generator - as the argument to some builtin functions such as min/max/sorted Also catch a few creeping cases of new code added using older styles.
2021-10-04Merge pull request #8960 from mensinda/yamlDocJussi Pakkanen152-3097/+6918
Reference Manual 2.0
2021-10-04Minor fixupsDaniel Mensinger6-9/+51
2021-10-04interpreter: improve the error message about install_modeZbigniew Jędrzejewski-Szmek1-12/+11
We wrote: ERROR: install_emptydir keyword argument "install_mode" permissions string must be exactly 9 characters, got "4" in the form rwxr-xr-x Let's change this around to be easier to read. Also, 1-based numbering was used (for components) and 0-based for "bits". And actually the "bits" are not bits, but octal digits. So say "permissions character 1", "permissions character 2". And finally change "must be … if provided" to "can only be". (If it isn't provided, it "is not", so the sentence is still valid. The user will only get this error if they provide something, so we don't need to be super precise and say "if provided". And then we avoid confusing the reader whether it's "if provided" attaches to the the "False" or to the whole sentence.)
2021-10-03fix typo in error message breaking newline escapeEli Schwartz1-1/+1
Broken in commit 3feaea6b29197cd224fbce0ac65fd43d08c3beac.
2021-10-03modules/i18n: fix gettext use of --datadirs paramDan Streetman1-1/+1
The previous commit bd2fcb268b9ff48797bebb6a2ef94d2741234191 accidentally used the wrong var so the param name was missing, leading to an error of "unrecognized arguments" for the datadirs parameter value.
2021-10-03cmake module: if cmake cannot be found, do not tracebackEli Schwartz1-0/+3
We ended up passing a NoneType as the program binary, which is a very awkward way to communicate an error when failing to write a basic package version file.
2021-10-03docs: Update YAML docs after rebaseDaniel Mensinger4-13/+59
2021-10-03docs: Add myself to CODEOWNERS for docs/refmanDaniel Mensinger1-0/+1
2021-10-03docs: Added new static docsDaniel Mensinger2-0/+11
2021-10-03docs: Fix mypyDaniel Mensinger4-3/+4
2021-10-03docs: added install_tag docsDaniel Mensinger6-18/+71
2021-10-03docs: added unset_variable()Daniel Mensinger1-0/+11
2021-10-03docs: Document documenting MesonDaniel Mensinger2-0/+191
2021-10-03docs: Fix broken linksDaniel Mensinger30-91/+74
2021-10-03docs: Use a custom hotdoc extension for links to RefManDaniel Mensinger7-77/+171
2021-10-03docs: Remove the old Reference manualDaniel Mensinger2-2997/+0
2021-10-03docs: Fixes found during the YAML conversion processDaniel Mensinger2-1/+5