vapier      14/11/21 09:17:07

  Modified:             autotools.eclass
  Log:
  drop parallel support for now until we can safely add locking on sub-steps 
#529404 by Alexander Tsoy

Revision  Changes    Path
1.170                eclass/autotools.eclass

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools.eclass?rev=1.170&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools.eclass?rev=1.170&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools.eclass?r1=1.169&r2=1.170

Index: autotools.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v
retrieving revision 1.169
retrieving revision 1.170
diff -u -r1.169 -r1.170
--- autotools.eclass    15 Nov 2014 07:50:02 -0000      1.169
+++ autotools.eclass    21 Nov 2014 09:17:07 -0000      1.170
@@ -1,6 +1,6 @@
 # Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.169 2014/11/15 
07:50:02 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.170 2014/11/21 
09:17:07 vapier Exp $
 
 # @ECLASS: autotools.eclass
 # @MAINTAINER:
@@ -26,7 +26,7 @@
 if [[ -z ${_AUTOTOOLS_ECLASS} ]]; then
 _AUTOTOOLS_ECLASS=1
 
-inherit libtool multiprocessing
+inherit libtool
 
 # @ECLASS-VARIABLE: WANT_AUTOCONF
 # @DESCRIPTION:
@@ -163,26 +163,22 @@
 # 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 multitop
-
-       if [[ -z ${AT_TOPLEVEL_EAUTORECONF} ]] ; then
-               AT_TOPLEVEL_EAUTORECONF="yes"
-               multitop="yes"
-               multijob_init
-       fi
+       local x g
 
+       # Subdirs often share a common build dir #529404.  If so, we can't 
safely
+       # run in parallel because many tools clobber the content in there.  
Libtool
+       # and automake both `rm && cp` while aclocal reads the output.  We 
might be
+       # able to handle this if we split the steps and grab locks on the dirs 
the
+       # tools actually write to.  Then we'd run all the common tools that use
+       # those inputs.  Doing this in bash does not scale easily.
+       # If we do re-enable parallel support, make sure #426512 is handled.
        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
-                               if [[ -z ${PAST_TOPLEVEL_EAUTORECONF} ]] ; then
-                                       PAST_TOPLEVEL_EAUTORECONF="yes" 
AT_NOELIBTOOLIZE="yes" \
-                                               multijob_child_init eautoreconf 
|| die
-                               else
-                                       # Avoid unsafe nested 
multijob_finish_one for bug #426512.
-                                       AT_NOELIBTOOLIZE="yes" eautoreconf || 
die
-                               fi
+                               # Avoid unsafe nested multijob_finish_one for 
bug #426512.
+                               AT_NOELIBTOOLIZE="yes" eautoreconf || die
                                popd >/dev/null
                        fi
                done
@@ -236,11 +232,6 @@
                elibtoolize --force "${PWD}"
        fi
 
-       if [[ -n ${multitop} ]] ; then
-               unset AT_TOPLEVEL_EAUTORECONF
-               multijob_finish || die
-       fi
-
        return 0
 }
 




Reply via email to