Return-Path: X-Original-To: apmail-incubator-ooo-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-ooo-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 501F19B5E for ; Thu, 23 Feb 2012 14:35:01 +0000 (UTC) Received: (qmail 10043 invoked by uid 500); 23 Feb 2012 14:35:01 -0000 Delivered-To: apmail-incubator-ooo-dev-archive@incubator.apache.org Received: (qmail 9966 invoked by uid 500); 23 Feb 2012 14:35:01 -0000 Mailing-List: contact ooo-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ooo-dev@incubator.apache.org Delivered-To: mailing list ooo-dev@incubator.apache.org Received: (qmail 9958 invoked by uid 99); 23 Feb 2012 14:35:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Feb 2012 14:35:00 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of gcaiod-ooo-dev@m.gmane.org designates 80.91.229.3 as permitted sender) Received: from [80.91.229.3] (HELO plane.gmane.org) (80.91.229.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Feb 2012 14:34:53 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1S0Zkd-0001BE-U8 for ooo-dev@incubator.apache.org; Thu, 23 Feb 2012 15:34:31 +0100 Received: from 31-18-97-194-dynip.superkabel.de ([31.18.97.194]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 23 Feb 2012 15:34:31 +0100 Received: from Armin.Le.Grand by 31-18-97-194-dynip.superkabel.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 23 Feb 2012 15:34:31 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: ooo-dev@incubator.apache.org From: Armin Le Grand Subject: Re: Removing output trees during the bootstrap step? Date: Thu, 23 Feb 2012 15:34:22 +0100 Lines: 61 Message-ID: References: <4F4643EF.6050503@apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 31-18-97-194-dynip.superkabel.de User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 In-Reply-To: <4F4643EF.6050503@apache.org> Hi Herbert, On 23.02.2012 14:49, Herbert Duerr wrote: > For a long time the old build system had the problem that build > dependencies between modules had to be set manually and this was quite > fragile, of course. It can result in obvious trouble like compile or > link failures and what is more troubling are subtle problems, like > struct changes going unnoticed by a source file depending on it. The > result are hard to debug and "interesting" artifacts. The dependencies for files are now global (see e.g. trunk\main\solver\340\wntmsci12\workdir\Dep\CxxObject\svx\source\svdraw\svdobj.d in a built win environment), it's not like in the old in-house build system. This is because MKDEPENDSOLVER=TRUE is the default now (I ofteh set that var since I needed glopal deps for incompatible builds from svx which happened often to me). Thus, for building incompatible you do not need to remove the output trees, I use it and it works pretty well. For changed configure options it may be pretty different, thus when changing the configuration for an already built trunk you still have to know what you are doing. Still, I would not make it a default to remove all output trees on default when using bootstrap. > The gbuild process has many benefits one of which is its automatic > handling of dependencies. Volunteers are very welcome to migrate the > remaining modules. In the meantime we have to deal with the dual > gbuild/oldbuild process which complicates the dependency problem more. > The manually set dependencies of the old build system where also not > perfectly debugged which showed when the build order was changed, e.g. > by doing a highly parallel builds on beefy buildbots. Fixing all to the > the old-build dependencies would help too, volunteers are very welcome. > > Looking for a solution that works reliably for the very near future I'm > considering to add a "clean output trees" to the bootstrap step. It > would make sure that all is rebuilt when the configuration gets changed. > Of course you could prevent that (by setting an environment variable > DO_KEEP_OUTPUT_TREES) but the default should be to go the "better safe > than sorry" way. > > --- a/main/bootstrap.1 > +++ b/main/bootstrap.1 > @@ -22,3 +22,11 @@ if [ "$DO_FETCH_TARBALLS" = "yes" ]; then > $SRC_ROOT/fetch_tarballs.sh $SRC_ROOT/ooo.lst > fi > > +# remove all output trees > +# TODO: this is no longer needed when all dependencies are perfect > +# or when the switch to the gbuild system is complete > +if [[ -n "$DO_KEEP_OUTPUT_TREES" && -n $INPATH && -n $OUTDIR ]]; then > + echo Removing the output trees > + rm -rf "*/${INPATH}" "${OUTDIR}" > +fi > + > > Herbert >