From 4a8579a2a4ef252644df0c29893e70ad8438ae82 Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Mon, 16 Jan 2023 19:10:32 +0100 Subject: Support flag-files for existing rules and expressions --- CC/RULES | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'CC/RULES') diff --git a/CC/RULES b/CC/RULES index 91fcf3d..730d45b 100644 --- a/CC/RULES +++ b/CC/RULES @@ -624,7 +624,8 @@ , "expression": { "type": "let*" , "bindings": - [ [ "install-stage" + [ ["pc-install-dir", "share/pkgconfig"] + , [ "install-stage" , { "type": "disjoint_map_union" , "msg": "install stages may not overlap" , "$1": @@ -770,11 +771,32 @@ ] } ] + , [ "pkg-flag-files" + , { "type": "map_union" + , "$1": + [ { "type": "lookup" + , "key": "cflags-files" + , "map": {"type": "var", "name": "package"} + , "default": {"type": "empty_map"} + } + , { "type": "lookup" + , "key": "ldflags-files" + , "map": {"type": "var", "name": "package"} + , "default": {"type": "empty_map"} + } + ] + } + ] , ["pkg-libs", {"type": "var", "name": "libraries"}] , ["flat-libs", {"type": "FIELD", "name": "flat-libs"}] ] , "body": - {"type": "CALL_EXPRESSION", "name": "pkg-config"} + { "type": "map_union" + , "$1": + [ {"type": "CALL_EXPRESSION", "name": "pkg-config"} + , {"type": "var", "name": "pkg-flag-files"} + ] + } } , "else": {"type": "empty_map"} } @@ -800,7 +822,7 @@ , "$1": {"type": "var", "name": "libraries"} } , { "type": "to_subdir" - , "subdir": "share/pkgconfig" + , "subdir": {"type": "var", "name": "pc-install-dir"} , "$1": {"type": "var", "name": "pkg-config"} } ] -- cgit v1.2.3