mirror of
https://github.com/mpv-player/mpv
synced 2024-12-18 21:06:00 +00:00
Instead of "deps", "deps_neg", and "deps_any" fields, just have a single "deps" field, which changes from an array to a string. The string is now an expression, which can contain the operators &&, ||, !, and allows grouping with ( ). It's probably overkill. If it gets a maintenance burden, we can switch to specifiying the dep expressions as ASTs (or maybe eval()-able Python expressions), and we could simplify the code that determines the reason why a dependency is not fulfilled. The latter involves a complicated conversion of the expression AST to DNF. The parser is actually pretty simple, and pretty much follows: https://en.wikipedia.org/wiki/Shunting_yard_algorithm |
||
---|---|---|
.. | ||
checks | ||
detections | ||
fragments | ||
generators | ||
__init__.py | ||
clang_compilation_database.py | ||
dependencies.py | ||
deps_parser.py | ||
features.py | ||
inflector.py | ||
syms.py | ||
waf_customizations.py |