summaryrefslogtreecommitdiff
path: root/rules/CC/pkgconfig/RULES
blob: a6f6ce8476397faa9aee583cda55eac5b948c7fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{ "system_library":
  { "doc": ["A system library via pkg-config"]
  , "string_fields": ["name", "args", "stage"]
  , "implicit": {"defaults": [["./", "..", "defaults"]]}
  , "config_vars": ["PKG_CONFIG_ARGS", "ENV"]
  , "field_doc":
    { "name": ["The pkg-config name of the library."]
    , "args":
      [ "Additional pkg-config arguments (e.g., \"--define-prefix\" or"
      , "\"--static\"), appended to the config variable \"PKG_CONFIG_ARGS\"."
      ]
    , "stage": ["The stage of the internally created flag files."]
    }
  , "config_doc":
    { "PKG_CONFIG_ARGS":
      [ "Additional pkg-config arguments (e.g., \"--define-prefix\" or"
      , "\"--static\")."
      ]
    , "ENV":
      [ "The environment for any action generated. May contain colon-separated"
      , "\"PKG_CONFIG_PATH\" for looking up pkg-config files."
      ]
    }
  , "imports": {"pkgconfig result": "pkgconfig result"}
  , "expression":
    { "type": "let*"
    , "bindings":
      [ [ "name"
        , { "type": "assert_non_empty"
          , "msg": "system_library requires non-empty name"
          , "$1": {"type": "join", "$1": {"type": "FIELD", "name": "name"}}
          }
        ]
      , [ "args"
        , { "type": "++"
          , "$1":
            [ {"type": "var", "name": "PKG_CONFIG_ARGS", "default": []}
            , {"type": "FIELD", "name": "args"}
            ]
          }
        ]
      , [ "stage"
        , { "type": "join"
          , "separator": "/"
          , "$1": {"type": "FIELD", "name": "stage"}
          }
        ]
      ]
    , "body": {"type": "CALL_EXPRESSION", "name": "pkgconfig result"}
    }
  }
}