[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