[Omake] Re: Building in subdirectories and variant builds
revisited
Jason Hickey
jyh at cs.caltech.edu
Tue Jun 19 11:37:21 PDT 2007
On Jun 18, 2007, at 10:16 PM, Jesper Eskilson wrote:
> IMO, the impreciseness of the build rules are really orthogonal to the
> issue of variant builds.
If the rules could be stated precisely, then OMake could, when
necessary, cp/symlink the files involved so that they appear in the
right places. Targets are not a big issue, but missing dependencies
can cause big problems.
If the rules are precise, OMake can compensate for bad behavior, but
it can only compensate for what it knows about.
> It would be unfortunate if support for out-of-source builds was left
> out just because it can't be implemented 100% correctly for 100% of
> every tool out there. I think that would be the wrong approach.
In mostly agree. OTOH, a virtual filesystem *could* be used to
provide a 100% transparent solution; this is the reason for starting
with vmount.
For language-specific approaches, I believe the main problem is
with .SCANNER rules--normal rules can usually be made precise. I
would guess that if one can come up with an accurate way to scan
files for variant builds, then the rest is relatively easy.
Fortunately, .SCANNER rules rarely generate files, and a project
usually doesn't have a lot of them. Unfortunately, scanner programs
(like ocamldep and gcc -MM) are not always easy to come by, and
getting them to work for variant builds can be hard. For example, it
is only fairly recently that the majority of Visual C++ installations
supported the /showIncludes option at all. In the worst case, it
would require implementing some/many custom scanners:(
But it is an important problem...
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
mailing list