summaryrefslogtreecommitdiff
path: root/etc/default_config.json
blob: 945aa19c5ab8ece0bd346da197d28a3bc0dd693c (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
{
    "codegen": {
        // Apply some default name mangling rules if true. If false,
        // mangle everything.
        "default_exports": true,
        // An array containing either ["identifier", "string"] or
        // "identifier". For the first case the identifier will be
        // rewritten into string in the generated C source. For the
        // second the identifier will be preserved without name
        // mangling.
        "exports": [],
        // Generic functions must always have name mangling applied
        // due to specialization. They can be renamed using ["symbol",
        // "string"] pairs in this array, where "symbol" is any
        // mangled symbol that appears in the generated C.
        "exports_mangled": [
            ["ztuple_z8z5i64zCz0z5iz9", "tuple_i64_int"]
        ],
        // Include the following extra headers in the generated
        // C. Should be specified as either "<header.h>" or "header.h"
        "extra_headers": [],
        // An array of extra string lines that are added to the
        // sail_state struct.
        "extra_state": [],
        // The sail_state struct will be passed to the following array
        // of primops, which are specified via the "foo" string from
        // val id = "foo" : ... in Sail.
        "state_primops": [],
        // Control which sail_state variables accessors will be implemented
        // by the consumer of the library. This is a list of regular expressions,
        // if one of those regular expression matches the name of a sail_state variable,
        // only the declaration of the accessors will be generated.
        "external_state_api" : []
    }
}