develooper Front page | perl.perl5.porters | Postings from July 2013

[perl #38307] make clean with 5.8.8-RC1

Thread Previous | Thread Next
From:
James E Keenan via RT
Date:
July 29, 2013 23:14
Subject:
[perl #38307] make clean with 5.8.8-RC1
Message ID:
rt-3.6.HEAD-2552-1375139628-560.38307-15-0@perl.org
On Mon Jul 29 03:02:42 2013, nicholas wrote:
> On Sat, Jun 29, 2013 at 06:22:24PM -0700, James E Keenan via RT wrote:
> > On Sat May 26 17:43:55 2012, jkeenan wrote:
> > > On Mon Jan 23 08:33:41 2006, doughera wrote:
> > > > On Mon, 23 Jan 2006, Nicholas Clark wrote:
> > > >
> > > > > On Sun, Jan 22, 2006 at 05:56:36AM -0800, Fergal Daly wrote:
> > > > > > # New Ticket Created by  Fergal Daly
> > > > > > # Please include the string:  [perl #38307]
> > > > > > # in the subject line of all future correspondence about
> this
> > issue.
> > > > > > # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=38307
> >
> > > > > >
> > > > > >
> > > > > > I decided to change some config params (run Configure -D
> prefix=...
> > > > > > -d) and recompile. I cancelled the recompile very soon into
> it and
> > > > > > typed
> > > > > >
> > > > > > make clean
> > > > > >
> > > > > > but that sent it into more compilation. So it looks like the
> clean
> > > > > > target depends on something that causes compilation.
> Transcript of
> > > > > > make clean output below,
> > > >
> > > > That could well be.  The 'clean' target has never been
> documented for
> > > just
> > > > such reasons.  I'm not sure if it really does anything useful.
> The only
> > > > two targets documented as being useful in the INSTALL file are
> > > 'realclean'
> > > > and 'distclean'.
> > > >

> >
> > Any further thoughts on this?  If Perl's 'make clean' is not going
> to do
> > anything particularly useful, shouldn't we explicitly document that
> fact?
> 
> 
> I don't think that a solution exists, to be able to unconditionally
> do proper cleanup whilst also never actually doing any building under
> any circumstances.
> 
> So if the definition of "useful" is that "under no circumstances does
> it
> build anything", then it's impossible to attain.
> 
> (Either for clean or for distclean)
> 
> The problem is that we don't even know the complete set of build
> products
> until we have run Perl code using miniperl. So we can't know what to
> delete
> until we have a miniperl. And there are dependency rules to determine
> that
> miniperl is up to date before it is run, and those dependencies apply
> just
> as much to the clean targets.
> 
> The clean targets do ultimately delete things. The problem is that if
> the
> build has got far enough to *build* things using intermediate build
> products (ie miniperl), then the clean targets need to use those
> intermediate build products to do the deletions, so (as coded) they
> have to
> ensure those build products are built before they can run them to
> clean up.
> 
> The ultimate result is correct (or at least, I'm not aware of
> systematic
> bugs where it is not), but it takes a convoluted route to get there,
> and I
> can't see how to avoid that route.
> 
> Nicholas Clark
> 

Fergal, Nicholas:  Please review the patch to INSTALL attached.

Thank you very much.
Jim Keenan

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org:443/rt3/Ticket/Display.html?id=38307

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About