[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