[Omake] SVN Commit: OMake Build System [0.9.8.x] (Rev. 10648)

Jason Hickey jyh at cs.caltech.edu
Sat May 5 17:27:07 PDT 2007


On May 5, 2007, at 4:40 PM, Aleksey Nogin wrote:

> On 05.05.2007 10:55, Jason J. Hickey wrote:
>
>> Implemented the strictly case-sensitive Omake_cache.stat, and use  
>> only case-sensitive
>> comparisons on nodes.  This should be considered a proposal, to be  
>> reviewed.
>>
>> Potential problems:
>>    - People might wonder why OMake is case-sensitive on Win32/ 
>> MacOS etc.
>      - Also, I believe, that "external" operations (such as PATH  
> lookups
> for executables) should remain case-insensitive under case-insensitive
> OS/fs, but the boundary between the "external" and "internal" is  
> likely
> to be very hard to define.

Thanks, I appreciate the feedback.

As it turns out, the boundary is easy to define.  The build graph is  
strictly case-sensitive, everything else is not strict, with the  
exception that find-in-path is (currently) sensitive.  PATH lookup is  
currently insensitive.

Let me give the main arguments for/against, to ask for some kind of  
yes/no/maybe feedback.

For:
    - Portability across platforms.
    - Simpler OMake implementation.  Significantly simpler, I would  
say, because we don't have to consider nodes in tables.
    - User can relax it with --no-case-check, and they may get some  
funny looking files, but it shouldn't hurt otherwise (need a good  
argument here).

Against:
    - Surprise.
    - Bad programs, something like "badcc -o foo.exe foo.c" and get  
FOO.EXE instead.

There is also a middle ground that is basically the same thing as the  
coarse/fine implementation, but a bit cleaner IMHO.  The idea is 1)  
internal nodes use the canonical (coarse) name, and either:
    2a) normal nodes are fine, but compared coarsely--together with  
all the problems that brought, or
    2b) nodes are always canonical, but there is a display table that  
prints them using their "real" names.
       This is probably better than 2a, but still has problems.

Personally, I prefer strict to either of these.

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