summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CC/foreign/EXPRESSIONS91
-rw-r--r--CC/foreign/RULES167
-rw-r--r--CC/foreign/TARGETS7
-rw-r--r--CC/foreign/cmake/EXPRESSIONS97
-rw-r--r--CC/foreign/cmake/RULES6
-rw-r--r--CC/foreign/make/EXPRESSIONS59
-rw-r--r--CC/foreign/make/RULES6
7 files changed, 419 insertions, 14 deletions
diff --git a/CC/foreign/EXPRESSIONS b/CC/foreign/EXPRESSIONS
index 1692f83..fe15df3 100644
--- a/CC/foreign/EXPRESSIONS
+++ b/CC/foreign/EXPRESSIONS
@@ -1,4 +1,93 @@
-{ "strip-prefix":
+{ "default-MAKE":
+ { "vars": ["defaults-transition"]
+ , "imports": {"list_provider": ["./", "../..", "field_list_provider"]}
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ ["fieldname", "foreign-defaults"]
+ , ["provider", "MAKE"]
+ , ["transition", {"type": "var", "name": "defaults-transition"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ }
+ }
+, "default-CMAKE":
+ { "vars": ["defaults-transition"]
+ , "imports": {"list_provider": ["./", "../..", "field_list_provider"]}
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ ["fieldname", "foreign-defaults"]
+ , ["provider", "CMAKE"]
+ , ["transition", {"type": "var", "name": "defaults-transition"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ }
+ }
+, "default-ENV":
+ { "vars": ["defaults-transition"]
+ , "imports": {"map_provider": ["", "field_map_provider"]}
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ ["fieldname", "foreign-defaults"]
+ , ["provider", "ENV"]
+ , ["transition", {"type": "var", "name": "defaults-transition"}]
+ , ["default", {"type": "empty_map"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"}
+ }
+ }
+, "default-PATH":
+ { "vars": ["defaults-transition"]
+ , "imports": {"list_provider": ["./", "../..", "field_list_provider"]}
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ ["fieldname", "foreign-defaults"]
+ , ["provider", "PATH"]
+ , ["transition", {"type": "var", "name": "defaults-transition"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ }
+ }
+, "default-TOOLCHAIN":
+ { "vars": ["defaults-transition"]
+ , "imports": {"map_provider": ["", "field_map_provider"]}
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ ["fieldname", "foreign-defaults"]
+ , ["provider", "TOOLCHAIN"]
+ , ["transition", {"type": "var", "name": "defaults-transition"}]
+ , ["default", {"type": "empty_map"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"}
+ }
+ }
+, "default-NON_SYSTEM_TOOLS":
+ { "vars": ["defaults-transition"]
+ , "expression":
+ { "type": "map_union"
+ , "$1":
+ { "type": "foreach"
+ , "var": "x"
+ , "range": {"type": "FIELD", "name": "foreign-defaults"}
+ , "body":
+ { "type": "DEP_PROVIDES"
+ , "dep": {"type": "var", "name": "x"}
+ , "provider": "NON_SYSTEM_TOOLS"
+ , "transition":
+ { "type": "var"
+ , "name": "defaults-transition"
+ , "default": {"type": "empty_map"}
+ }
+ , "default": {"type": "empty_map"}
+ }
+ }
+ }
+ }
+, "strip-prefix":
{ "doc":
[ "Returns list of artifact maps (each map contains a single artifact)"
, "with the given prefix being stripped from their path."
diff --git a/CC/foreign/RULES b/CC/foreign/RULES
new file mode 100644
index 0000000..6a48f1d
--- /dev/null
+++ b/CC/foreign/RULES
@@ -0,0 +1,167 @@
+{ "defaults":
+ { "doc":
+ [ "A rule to provide defaults for foreign rules."
+ , "All foreign rules take their defaults for MAKE, CMAKE, etc from"
+ , "the target [\"CC/foreign\", \"defaults\"]."
+ ]
+ , "target_fields": ["base", "toolchain"]
+ , "string_fields": ["MAKE", "CMAKE", "PATH", "SYSTEM_TOOLS"]
+ , "field_doc":
+ { "base": ["Other targets (using the same rule) to inherit values from."]
+ , "toolchain":
+ [ "Optional toolchain directory. A collection of artifacts that provide"
+ , "the tools MAKE, CMAKE. Note that only artifacts of"
+ , "the specified targets are considered (no runfiles etc.). Specifying"
+ , "this field extends artifacts from \"base\"."
+ ]
+ , "MAKE": ["The make binary to use"]
+ , "CMAKE": ["The cmake binary to use"]
+ , "SYSTEM_TOOLS":
+ [ "List of tools (\"MAKE\", \"CMAKE\") that should be taken from"
+ , "the system instead of from \"toolchain\" (if specified)."
+ ]
+ , "PATH":
+ [ "Path for looking up the tools. Individual paths are joined with"
+ , "with \":\". Specifying this field extends values from \"base\"."
+ ]
+ }
+ , "config_vars": ["ARCH", "HOST_ARCH"]
+ , "imports":
+ { "base-provides": ["./", "..", "defaults-base-provides"]
+ , "base-provides-list": ["./", "..", "defaults-base-provides-list"]
+ , "artifacts_list": ["./", "../..", "field_artifacts_list"]
+ , "nub_left": ["", "nub_left"]
+ , "for host": ["transitions", "for host"]
+ }
+ , "config_transitions":
+ {"toolchain": [{"type": "CALL_EXPRESSION", "name": "for host"}]}
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ ["MAKE", {"type": "FIELD", "name": "MAKE"}]
+ , ["CMAKE", {"type": "FIELD", "name": "CMAKE"}]
+ , ["PATH", {"type": "FIELD", "name": "PATH"}]
+ , ["provider", "MAKE"]
+ , [ "MAKE"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "MAKE"}
+ , "then": {"type": "var", "name": "MAKE"}
+ , "else": {"type": "CALL_EXPRESSION", "name": "base-provides"}
+ }
+ ]
+ , ["provider", "CMAKE"]
+ , [ "CMAKE"
+ , { "type": "if"
+ , "cond": {"type": "var", "name": "CMAKE"}
+ , "then": {"type": "var", "name": "CMAKE"}
+ , "else": {"type": "CALL_EXPRESSION", "name": "base-provides"}
+ }
+ ]
+ , ["provider", "PATH"]
+ , [ "PATH"
+ , { "type": "++"
+ , "$1":
+ [ {"type": "var", "name": "PATH"}
+ , { "type": "++"
+ , "$1": {"type": "CALL_EXPRESSION", "name": "base-provides-list"}
+ }
+ ]
+ }
+ ]
+ , [ "PATH"
+ , { "type": "let*"
+ , "bindings": [["list", {"type": "var", "name": "PATH"}]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"}
+ }
+ ]
+ , ["provider", "ENV"]
+ , ["default", {"type": "empty_map"}]
+ , ["ENV", {"type": "CALL_EXPRESSION", "name": "base-provides"}]
+ , ["provider", "NON_SYSTEM_TOOLS"]
+ , ["default", {"type": "empty_map"}]
+ , [ "NON_SYSTEM_TOOLS"
+ , { "type": "map_union"
+ , "$1":
+ { "type": "++"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "base-provides-list"}
+ , { "type": "if"
+ , "cond": {"type": "FIELD", "name": "MAKE"}
+ , "then":
+ [ { "type": "singleton_map"
+ , "key": "MAKE"
+ , "value":
+ { "type": "if"
+ , "cond": {"type": "FIELD", "name": "toolchain"}
+ , "then": true
+ , "else": false
+ }
+ }
+ ]
+ }
+ , { "type": "if"
+ , "cond": {"type": "FIELD", "name": "CMAKE"}
+ , "then":
+ [ { "type": "singleton_map"
+ , "key": "CMAKE"
+ , "value":
+ { "type": "if"
+ , "cond": {"type": "FIELD", "name": "toolchain"}
+ , "then": true
+ , "else": false
+ }
+ }
+ ]
+ }
+ , { "type": "foreach"
+ , "range": {"type": "FIELD", "name": "SYSTEM_TOOLS"}
+ , "var": "tool"
+ , "body":
+ { "type": "singleton_map"
+ , "key": {"type": "var", "name": "tool"}
+ , "value": false
+ }
+ }
+ ]
+ }
+ }
+ ]
+ , ["provider", "TOOLCHAIN"]
+ , ["default", {"type": "empty_map"}]
+ , [ "TOOLCHAIN"
+ , { "type": "disjoint_map_union"
+ , "msg": "toolchain artifacts may not overlap"
+ , "$1":
+ { "type": "++"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "base-provides-list"}
+ , { "type": "if"
+ , "cond": {"type": "FIELD", "name": "toolchain"}
+ , "then":
+ { "type": "let*"
+ , "bindings":
+ [ ["fieldname", "toolchain"]
+ , [ "transition"
+ , {"type": "CALL_EXPRESSION", "name": "for host"}
+ ]
+ ]
+ , "body":
+ {"type": "CALL_EXPRESSION", "name": "artifacts_list"}
+ }
+ }
+ ]
+ }
+ }
+ ]
+ ]
+ , "body":
+ { "type": "RESULT"
+ , "provides":
+ { "type": "env"
+ , "vars":
+ ["MAKE", "CMAKE", "PATH", "ENV", "TOOLCHAIN", "NON_SYSTEM_TOOLS"]
+ }
+ }
+ }
+ }
+}
diff --git a/CC/foreign/TARGETS b/CC/foreign/TARGETS
new file mode 100644
index 0000000..5fbb6a9
--- /dev/null
+++ b/CC/foreign/TARGETS
@@ -0,0 +1,7 @@
+{ "defaults":
+ { "type": ["CC/foreign", "defaults"]
+ , "MAKE": ["make"]
+ , "CMAKE": ["cmake"]
+ , "PATH": ["/bin", "/usr/bin"]
+ }
+}
diff --git a/CC/foreign/cmake/EXPRESSIONS b/CC/foreign/cmake/EXPRESSIONS
index e762e58..9956bda 100644
--- a/CC/foreign/cmake/EXPRESSIONS
+++ b/CC/foreign/cmake/EXPRESSIONS
@@ -39,6 +39,12 @@
, "default-TOOLCHAIN": ["CC", "default-TOOLCHAIN"]
, "default-NON_SYSTEM_TOOLS": ["CC", "default-NON_SYSTEM_TOOLS"]
, "expand_exec_tool": ["./", "..", "expand_exec_tool"]
+ , "foreign-MAKE": ["CC/foreign", "default-MAKE"]
+ , "foreign-CMAKE": ["CC/foreign", "default-CMAKE"]
+ , "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"]
}
, "expression":
{ "type": "let*"
@@ -54,7 +60,15 @@
}
]
, ["TOOLCHAIN_DIR", "toolchain"]
- , ["TOOLCHAIN", {"type": "CALL_EXPRESSION", "name": "default-TOOLCHAIN"}]
+ , [ "TOOLCHAIN"
+ , { "type": "disjoint_map_union"
+ , "msg": "Toolchain trees may not overlap"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "foreign-TOOLCHAIN"}
+ , {"type": "CALL_EXPRESSION", "name": "default-TOOLCHAIN"}
+ ]
+ }
+ ]
, [ "TOOLCHAIN"
, { "type": "to_subdir"
, "subdir": {"type": "var", "name": "TOOLCHAIN_DIR"}
@@ -62,7 +76,12 @@
}
]
, [ "NON_SYSTEM_TOOLS"
- , {"type": "CALL_EXPRESSION", "name": "default-NON_SYSTEM_TOOLS"}
+ , { "type": "map_union"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "foreign-NON_SYSTEM_TOOLS"}
+ , {"type": "CALL_EXPRESSION", "name": "default-NON_SYSTEM_TOOLS"}
+ ]
+ }
]
, [ "CMAKE_FLAGS"
, { "type": "++"
@@ -85,6 +104,42 @@
}
]
, ["BUILD_POSITION_INDEPENDENT", null]
+ , [ "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"}
+ ]
+ }
+ }
+ ]
+ , [ "CMAKE"
+ , { "type": "join"
+ , "$1":
+ { "type": "++"
+ , "$1":
+ [ { "type": "if"
+ , "cond":
+ { "type": "lookup"
+ , "key": "CMAKE"
+ , "map": {"type": "var", "name": "NON_SYSTEM_TOOLS"}
+ }
+ , "then": ["./", {"type": "var", "name": "TOOLCHAIN_DIR"}, "/"]
+ }
+ , {"type": "CALL_EXPRESSION", "name": "foreign-CMAKE"}
+ ]
+ }
+ }
+ ]
, ["CC", {"type": "CALL_EXPRESSION", "name": "compiler-cc"}]
, ["CXX", {"type": "CALL_EXPRESSION", "name": "compiler-cxx"}]
, [ "CFLAGS"
@@ -153,9 +208,19 @@
, { "type": "map_union"
, "$1":
[ { "type": "env"
- , "vars": ["CC", "CXX", "CXXFLAGS", "CFLAGS", "LDFLAGS", "AR"]
+ , "vars":
+ [ "CC"
+ , "CXX"
+ , "CXXFLAGS"
+ , "CFLAGS"
+ , "LDFLAGS"
+ , "AR"
+ , "MAKE"
+ , "CMAKE"
+ ]
}
, {"type": "CALL_EXPRESSION", "name": "default-ENV"}
+ , {"type": "CALL_EXPRESSION", "name": "foreign-ENV"}
, {"type": "var", "name": "ENV", "default": {"type": "empty_map"}}
]
}
@@ -205,6 +270,8 @@
, "export TMPDIR=\"$(pwd)/scratch\""
, "export TOOLCHAIN=\"$(pwd)/toolchain\""
, "export LOCALBASE=\"$(pwd)/localbase\""
+ , "export MAKE=$([ -x \"${MAKE}\" ] && realpath ${MAKE} || echo ${MAKE})"
+ , "export CMAKE=$([ -x \"${CMAKE}\" ] && realpath ${CMAKE} || echo ${CMAKE})"
, { "type": "join"
, "$1":
[ "export PATH=\"$(./expand_exec TOOLCHAIN -- echo "
@@ -229,7 +296,23 @@
, [ "readonly CMAKE_SUBDIR=\"$1\""
, "readonly CMAKE_AR=$(command -v $2)"
, "shift 2"
- , "${ROOT}/expand_exec TMPDIR LOCALBASE CC CXX CFLAGS CXXFLAGS LDFLAGS AR -- cmake -S\"source/${CMAKE_SUBDIR}\" -Bbuild -DCMAKE_AR=${CMAKE_AR} -DCMAKE_INSTALL_PREFIX=./install -DCMAKE_PREFIX_PATH=\"$LOCALBASE\" -DPKG_CONFIG_ARGN=--define-prefix --no-warn-unused-cli \"$@\" >configure.log 2>&1 || (cat configure.log && exit 1)"
+ ]
+ , [ { "type": "join"
+ , "separator": " "
+ , "$1":
+ [ "${ROOT}/expand_exec TMPDIR LOCALBASE CC CXX CFLAGS CXXFLAGS LDFLAGS AR"
+ , "--"
+ , "${CMAKE} -S\"source/${CMAKE_SUBDIR}\" -Bbuild"
+ , "-DCMAKE_MAKE_PROGRAM=${MAKE}"
+ , "-DCMAKE_AR=${CMAKE_AR}"
+ , "-DCMAKE_INSTALL_PREFIX=./install"
+ , "-DCMAKE_PREFIX_PATH=\"$(pwd)/localbase\""
+ , "-DPKG_CONFIG_ARGN=--define-prefix"
+ , "--no-warn-unused-cli"
+ , "\"$@\""
+ , ">configure.log 2>&1 || (cat configure.log && exit 1)"
+ ]
+ }
]
, { "type": "foreach"
, "range": {"type": "var", "name": "cmake_targets"}
@@ -241,11 +324,13 @@
{ "type": "++"
, "$1":
[ {"type": "var", "name": "CMAKE_JOBS"}
- , [ "${ROOT}/expand_exec TMPDIR LOCALBASE CC CXX CFLAGS CXXFLAGS LDFLAGS AR -- cmake --build build --target"
+ , [ "${ROOT}/expand_exec TMPDIR LOCALBASE CC CXX CFLAGS CXXFLAGS LDFLAGS AR"
+ , "--"
+ , "${CMAKE} --build build --target"
, { "type": "join_cmd"
, "$1": [{"type": "var", "name": "target"}]
}
- , ">>build.log 2>&1 || (cat build.log && exit 1)"
+ , ">>build.log 2>&1 || (cat configure.log build.log && exit 1)"
]
]
}
diff --git a/CC/foreign/cmake/RULES b/CC/foreign/cmake/RULES
index 63d6e48..5f7c4f8 100644
--- a/CC/foreign/cmake/RULES
+++ b/CC/foreign/cmake/RULES
@@ -35,7 +35,10 @@
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
]
- , "implicit": {"defaults": [["CC", "defaults"]]}
+ , "implicit":
+ { "defaults": [["CC", "defaults"]]
+ , "foreign-defaults": [["CC/foreign", "defaults"]]
+ }
, "field_doc":
{ "project":
["The CMake project directory. It should contain a single tree artifact"]
@@ -298,6 +301,7 @@
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
+ , "foreign-defaults": [["CC/foreign", "defaults"]]
, "config_reader": [["CC", "prebuilt/read_pkgconfig.py"]]
}
, "field_doc":
diff --git a/CC/foreign/make/EXPRESSIONS b/CC/foreign/make/EXPRESSIONS
index 36ac152..bf72594 100644
--- a/CC/foreign/make/EXPRESSIONS
+++ b/CC/foreign/make/EXPRESSIONS
@@ -41,6 +41,11 @@
, "default-TOOLCHAIN": ["CC", "default-TOOLCHAIN"]
, "default-NON_SYSTEM_TOOLS": ["CC", "default-NON_SYSTEM_TOOLS"]
, "expand_exec_tool": ["./", "..", "expand_exec_tool"]
+ , "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"]
}
, "expression":
{ "type": "let*"
@@ -56,7 +61,15 @@
}
]
, ["TOOLCHAIN_DIR", "toolchain"]
- , ["TOOLCHAIN", {"type": "CALL_EXPRESSION", "name": "default-TOOLCHAIN"}]
+ , [ "TOOLCHAIN"
+ , { "type": "disjoint_map_union"
+ , "msg": "Toolchain trees may not overlap"
+ , "$1":
+ [ {"type": "CALL_EXPRESSION", "name": "foreign-TOOLCHAIN"}
+ , {"type": "CALL_EXPRESSION", "name": "default-TOOLCHAIN"}
+ ]
+ }
+ ]
, [ "TOOLCHAIN"
, { "type": "to_subdir"
, "subdir": {"type": "var", "name": "TOOLCHAIN_DIR"}
@@ -64,7 +77,30 @@
}
]
, [ "NON_SYSTEM_TOOLS"
- , {"type": "CALL_EXPRESSION", "name": "default-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"}]
@@ -150,9 +186,18 @@
, "$1":
[ { "type": "env"
, "vars":
- ["CC", "CXX", "CFLAGS", "CXXFLAGS", "LDFLAGS", "AR", "PREFIX"]
+ [ "CC"
+ , "CXX"
+ , "CFLAGS"
+ , "CXXFLAGS"
+ , "LDFLAGS"
+ , "AR"
+ , "MAKE"
+ , "PREFIX"
+ ]
}
, {"type": "CALL_EXPRESSION", "name": "default-ENV"}
+ , {"type": "CALL_EXPRESSION", "name": "foreign-ENV"}
, {"type": "var", "name": "ENV", "default": {"type": "empty_map"}}
]
}
@@ -203,6 +248,7 @@
, "export DESTDIR=\"$(pwd)/install\""
, "export TOOLCHAIN=\"$(pwd)/toolchain\""
, "export LOCALBASE=\"$(pwd)/localbase\""
+ , "export MAKE=$([ -x \"${MAKE}\" ] && realpath ${MAKE} || echo ${MAKE})"
, { "type": "join"
, "$1":
[ "export PATH=\"$(./expand_exec TOOLCHAIN -- echo "
@@ -246,12 +292,15 @@
, "var": "target"
, "body":
{ "type": "join"
+ , "separator": " "
, "$1":
- [ "${ROOT}/expand_exec TMPDIR DESTDIR LOCALBASE CC CXX CFLAGS CXXFLAGS LDFLAGS AR PREFIX -- make DESTDIR=${DESTDIR} -C \"source/${SUBDIR}\" \"$@\" "
+ [ "${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)"
+ , ">>build.log 2>&1 || (cat build.log && exit 1)"
]
}
}
diff --git a/CC/foreign/make/RULES b/CC/foreign/make/RULES
index 79e6b2b..08e5414 100644
--- a/CC/foreign/make/RULES
+++ b/CC/foreign/make/RULES
@@ -38,7 +38,10 @@
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
]
- , "implicit": {"defaults": [["CC", "defaults"]]}
+ , "implicit":
+ { "defaults": [["CC", "defaults"]]
+ , "foreign-defaults": [["CC/foreign", "defaults"]]
+ }
, "field_doc":
{ "project":
["The Make project directory. It should contain a single tree artifact"]
@@ -318,6 +321,7 @@
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
+ , "foreign-defaults": [["CC/foreign", "defaults"]]
, "config_reader": [["CC", "prebuilt/read_pkgconfig.py"]]
}
, "field_doc":