--- 003-in-source-doc/multilib-minimal.eclass 2013-12-03 02:45:19.428664959 -0800 +++ 003-in-source-doc/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__all functions. +# +# multilib__all is called once only, after the per-ABI +# multilib_src_ functions complete, with BUILD_DIR and +# the current working directory set to the same values as they +# were when multilib-minimal_ 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_ +# directly; doing so is mostly equivalent to +# implementing multilib_src__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() {