diff options
Diffstat (limited to 'CC/EXPRESSIONS')
-rw-r--r-- | CC/EXPRESSIONS | 830 |
1 files changed, 0 insertions, 830 deletions
diff --git a/CC/EXPRESSIONS b/CC/EXPRESSIONS deleted file mode 100644 index 7beac0a..0000000 --- a/CC/EXPRESSIONS +++ /dev/null @@ -1,830 +0,0 @@ -{ "default-CC": - { "vars": ["defaults-transition"] - , "imports": {"list_provider": ["./", "..", "field_list_provider"]} - , "expression": - { "type": "join" - , "$1": - { "type": "let*" - , "bindings": - [ ["fieldname", "defaults"] - , ["provider", "CC"] - , [ "transition" - , {"type": "var", "name": "defaults-transition", "default": null} - ] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} - } - } - } -, "default-CXX": - { "vars": ["defaults-transition"] - , "imports": {"list_provider": ["./", "..", "field_list_provider"]} - , "expression": - { "type": "join" - , "$1": - { "type": "let*" - , "bindings": - [ ["fieldname", "defaults"] - , ["provider", "CXX"] - , [ "transition" - , {"type": "var", "name": "defaults-transition", "default": null} - ] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} - } - } - } -, "default-AR": - { "vars": ["defaults-transition"] - , "imports": {"list_provider": ["./", "..", "field_list_provider"]} - , "expression": - { "type": "join" - , "$1": - { "type": "let*" - , "bindings": - [ ["fieldname", "defaults"] - , ["provider", "AR"] - , [ "transition" - , {"type": "var", "name": "defaults-transition", "default": null} - ] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} - } - } - } -, "default-CFLAGS": - { "vars": ["defaults-transition"] - , "imports": {"list_provider": ["./", "..", "field_list_provider"]} - , "expression": - { "type": "let*" - , "bindings": - [ ["fieldname", "defaults"] - , ["provider", "CFLAGS"] - , [ "transition" - , {"type": "var", "name": "defaults-transition", "default": null} - ] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} - } - } -, "default-CXXFLAGS": - { "vars": ["defaults-transition"] - , "imports": {"list_provider": ["./", "..", "field_list_provider"]} - , "expression": - { "type": "let*" - , "bindings": - [ ["fieldname", "defaults"] - , ["provider", "CXXFLAGS"] - , [ "transition" - , {"type": "var", "name": "defaults-transition", "default": null} - ] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} - } - } -, "default-ENV": - { "vars": ["defaults-transition"] - , "imports": {"provider_list": ["./", "..", "field_provider_list"]} - , "expression": - { "type": "let*" - , "bindings": - [ ["fieldname", "defaults"] - , ["provider", "ENV"] - , [ "transition" - , {"type": "var", "name": "defaults-transition", "default": null} - ] - , ["default", {"type": "empty_map"}] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "provider_list"} - } - } -, "defaults-base-provides": - { "doc": ["Query list-provider from 'base' targets (last wins)"] - , "vars": ["provider"] - , "vars_doc": - {"provider": ["The name of the list-provider in the provides map."]} - , "imports": {"provider_list": ["./", "..", "field_provider_list"]} - , "expression": - { "type": "let*" - , "bindings": [["fieldname", "base"]] - , "body": - { "type": "foldl" - , "var": "next" - , "accum_var": "curr" - , "range": {"type": "CALL_EXPRESSION", "name": "provider_list"} - , "body": - { "type": "if" - , "cond": {"type": "var", "name": "next"} - , "then": {"type": "var", "name": "next"} - , "else": {"type": "var", "name": "curr"} - } - } - } - } -, "compile-deps": - { "doc": ["Collect compile dependencies (headers) from given target_fields"] - , "vars": ["deps-fieldnames", "deps-transition"] - , "vars_doc": - { "deps-fieldnames": - ["List of target_field names to collect dependencies from."] - , "deps-transition": - ["The optional configuration transition for the targets."] - } - , "imports": - { "runfiles_list": ["./", "..", "field_runfiles_list"] - , "provider_list": ["./", "..", "field_provider_list"] - } - , "expression": - { "type": "disjoint_map_union" - , "$1": - { "type": "++" - , "$1": - { "type": "foreach" - , "var": "fieldname" - , "range": {"type": "var", "name": "deps-fieldnames"} - , "body": - { "type": "++" - , "$1": - { "type": "let*" - , "bindings": - [ ["provider", "compile-deps"] - , ["transition", {"type": "var", "name": "deps-transition"}] - , ["default", {"type": "empty_map"}] - ] - , "body": - [ {"type": "CALL_EXPRESSION", "name": "provider_list"} - , {"type": "CALL_EXPRESSION", "name": "runfiles_list"} - ] - } - } - } - } - } - } -, "compile-args-deps": - { "doc": ["Collect compile arguments from given target_fields"] - , "vars": ["deps-fieldnames", "deps-transition"] - , "vars_doc": - { "deps-fieldnames": - ["List of target_field names to collect arguments from."] - , "deps-transition": - ["The optional configuration transition for the targets."] - } - , "imports": {"list_provider": ["./", "..", "field_list_provider"]} - , "expression": - { "type": "++" - , "$1": - { "type": "foreach" - , "var": "fieldname" - , "range": {"type": "var", "name": "deps-fieldnames"} - , "body": - { "type": "let*" - , "bindings": - [ ["provider", "compile-args"] - , ["transition", {"type": "var", "name": "deps-transition"}] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} - } - } - } - } -, "link-deps": - { "doc": ["Collect link dependencies (libraries) from given target_fields"] - , "vars": ["deps-fieldnames", "deps-transition"] - , "vars_doc": - { "deps-fieldnames": - ["List of target_field names to collect dependencies from."] - , "deps-transition": - ["The optional configuration transition for the targets."] - } - , "imports": - { "artifacts_list": ["./", "..", "field_artifacts_list"] - , "provider_list": ["./", "..", "field_provider_list"] - } - , "expression": - { "type": "disjoint_map_union" - , "$1": - { "type": "++" - , "$1": - { "type": "foreach" - , "var": "fieldname" - , "range": {"type": "var", "name": "deps-fieldnames"} - , "body": - { "type": "++" - , "$1": - { "type": "let*" - , "bindings": - [ ["provider", "link-deps"] - , ["default", {"type": "empty_map"}] - , ["transition", {"type": "var", "name": "deps-transition"}] - ] - , "body": - [ {"type": "CALL_EXPRESSION", "name": "provider_list"} - , {"type": "CALL_EXPRESSION", "name": "artifacts_list"} - ] - } - } - } - } - } - } -, "link-args-deps": - { "doc": ["Collect linker arguments from given target_fields"] - , "vars": ["deps-fieldnames", "deps-transition"] - , "vars_doc": - { "deps-fieldnames": - ["List of target_field names to collect arguments from."] - , "deps-transition": - ["The optional configuration transition for the targets."] - } - , "imports": {"list_provider": ["./", "..", "field_list_provider"]} - , "expression": - { "type": "++" - , "$1": - { "type": "foreach" - , "var": "fieldname" - , "range": {"type": "var", "name": "deps-fieldnames"} - , "body": - { "type": "let*" - , "bindings": - [ ["provider", "link-args"] - , ["transition", {"type": "var", "name": "deps-transition"}] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"} - } - } - } - } -, "objects": - { "vars": - [ "COMPILER" - , "COMPILE_FLAGS" - , "ENV" - , "srcs" - , "hdrs" - , "private-hdrs" - , "compile-deps" - ] - , "expression": - { "type": "let*" - , "bindings": - [ [ "include tree" - , { "type": "singleton_map" - , "key": "include" - , "value": - {"type": "TREE", "$1": {"type": "var", "name": "compile-deps"}} - } - ] - , [ "all hdrs" - , { "type": "map_union" - , "$1": - [ {"type": "var", "name": "include tree"} - , { "type": "to_subdir" - , "subdir": "work" - , "$1": - { "type": "disjoint_map_union" - , "$1": - [ {"type": "var", "name": "hdrs"} - , {"type": "var", "name": "private-hdrs"} - ] - } - } - ] - } - ] - ] - , "body": - { "type": "map_union" - , "$1": - { "type": "foreach_map" - , "var_key": "src_name" - , "var_val": "src_val" - , "range": {"type": "var", "name": "srcs"} - , "body": - { "type": "let*" - , "bindings": - [ [ "work src_name" - , { "type": "join" - , "separator": "/" - , "$1": ["work", {"type": "var", "name": "src_name"}] - } - ] - , [ "inputs" - , { "type": "map_union" - , "$1": - [ {"type": "var", "name": "all hdrs"} - , { "type": "singleton_map" - , "key": {"type": "var", "name": "work src_name"} - , "value": {"type": "var", "name": "src_val"} - } - ] - } - ] - , [ "out" - , { "type": "change_ending" - , "$1": {"type": "var", "name": "src_name"} - , "ending": ".o" - } - ] - , [ "work out" - , { "type": "join" - , "separator": "/" - , "$1": ["work", {"type": "var", "name": "out"}] - } - ] - , [ "action output" - , { "type": "ACTION" - , "outs": [{"type": "var", "name": "work out"}] - , "inputs": {"type": "var", "name": "inputs"} - , "env": - { "type": "var" - , "name": "ENV" - , "default": {"type": "empty_map"} - } - , "cmd": - { "type": "++" - , "$1": - [ [{"type": "var", "name": "COMPILER"}] - , {"type": "var", "name": "COMPILE_FLAGS"} - , ["-I", "work", "-isystem", "include"] - , ["-c", {"type": "var", "name": "work src_name"}] - , ["-o", {"type": "var", "name": "work out"}] - ] - } - } - ] - , [ "staged output artifact" - , { "type": "map_union" - , "$1": - { "type": "foreach_map" - , "range": {"type": "var", "name": "action output"} - , "var_val": "object" - , "body": - { "type": "singleton_map" - , "key": {"type": "var", "name": "out"} - , "value": {"type": "var", "name": "object"} - } - } - } - ] - ] - , "body": {"type": "var", "name": "staged output artifact"} - } - } - } - } - } -, "compiler-cc": - { "vars": ["CC", "defaults-transition"] - , "imports": {"default-CC": "default-CC"} - , "expression": - { "type": "var" - , "name": "CC" - , "default": {"type": "CALL_EXPRESSION", "name": "default-CC"} - } - } -, "compiler-cxx": - { "vars": ["CXX", "defaults-transition"] - , "imports": {"default-CXX": "default-CXX"} - , "expression": - { "type": "var" - , "name": "CXX" - , "default": {"type": "CALL_EXPRESSION", "name": "default-CXX"} - } - } -, "compiler": - { "vars": ["CC", "CXX", "pure C", "defaults-transition"] - , "imports": {"compiler-cc": "compiler-cc", "compiler-cxx": "compiler-cxx"} - , "expression": - { "type": "if" - , "cond": {"type": "var", "name": "pure C"} - , "then": {"type": "CALL_EXPRESSION", "name": "compiler-cc"} - , "else": {"type": "CALL_EXPRESSION", "name": "compiler-cxx"} - } - } -, "flags-cc": - { "vars": ["CFLAGS", "ADD_CFLAGS", "defaults-transition"] - , "imports": {"default-CFLAGS": "default-CFLAGS"} - , "expression": - { "type": "++" - , "$1": - [ { "type": "var" - , "name": "CFLAGS" - , "default": {"type": "CALL_EXPRESSION", "name": "default-CFLAGS"} - } - , {"type": "var", "name": "ADD_CFLAGS", "default": []} - ] - } - } -, "flags-cxx": - { "vars": ["CXXFLAGS", "ADD_CXXFLAGS", "defaults-transition"] - , "imports": {"default-CXXFLAGS": "default-CXXFLAGS"} - , "expression": - { "type": "++" - , "$1": - [ { "type": "var" - , "name": "CXXFLAGS" - , "default": {"type": "CALL_EXPRESSION", "name": "default-CXXFLAGS"} - } - , {"type": "var", "name": "ADD_CXXFLAGS", "default": []} - ] - } - } -, "flags": - { "vars": - [ "CFLAGS" - , "CXXFLAGS" - , "ADD_CFLAGS" - , "ADD_CXXFLAGS" - , "pure C" - , "defaults-transition" - ] - , "imports": {"flags-cc": "flags-cc", "flags-cxx": "flags-cxx"} - , "expression": - { "type": "if" - , "cond": {"type": "var", "name": "pure C"} - , "then": {"type": "CALL_EXPRESSION", "name": "flags-cc"} - , "else": {"type": "CALL_EXPRESSION", "name": "flags-cxx"} - } - } -, "lib artifact": - { "vars": - [ "CC" - , "CXX" - , "CFLAGS" - , "CXXFLAGS" - , "ADD_CFLAGS" - , "ADD_CXXFLAGS" - , "AR" - , "ENV" - , "name" - , "pure C" - , "srcs" - , "hdrs" - , "private-hdrs" - , "stage" - , "compile-deps" - , "compile-args" - , "defaults-transition" - ] - , "imports": - { "compiler": "compiler" - , "flags": "flags" - , "objects": "objects" - , "default-AR": "default-AR" - , "default-ENV": "default-ENV" - } - , "expression": - { "type": "let*" - , "bindings": - [ ["COMPILER", {"type": "CALL_EXPRESSION", "name": "compiler"}] - , [ "COMPILE_FLAGS" - , { "type": "++" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "flags"} - , {"type": "var", "name": "compile-args"} - ] - } - ] - , [ "AR" - , { "type": "var" - , "name": "AR" - , "default": {"type": "CALL_EXPRESSION", "name": "default-AR"} - } - ] - , [ "ENV" - , { "type": "map_union" - , "$1": - { "type": "++" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "default-ENV"} - , [ { "type": "var" - , "name": "ENV" - , "default": {"type": "empty_map"} - } - ] - ] - } - } - ] - , ["objects", {"type": "CALL_EXPRESSION", "name": "objects"}] - , [ "base name" - , { "type": "if" - , "cond": {"type": "var", "name": "objects"} - , "then": - { "type": "assert_non_empty" - , "msg": "A name has to be provided for non-header-only libraries" - , "$1": {"type": "var", "name": "name"} - } - , "else": {"type": "var", "name": "name"} - } - ] - , [ "libname" - , { "type": "join" - , "$1": ["lib", {"type": "var", "name": "base name"}, ".a"] - } - ] - , [ "libpath" - , { "type": "if" - , "cond": {"type": "var", "name": "stage"} - , "then": - { "type": "join" - , "separator": "/" - , "$1": - [ {"type": "var", "name": "stage"} - , {"type": "var", "name": "libname"} - ] - } - , "else": {"type": "var", "name": "libname"} - } - ] - , [ "lib" - , { "type": "if" - , "cond": {"type": "var", "name": "objects"} - , "else": {"type": "empty_map"} - , "then": - { "type": "ACTION" - , "outs": [{"type": "var", "name": "libpath"}] - , "inputs": {"type": "var", "name": "objects"} - , "env": - {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} - , "cmd": - { "type": "++" - , "$1": - [ [ {"type": "var", "name": "AR", "default": "ar"} - , "cqs" - , {"type": "var", "name": "libpath"} - ] - , {"type": "keys", "$1": {"type": "var", "name": "objects"}} - ] - } - } - } - ] - ] - , "body": {"type": "var", "name": "lib"} - } - } -, "lib result": - { "vars": - [ "CC" - , "CXX" - , "CFLAGS" - , "CXXFLAGS" - , "ADD_CFLAGS" - , "ADD_CXXFLAGS" - , "AR" - , "ENV" - , "name" - , "pure C" - , "srcs" - , "hdrs" - , "private-hdrs" - , "cflags" - , "private-cflags" - , "private-ldflags" - , "stage" - , "extra-provides" - , "public-fieldnames" - , "private-fieldnames" - ] - , "imports": - { "compile-deps": "compile-deps" - , "compile-args-deps": "compile-args-deps" - , "link-deps": "link-deps" - , "link-args-deps": "link-args-deps" - , "lib artifact": "lib artifact" - } - , "expression": - { "type": "let*" - , "bindings": - [ ["deps-fieldnames", {"type": "var", "name": "private-fieldnames"}] - , ["compile-deps", {"type": "CALL_EXPRESSION", "name": "compile-deps"}] - , [ "compile-args" - , { "type": "nub_right" - , "$1": - { "type": "++" - , "$1": - [ {"type": "var", "name": "cflags"} - , {"type": "var", "name": "private-cflags"} - , {"type": "CALL_EXPRESSION", "name": "compile-args-deps"} - ] - } - } - ] - , ["link-deps", {"type": "CALL_EXPRESSION", "name": "link-deps"}] - , ["lib", {"type": "CALL_EXPRESSION", "name": "lib artifact"}] - , [ "link-args" - , { "type": "nub_right" - , "$1": - { "type": "++" - , "$1": - [ {"type": "keys", "$1": {"type": "var", "name": "lib"}} - , {"type": "var", "name": "private-ldflags", "default": []} - , {"type": "CALL_EXPRESSION", "name": "link-args-deps"} - ] - } - } - ] - , ["deps-fieldnames", {"type": "var", "name": "public-fieldnames"}] - , ["compile-deps", {"type": "CALL_EXPRESSION", "name": "compile-deps"}] - , [ "compile-args" - , { "type": "nub_right" - , "$1": - { "type": "++" - , "$1": - [ {"type": "var", "name": "cflags"} - , {"type": "CALL_EXPRESSION", "name": "compile-args-deps"} - ] - } - } - ] - ] - , "body": - { "type": "RESULT" - , "artifacts": {"type": "var", "name": "lib"} - , "runfiles": {"type": "var", "name": "hdrs"} - , "provides": - { "type": "map_union" - , "$1": - [ { "type": "env" - , "vars": - ["compile-deps", "compile-args", "link-deps", "link-args"] - } - , { "type": "var" - , "name": "extra-provides" - , "default": {"type": "empty_map"} - } - ] - } - } - } - } -, "bin artifact": - { "doc": ["Produces the binary artifact."] - , "vars": - [ "CC" - , "CXX" - , "CFLAGS" - , "CXXFLAGS" - , "ADD_CFLAGS" - , "ADD_CXXFLAGS" - , "ENV" - , "name" - , "pure C" - , "srcs" - , "private-hdrs" - , "stage" - , "compile-deps" - , "compile-args" - , "link-deps" - , "link-args" - , "defaults-transition" - ] - , "imports": - { "compiler": "compiler" - , "flags": "flags" - , "objects": "objects" - , "default-ENV": "default-ENV" - } - , "expression": - { "type": "let*" - , "bindings": - [ ["COMPILER", {"type": "CALL_EXPRESSION", "name": "compiler"}] - , [ "COMPILE_FLAGS" - , { "type": "++" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "flags"} - , {"type": "var", "name": "compile-args"} - ] - } - ] - , [ "ENV" - , { "type": "map_union" - , "$1": - { "type": "++" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "default-ENV"} - , [ { "type": "var" - , "name": "ENV" - , "default": {"type": "empty_map"} - } - ] - ] - } - } - ] - , ["hdrs", {"type": "empty_map"}] - , ["objects", {"type": "CALL_EXPRESSION", "name": "objects"}] - , [ "link-args" - , { "type": "nub_right" - , "$1": - { "type": "++" - , "$1": - [ {"type": "keys", "$1": {"type": "var", "name": "objects"}} - , {"type": "var", "name": "link-args"} - ] - } - } - ] - , [ "binpath" - , { "type": "if" - , "cond": {"type": "var", "name": "stage"} - , "then": - { "type": "join" - , "separator": "/" - , "$1": - [ {"type": "var", "name": "stage"} - , {"type": "var", "name": "name"} - ] - } - , "else": {"type": "var", "name": "name"} - } - ] - , [ "binary" - , { "type": "ACTION" - , "outs": [{"type": "var", "name": "binpath"}] - , "inputs": - { "type": "disjoint_map_union" - , "$1": - [ {"type": "var", "name": "objects"} - , {"type": "var", "name": "link-deps"} - ] - } - , "cmd": - { "type": "++" - , "$1": - [ [ {"type": "var", "name": "COMPILER"} - , "-o" - , {"type": "var", "name": "binpath"} - ] - , {"type": "var", "name": "COMPILE_FLAGS"} - , {"type": "var", "name": "link-args"} - ] - } - , "env": {"type": "var", "name": "ENV"} - } - ] - ] - , "body": {"type": "var", "name": "binary"} - } - } -, "bin result": - { "doc": ["Produces the binary target result."] - , "vars": - [ "CC" - , "CXX" - , "CFLAGS" - , "CXXFLAGS" - , "ADD_CFLAGS" - , "ADD_CXXFLAGS" - , "ENV" - , "name" - , "pure C" - , "srcs" - , "private-hdrs" - , "private-cflags" - , "private-ldflags" - , "stage" - , "private-fieldnames" - ] - , "imports": - { "compile-deps": "compile-deps" - , "compile-args-deps": "compile-args-deps" - , "link-deps": "link-deps" - , "link-args-deps": "link-args-deps" - , "binary": "bin artifact" - } - , "expression": - { "type": "let*" - , "bindings": - [ ["deps-fieldnames", {"type": "var", "name": "private-fieldnames"}] - , ["compile-deps", {"type": "CALL_EXPRESSION", "name": "compile-deps"}] - , [ "compile-args" - , { "type": "++" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "compile-args-deps"} - , {"type": "var", "name": "private-cflags"} - ] - } - ] - , ["link-deps", {"type": "CALL_EXPRESSION", "name": "link-deps"}] - , [ "link-args" - , { "type": "nub_right" - , "$1": - { "type": "++" - , "$1": - [ {"type": "var", "name": "private-ldflags"} - , {"type": "CALL_EXPRESSION", "name": "link-args-deps"} - ] - } - } - ] - ] - , "body": - { "type": "RESULT" - , "artifacts": {"type": "CALL_EXPRESSION", "name": "binary"} - } - } - } -} |