[Top][All Lists]

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

Re: Cons 2.3.0 and cons -t

From: Steven Knight
Subject: Re: Cons 2.3.0 and cons -t
Date: Sun, 10 Jun 2001 22:29:11 -0500 (CDT)

Follow-up on the following problem Eric Brown reported with 2.3.0:

> > Cons 2.3.0 appears to get very confused when running with the -t option.
> >
> > I can build my project from the top level just fine, but when I run from a
> > subdirectory (and specify -t), I get a *huge* pile of errors:
> >
> > cons.bat: error in file "Common\CPSSession\Conscript" (don't know how to
> > construct build\debug\Common\CPSSession\entry=HASH(0x1cb6218).obj from
> Wow.  But things work all right without -t?
> Can you distill your configuration into a subset that we can triage and
> turn into a test case?

Eric sent me a test case, off-line, that illustrates this problem.
It's not stricly related to -t, and doesn't affect anyone using
Cons strictly out-of-the-box, without their own extensions.

Eric's problem was due to the change, introduced in 2.3.0, to the
parameters to the _Objects() method.  (It used to expect nodes returned
from dir::lookupfile(), now it takes path names.)  This change collected
a lot of common logic from multiple other methods in a single place.  In
making it, I essentially assumed that anyone who was using something
that called _Objects() directly would have written it themselves and
would change the parameters with minimal hassle.

Bad assumption.  Eric is using Greg Spencer's Win32 extensions
(, which calls _Objects().  The change to the
_Objects() parameters breaks Greg's, and any other, extensions
distributed on the mailing list.  This would lead to a big configuration
management nightmare if left unchanged: people using extensions would
need to track which versions work with which version of Cons...

So I'll check in a fix for 2.3.1 that makes _Objects() work with either
type of parameters, so it will be both backwards compatible with
pre-2.3.0 versions and support the new, cleaner 2.3.0 interface.  In
retrospect, this is how it should have been done in the first place...

Note that this fix, although necessary, will not itself be sufficient
to make Greg's Win32 extensions work completely with 2.3.1. relies on some additional patches, which we're getting
closer to supporting in Cons directly...


reply via email to

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