diff options
author | wm4 <wm4@nowhere> | 2017-09-18 22:35:37 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-09-18 22:35:37 +0200 |
commit | acb28e922bec72e5901810d53d7746d9978185f1 (patch) | |
tree | 6442e0d0055622a7153e1fd3b619f8581b3f80af /video | |
parent | f4c80d44021dd917aee64f58b0e2a79f20610057 (diff) | |
download | mpv-acb28e922bec72e5901810d53d7746d9978185f1.tar.bz2 mpv-acb28e922bec72e5901810d53d7746d9978185f1.tar.xz |
build: use unified dependency expressions instead of weird fields
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
Diffstat (limited to 'video')
0 files changed, 0 insertions, 0 deletions