1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-18 21:06:00 +00:00
mpv/waftools
wm4 acb28e922b 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
2017-09-18 22:35:37 +02:00
..
checks Revert "build: rpi: rely on pkgconfig for compiler flags" 2017-08-15 18:41:16 +02:00
detections build: warn against VLA 2017-07-24 08:12:42 +02:00
fragments build: reduce GLX test fragment 2017-06-22 13:17:40 +02:00
generators demux_mkv: change license to LGPL 2017-04-21 12:21:33 +02:00
__init__.py
clang_compilation_database.py build: add option to generate a clang compilation database 2015-02-05 21:06:34 +01:00
dependencies.py build: use unified dependency expressions instead of weird fields 2017-09-18 22:35:37 +02:00
deps_parser.py build: use unified dependency expressions instead of weird fields 2017-09-18 22:35:37 +02:00
features.py
inflector.py build: remove useless class 2015-07-26 15:00:47 +02:00
syms.py
waf_customizations.py waf: fix linking of win32 console wrapper 2017-02-19 03:34:27 +00:00