[Omake] Case-insensitivity and cons-hashing.
Jason Hickey
jyh at cs.caltech.edu
Wed May 2 10:58:05 PDT 2007
Hmm, I remember thinking about this when I did the original hash-
consing. I decided it was annoying, but not incorrect.
To "fix" it completely (if we want to), we would have to test for the
"real" file name. However, if the file doesn't exist, we're out of
luck.
I think the right answer is to allow this behavior. The actual
problem comes up because of the dependency scanner, which is testing
for the capitalized name first. What about having it test for the
uncapitalized name first?
I know it doesn't really solve the problem. This will build foo.a,
foo.b, even with Foo.c
%.a: %.b
touch $@
%.b: %.c
touch $@
target-is-buildable(foo.a)
Hmm,
Jason
On May 2, 2007, at 9:15 AM, Aleksey Nogin wrote:
> On 01.05.2007 07:52, Jason Hickey wrote:
>
>> Another minor issue is that somehow we get src/shell/
>> Omake_shell_parse.ml (capitalized).
>
> I have not tried reproducing this, but I think I know what is going
> on and it should have bothered me before. The combination of the
> cons-hashing (at least the way we do it now) with case-
> insensitivity (especially in presence of case-preservation) results
> in a completely nondeterministic behavior related to the cases.
> Basically, whatever case combination is created first, wins.
>
> E.g. on Windows:
>
> C:\>osh --version
> OMake 0.9.8.2 (release 1):
> build [Mon Apr 30 12:11:56 2007]
> on danglewin
>
> Default library directory : c:\Program Files\OMake\lib\omake
> Using library directory : C:\Program Files\OMake\lib\omake\
> (as specified by the HKEY_LOCAL_MACHINE\SOFTWARE\MetaPRL
> \OMake\OMAKELIB registry key)
>
> C:\>osh
> % X = $"$(file Foo)"
> - : <string
> c:\\Foo : File>
> : String
> %
> C:\>osh
> % X = $"$(file fOO)"
> - : <string
> c:\\fOO : File>
> : String
> % X = $"$(file Foo)"
> - : <string
> c:\\fOO : File>
> : String
>
> I think we have to rework the cons-hashing so that the case is
> taken into account... I'll probably hold off with 0.9.8.2 until
> this is solved...
>
> Aleksey
> _______________________________________________
> OMake-Devel mailing list
> OMake-Devel at metaprl.org
> https://lists.metaprl.org/mailman/listinfo/omake-devel
--
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