[Omake] Case-insensitive filesystems

Aleksey Nogin nogin at metaprl.org
Tue Dec 12 13:01:57 PST 2006


On 12.12.2006 12:24, Janne Hellsten wrote:

> Well, I wonder what's the deal with Lm_set.ml/mli (not lm_set)?  It
> seems that no such file exists in the source tarball.
> 
> I wonder how those names get generated?

The issue is that the OCaml dependency for the module Foo might be 
satisfied by either Foo.ml or foo.ml. The new experimental dependency 
scanning that OMake is using for self-build (but is turned off by 
default for everything else), uses the "file is buildable" test as 
opposed to the standard, but less accurate, "file exists" one. The issue 
is that for the "file exists" test, the tool does not need to know 
whether the underlying filesystem is case-insensitive, but for the "file 
is buildable", it does need to know that and for the case of OS X, it 
does not know (For Windows, BTW, the case-insensitivity is hardcoded).

BTW, I was able to reproduce the problem by trying to build OMake on top 
of a FAT filesystem...

Jason, any ideas how we might fix the find-target-* functions to do the 
right thing on case-insensitive filesystems? Should we just add global 
variable that defaults to true on OS X and Windows, but can be 
overwritten by the user? Or is there some hope of being able to detect this?

Aleksey


More information about the Omake mailing list