cons-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build pruning


From: Tony Kolarik
Subject: Re: Build pruning
Date: Sat, 14 Oct 2000 18:02:15 -0400

If I understand the problem he only wants to build the "stuff" directory,
and +foo[AB]/Conscript would build fooA and fooB in addition to "stuff".  I
think he's right that the regexp approach doesn't work with nested
Conscripts that Build(), as opposed to Build()'ing all the conscripts in
one master file.

It looks like the problem might be this line (666 in 2.0.2)  in Build()
     next if $param::include && $file->path !~ /$param::include/o;
which prevents reading the tree of included Conscripts if you haven't
listed the whole path in the regexp. Seems like you'd need to descend the
tree in doscripts() ("do $path") and remove the parents afterwards somehow
if they don't match the regexp.
 -- Tony K.

Bob Sidebotham wrote:

> You can always use "+foo[AB]/Conscript". It's just a regexp matching on
> the whole pathname.
>
> Bob
>
> --- "Gressett, Mark" <address@hidden> wrote:
>
> > Hi everyone,
> >
> > I'm running  Cons 1.8 on WinNT 4.0, SP 6.
> >
> > I'm trying to get build pruning to work, e.g., 'cons build +stuff'
> > would
> > build things on which 'stuff' depends, along with 'stuff', but would
> > not
> > build things which depend on 'stuff'.
> >
> > I have a top-level Construct file that builds Conscripts in
> > subdirectories, some of which build Conscripts in subdirectories,
> > e.g.,
> >     Construct
> >         fooA\Conscript
> >         fooB\Conscript
> >             barA\Conscript
> >                 stuff\Conscript
> >                 otherstuff\Conscript
> >
> > 'cons build +stuff' doesn't work (it builds nothing), presumably
> > because
> > fooA and fooB at the top level don't match 'stuff'.  'cons build
> > +fooB
> > +barA +stuff' also doesn't work (it builds everything under barA).
> >
> > Moving the list of leaf node Conscripts to the root (and eliminating
> > the
> > interior node Conscripts) yields the documented behavior.  That is,
> > using this structure
> >     Construct
> >         fooA\Conscript
> >         fooB\barA\stuff\Conscript
> >         fooB\barA\othersutff\Conscript
> > 'cons build +stuff' builds only fooB\barA\stuff.
> >
> > I'd like to keeping the intermediate-level Conscripts.  Can anyone
> > think
> > of a way to get build pruning to work without eliminating them?
> >
> > Regards,
> > Mark
> >
> >
> >
> >
> > _______________________________________________
> > address@hidden
> > http://mail.gnu.org/mailman/listinfo/cons-discuss
> > Cons URL: http://www.dsmit.com/cons/
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Messenger - Talk while you surf!  It's FREE.
> http://im.yahoo.com/
>
> _______________________________________________
> address@hidden
> http://mail.gnu.org/mailman/listinfo/cons-discuss
> Cons URL: http://www.dsmit.com/cons/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]