example conversion of eatureconf
-mike

--- autotools.eclass
+++ autotools.eclass
@@ -16,7 +16,7 @@
 if [[ ${___ECLASS_ONCE_AUTOTOOLS} != "recur -_+^+_- spank" ]] ; then
 ___ECLASS_ONCE_AUTOTOOLS="recur -_+^+_- spank"
 
-inherit libtool
+inherit libtool multiprocessing
 
 # @ECLASS-VARIABLE: WANT_AUTOCONF
 # @DESCRIPTION:
@@ -144,14 +144,24 @@ unset _automake_atom _autoconf_atom
 # Should do a full autoreconf - normally what most people will be interested 
in.
 # Also should handle additional directories specified by AC_CONFIG_SUBDIRS.
 eautoreconf() {
-       local x g
+       local x g multitop
 
-       if [[ -z ${AT_NO_RECURSIVE} ]]; then
+       if [[ -z ${AT_TOPLEVEL_EAUTORECONF} ]] ; then
+               AT_TOPLEVEL_EAUTORECONF="yes"
+               multitop="yes"
+               multijob_init
+       fi
+
+       if [[ -z ${AT_NO_RECURSIVE} ]] ; then
                # Take care of subdirs
                for x in $(autotools_check_macro_val AC_CONFIG_SUBDIRS) ; do
                        if [[ -d ${x} ]] ; then
                                pushd "${x}" >/dev/null
+                               (
+                               multijob_child_init
                                AT_NOELIBTOOLIZE="yes" eautoreconf
+                               ) &
+                               multijob_post_fork || die
                                popd >/dev/null
                        fi
                done
@@ -196,11 +206,16 @@ eautoreconf() {
        eautoheader
        [[ ${AT_NOEAUTOMAKE} != "yes" ]] && FROM_EAUTORECONF="yes" eautomake 
${AM_OPTS}
 
-       [[ ${AT_NOELIBTOOLIZE} == "yes" ]] && return 0
+       if [[ ${AT_NOELIBTOOLIZE} != "yes" ]] ; then
+               # Call it here to prevent failures due to elibtoolize called 
_before_
+               # eautoreconf.  We set $S because elibtoolize runs on that 
#265319
+               S=${PWD} elibtoolize --force
+       fi
 
-       # Call it here to prevent failures due to elibtoolize called _before_
-       # eautoreconf.  We set $S because elibtoolize runs on that #265319
-       S=${PWD} elibtoolize --force
+       if [[ -n ${multitop} ]] ; then
+               unset AT_TOPLEVEL_EAUTORECONF
+               multijob_finish || die
+       fi
 
        return 0
 }

Attachment: signature.asc
Description: This is a digitally signed message part.



Reply via email to