[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