[Omake] Case-insensitive filesystems

Aleksey Nogin nogin at metaprl.org
Tue Dec 12 15:12:38 PST 2006


On 12.12.2006 15:04, Jason Hickey wrote:

>> Another (partial) option would be to replicate the existing ocamldep 
>> logic - at least for the OCaml dependencies. Unfortunately, the 
>> ocamldep's logic for "foo" in path "a:b:c" is "the first of a/foo 
>> a/Foo b/foo b/Foo c/foo c/Foo" so it can not be cleanly implemented 
>> via the current cache interface :-(
> 
> The Omake_node knows in principle what to do for case-insensitive 
> filesystems (although has not been heavily used or tested).  Each $(file 
> ...) value has two names, the usual name, and the canonical name.  The 
> choice of canonical name is currently hard-coded: the canonical name is 
> the same as the normal name on Unix, and it is the lowercase name on Win32.
> 
> It this were configured correctly, the cache would do the right thing.
> 
I think you misunderstood - the above "the first of a/foo a/Foo b/foo 
b/Foo c/foo c/Foo" is what ocamldep _always_ does, including on the case 
sensitive filesystems. To do that we'd either have to traverse the 
include path manually (slow) or extend the cache API...

Aleksey


More information about the OMake-Devel mailing list