[Omake] Case-insensitivity and cons-hashing.
Jason Hickey
jyh at cs.caltech.edu
Thu May 3 16:31:25 PDT 2007
On May 3, 2007, at 12:10 PM, Jason Hickey wrote:
> %.a:
> section rule
> %.a: %.b
> touch $@
>
> touch foo.b
>
> target-exists(Foo.a)
>
> .DEFAULT: foo.a
Verified, it does indeed create Foo.a. Note that this will happen
whether or not we are using hash-consing.
For this particular issue, we can figure out something special to do
with active rules.
However, the general problem will persist. Whenever the entries of a
NodeTable.t contain Node.t values, we can run into the same issue.
(... Node.t ...) NodeTable.t
A fix for this is way too complicated.
As I mentioned before, I don't know if it is such a big deal. If the
programmer writes the "wrong" name at some point in his OMakefile,
then it shouldn't be surprising that the wrong name appears once in a
while.
The real problem is that it is the scanner that is generating the
wrong names. If we simply fix that, then things will return to normal.
And I think we should probably remove the HashMarshalEq (see commit
post for rev 10621). It is a good idea, but there isn't much point
in hash-consing if comparison is not O(1). We should probably do the
vertical split instead.
Jason
--
Jason Hickey http://www.cs.caltech.edu/~jyh
Caltech Computer Science Tel: 626-395-6568 FAX: 626-792-4257
More information about the OMake-Devel
mailing list