[Omake] Going back to "relaxed" sensitivity.
Aleksey Nogin
anogin at hrl.com
Mon May 14 13:24:08 PDT 2007
Here is what I currently inclined to do:
- Go back to the latest version of the "relaxed" sensitivity code (where
the case is preserved, but the equality is case-insensitive; with a
"vertical split" implemented transparently by the Lm_hash module).
- _Not_ using two separate "node" types (I did not understand your
reasoning behind this idea).
- Implement the "OCaml path lookup" in builtin, matching the logic Ocaml
uses (if include path is [a; b] and we are looking for foo, use the
first of [a/foo; a/Foo; b/foo; b/Foo]). This way the uppercase
dependencies for OCaml files will never be generated on case-insensitive
fs. I would not add any hacks to Omake_cache, but rather add an extra
OCaml-specific lightweight caching layer in builtin itself. The
algorithm for cache misses would be something like:
1. Do Omake_cache lookup (separately) for both uncapitalized and
capitalized names.
2. If at most one is found, or if found results are equal, us it.
3. Otherwise (if both found), if both are in the same directory, use
the uncapitalized one.
4. If the directory names are different, find the indices of those
directories in the search path and use the earlier one.
- Long-term, implement the "propagate case from source to target in
implicit rules" approach. However, I'd rather release 0.9.8.2 without
this and worry about this stuff later. I think this would be nice to
have, but if OCaml stuff is no longer crazy, this would not be a big
priority for us.
--
Aleksey Nogin, Research Staff Member
Advanced Technologies Department, Information & System Sciences Lab
HRL Laboratories, LLC, Malibu, CA
More information about the OMake-Devel
mailing list