This patch adds multilib_src_{configure,compile,test}_all
callbacks, analogous to the existing multilib_src_install_all
callback.
--- 003-in-source-doc/multilib-minimal.eclass 2013-12-03 02:45:19.428664959 -0800
+++ 004-multilib-phase-all/multilib-minimal.eclass 2013-12-03 02:54:40.045335905 -0800
@@ -86,6 +86,20 @@
# as out-of-tree builds will not be building in the same directory as
# the configure script.
#
+# Non-abi-specific functionality is accomodated by an additional
+# set of callbacks, the multilib_<phase>_all functions.
+#
+# multilib_<phase>_all is called once only, after the per-ABI
+# multilib_src_<phase> functions complete, with BUILD_DIR and
+# the current working directory set to the same values as they
+# were when multilib-minimal_<phase> was invoked.
+# mutilib_src_configure is an exception; it runs before the
+# per-ABI configure steps. Consumers may also implement their
+# own phase functions, and invoke multilib-minimal_<phase>
+# directly; doing so is mostly equivalent to
+# implementing multilib_src_<phase>_all, although it may result
+# in more confusing code.
+#
# EAPI >= 4 is required by multilib minimial, as without it,
# the ${MULTILIB_USEDEP} variable cannot be correctly implemented.
#
@@ -144,6 +158,9 @@ multilib-minimal_src_configure() {
popd >/dev/null || die
}
+ if declare -f multilib_src_configure_all > /dev/null ; then
+ multilib_src_configure_all
+ fi
multilib_foreach_abi multilib-minimal_abi_src_configure
}
@@ -163,6 +180,9 @@ multilib-minimal_src_compile() {
}
multilib_foreach_abi multilib-minimal_abi_src_compile
+ if declare -f multilib_src_compile_all > /dev/null ; then
+ multilib_src_compile_all
+ fi
}
multilib-minimal_src_test() {
@@ -181,6 +201,9 @@ multilib-minimal_src_test() {
}
multilib_foreach_abi multilib-minimal_abi_src_test
+ if declare -f multilib_src_test_all >/dev/null ; then
+ multilib_src_test_all
+ fi
}
multilib-minimal_src_install() {