diff options
Diffstat (limited to 'CC/foreign/make/EXPRESSIONS')
-rw-r--r-- | CC/foreign/make/EXPRESSIONS | 445 |
1 files changed, 0 insertions, 445 deletions
diff --git a/CC/foreign/make/EXPRESSIONS b/CC/foreign/make/EXPRESSIONS deleted file mode 100644 index 55d9fa8..0000000 --- a/CC/foreign/make/EXPRESSIONS +++ /dev/null @@ -1,445 +0,0 @@ -{ "make-build": - { "vars": - [ "source_dir" - , "subdir" - , "localbase_dir" - , "configure" - , "configure_options" - , "make_targets" - , "make_prefix" - , "make_options" - , "make_jobs" - , "pre_cmds" - , "post_cmds" - , "CC" - , "CXX" - , "CFLAGS" - , "CXXFLAGS" - , "LDFLAGS" - , "ADD_CFLAGS" - , "ADD_CXXFLAGS" - , "ADD_LDFLAGS" - , "ENV" - , "AR" - , "PREFIX" - , "BUILD_POSITION_INDEPENDENT" - , "TIMEOUT_SCALE" - , "defaults-transition" - , "expand_exec" - , "resolve_symlinks" - ] - , "imports": - { "artifacts": ["", "field_artifacts"] - , "flags-cc": ["CC", "flags-cc"] - , "flags-cxx": ["CC", "flags-cxx"] - , "compiler-cc": ["CC", "compiler-cc"] - , "compiler-cxx": ["CC", "compiler-cxx"] - , "default-LDFLAGS": ["CC", "default-LDFLAGS"] - , "default-AR": ["CC", "default-AR"] - , "default-ENV": ["CC", "default-ENV"] - , "default-PATH": ["CC", "default-PATH"] - , "default-TOOLCHAIN": ["CC", "default-TOOLCHAIN"] - , "default-NON_SYSTEM_TOOLS": ["CC", "default-NON_SYSTEM_TOOLS"] - , "foreign-MAKE": ["CC/foreign", "default-MAKE"] - , "foreign-ENV": ["CC/foreign", "default-ENV"] - , "foreign-PATH": ["CC/foreign", "default-PATH"] - , "foreign-TOOLCHAIN": ["CC/foreign", "default-TOOLCHAIN"] - , "foreign-NON_SYSTEM_TOOLS": ["CC/foreign", "default-NON_SYSTEM_TOOLS"] - , "map_provider": ["", "field_map_provider"] - , "sh": ["shell", "sh"] - , "sh-PATH": ["shell", "PATH"] - } - , "expression": - { "type": "let*" - , "bindings": - [ ["TOOLCHAIN_DIR", "toolchain"] - , [ "shell TOOLCHAIN" - , { "type": "let*" - , "bindings": - [ ["fieldname", "shell defaults"] - , ["provider", "TOOLCHAIN"] - , ["default", {"type": "empty_map"}] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"} - } - ] - , [ "sh" - , { "type": "let*" - , "bindings": [["fieldname", "shell defaults"]] - , "body": {"type": "CALL_EXPRESSION", "name": "sh"} - } - ] - , [ "TOOLCHAIN" - , { "type": "disjoint_map_union" - , "msg": "Toolchain trees may not overlap" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "foreign-TOOLCHAIN"} - , {"type": "CALL_EXPRESSION", "name": "default-TOOLCHAIN"} - , {"type": "var", "name": "shell TOOLCHAIN"} - ] - } - ] - , [ "TOOLCHAIN" - , { "type": "to_subdir" - , "subdir": {"type": "var", "name": "TOOLCHAIN_DIR"} - , "$1": {"type": "var", "name": "TOOLCHAIN"} - } - ] - , [ "NON_SYSTEM_TOOLS" - , { "type": "map_union" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "foreign-NON_SYSTEM_TOOLS"} - , {"type": "CALL_EXPRESSION", "name": "default-NON_SYSTEM_TOOLS"} - ] - } - ] - , [ "MAKE" - , { "type": "join" - , "$1": - { "type": "++" - , "$1": - [ { "type": "if" - , "cond": - { "type": "lookup" - , "key": "MAKE" - , "map": {"type": "var", "name": "NON_SYSTEM_TOOLS"} - } - , "then": ["./", {"type": "var", "name": "TOOLCHAIN_DIR"}, "/"] - } - , {"type": "CALL_EXPRESSION", "name": "foreign-MAKE"} - ] - } - } - ] - , ["CC", {"type": "CALL_EXPRESSION", "name": "compiler-cc"}] - , ["CXX", {"type": "CALL_EXPRESSION", "name": "compiler-cxx"}] - , [ "CFLAGS" - , { "type": "join" - , "separator": " " - , "$1": {"type": "CALL_EXPRESSION", "name": "flags-cc"} - } - ] - , [ "CXXFLAGS" - , { "type": "join" - , "separator": " " - , "$1": {"type": "CALL_EXPRESSION", "name": "flags-cxx"} - } - ] - , [ "LDFLAGS" - , { "type": "join" - , "separator": " " - , "$1": - { "type": "++" - , "$1": - [ ["-Wl,-rpath,$ORIGIN", "-Wl,-rpath,$ORIGIN/../lib"] - , { "type": "var" - , "name": "LDFLAGS" - , "default": - {"type": "CALL_EXPRESSION", "name": "default-LDFLAGS"} - } - , {"type": "var", "name": "ldflags", "default": []} - ] - } - } - ] - , [ "AR" - , { "type": "var" - , "name": "AR" - , "default": - { "type": "join" - , "$1": - { "type": "++" - , "$1": - [ { "type": "if" - , "cond": - { "type": "lookup" - , "key": "AR" - , "map": {"type": "var", "name": "NON_SYSTEM_TOOLS"} - } - , "then": - ["./", {"type": "var", "name": "TOOLCHAIN_DIR"}, "/"] - } - , {"type": "CALL_EXPRESSION", "name": "default-AR"} - ] - } - } - } - ] - , [ "PREFIX" - , { "type": "if" - , "cond": {"type": "var", "name": "make_prefix"} - , "then": - { "type": "join" - , "separator": "/" - , "$1": - { "type": "++" - , "$1": [[""], {"type": "var", "name": "make_prefix"}] - } - } - , "else": {"type": "var", "name": "PREFIX", "default": "/"} - } - ] - , [ "sh-PATH" - , { "type": "join" - , "separator": ":" - , "$1": - { "type": "let*" - , "bindings": [["fieldname", "shell defaults"]] - , "body": {"type": "CALL_EXPRESSION", "name": "sh-PATH"} - } - } - ] - , [ "sh-ENV" - , { "type": "if" - , "cond": {"type": "var", "name": "sh-PATH"} - , "then": - { "type": "singleton_map" - , "key": "PATH" - , "value": {"type": "var", "name": "sh-PATH"} - } - , "else": {"type": "empty_map"} - } - ] - , [ "PATH" - , { "type": "join" - , "separator": ":" - , "$1": - { "type": "nub_left" - , "$1": - { "type": "++" - , "$1": - [ {"type": "CALL_EXPRESSION", "name": "foreign-PATH"} - , {"type": "CALL_EXPRESSION", "name": "default-PATH"} - ] - } - } - } - ] - , [ "ENV" - , { "type": "map_union" - , "$1": - [ { "type": "env" - , "vars": - [ "CC" - , "CXX" - , "CFLAGS" - , "CXXFLAGS" - , "LDFLAGS" - , "AR" - , "MAKE" - , "PREFIX" - ] - } - , {"type": "var", "name": "sh-ENV"} - , {"type": "CALL_EXPRESSION", "name": "default-ENV"} - , {"type": "CALL_EXPRESSION", "name": "foreign-ENV"} - , {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} - ] - } - ] - , [ "SUBDIR" - , { "type": "join" - , "separator": "/" - , "$1": {"type": "var", "name": "subdir", "default": []} - } - ] - , [ "configure_args" - , { "type": "if" - , "cond": {"type": "var", "name": "configure"} - , "then": - { "type": "++" - , "$1": - [ {"type": "var", "name": "configure_options", "default": []} - , [ { "type": "join" - , "$1": ["--prefix=", {"type": "var", "name": "PREFIX"}] - } - ] - ] - } - } - ] - , [ "make_targets" - , { "type": "if" - , "cond": {"type": "var", "name": "make_targets"} - , "then": {"type": "var", "name": "make_targets"} - , "else": ["install"] - } - ] - , [ "script" - , { "type": "singleton_map" - , "key": "run_make.sh" - , "value": - { "type": "BLOB" - , "data": - { "type": "join" - , "separator": "\n" - , "$1": - { "type": "++" - , "$1": - [ [ "set -eu" - , "mkdir -p scratch install" - , "readonly ROOT=\"$(pwd)\"" - , "export TMPDIR=\"$(pwd)/scratch\"" - , "export DESTDIR=\"$(pwd)/install\"" - , "export TOOLCHAIN=\"$(pwd)/toolchain\"" - , "export LOCALBASE=\"$(pwd)/localbase\"" - , { "type": "if" - , "cond": - { "type": "lookup" - , "key": "CC" - , "map": {"type": "var", "name": "NON_SYSTEM_TOOLS"} - } - , "then": "export CC=$(pwd)/${CC}" - , "else": "" - } - , { "type": "if" - , "cond": - { "type": "lookup" - , "key": "CXX" - , "map": {"type": "var", "name": "NON_SYSTEM_TOOLS"} - } - , "then": "export CXX=$(pwd)/${CXX}" - , "else": "" - } - , { "type": "if" - , "cond": - { "type": "lookup" - , "key": "AR" - , "map": {"type": "var", "name": "NON_SYSTEM_TOOLS"} - } - , "then": "export AR=$(pwd)/${AR}" - , "else": "" - } - , { "type": "if" - , "cond": - { "type": "lookup" - , "key": "MAKE" - , "map": {"type": "var", "name": "NON_SYSTEM_TOOLS"} - } - , "then": "export MAKE=$(pwd)/${MAKE}" - , "else": "" - } - , { "type": "join" - , "$1": - [ "export PATH=" - , { "type": "join_cmd" - , "$1": [{"type": "var", "name": "PATH"}] - } - , "${PATH:+:}\"${PATH}\"" - ] - } - ] - , { "type": "if" - , "cond": {"type": "var", "name": "pre_cmds"} - , "then": - { "type": "++" - , "$1": - [ ["(", "set --", "cd ./source"] - , {"type": "var", "name": "pre_cmds"} - , [")"] - ] - } - } - , ["readonly SUBDIR=\"$1\"", "shift"] - , { "type": "if" - , "cond": {"type": "var", "name": "configure_args"} - , "then": - [ "( cd \"source/${SUBDIR}\"" - , { "type": "join" - , "$1": - [ "${ROOT}/expand_exec TMPDIR DESTDIR LOCALBASE CC CXX CFLAGS CXXFLAGS LDFLAGS AR PREFIX -- ./configure " - , { "type": "join_cmd" - , "$1": {"type": "var", "name": "configure_args"} - } - , " >\"${ROOT}/configure.log\" 2>&1 || (cat \"${ROOT}/configure.log\" && exit 1)" - ] - } - , ")" - ] - } - , { "type": "foreach" - , "range": {"type": "var", "name": "make_targets"} - , "var": "target" - , "body": - { "type": "join" - , "separator": " " - , "$1": - [ "${ROOT}/expand_exec TMPDIR DESTDIR LOCALBASE CC CXX CFLAGS CXXFLAGS LDFLAGS AR PREFIX" - , "--" - , "${MAKE} -C \"source/${SUBDIR}\" DESTDIR=${DESTDIR} \"$@\"" - , { "type": "join_cmd" - , "$1": [{"type": "var", "name": "target"}] - } - , ">>build.log 2>&1 || (cat build.log && exit 1)" - ] - } - } - , { "type": "if" - , "cond": {"type": "var", "name": "resolve_symlinks"} - , "then": - [ "mv install install_with_symlinks" - , "cp -rL install_with_symlinks install >copy.log 2>&1 || (echo 'ERROR: symlink resolve failed with:' && cat copy.log && exit 1)" - ] - } - , { "type": "if" - , "cond": {"type": "var", "name": "post_cmds"} - , "then": - { "type": "++" - , "$1": - [ ["(", "set --", "cd ./install"] - , {"type": "var", "name": "post_cmds"} - , [")"] - ] - } - } - ] - } - } - } - } - ] - ] - , "body": - { "type": "ACTION" - , "inputs": - { "type": "map_union" - , "$1": - [ {"type": "var", "name": "TOOLCHAIN"} - , {"type": "var", "name": "source_dir"} - , {"type": "var", "name": "expand_exec"} - , { "type": "var" - , "name": "localbase_dir" - , "default": {"type": "empty_map"} - } - , {"type": "var", "name": "script"} - ] - } - , "cmd": - { "type": "++" - , "$1": - [ [{"type": "var", "name": "sh"}, "run_make.sh"] - , [{"type": "var", "name": "SUBDIR"}] - , {"type": "var", "name": "make_options"} - , { "type": "if" - , "cond": {"type": "var", "name": "make_jobs"} - , "then": - [ { "type": "join" - , "$1": - { "type": "++" - , "$1": [["-j"], {"type": "var", "name": "make_jobs"}] - } - } - ] - } - ] - } - , "out_dirs": ["install"] - , "env": {"type": "var", "name": "ENV"} - , "timeout scaling": - {"type": "var", "name": "TIMEOUT_SCALE", "default": 10.0} - , "execution properties": - {"type": "var", "name": "FOREIGN_EXECUTION_PROPERTIES"} - } - } - } -} |