Il 22/01/2013 11:00, Stefan Hajnoczi ha scritto: >> > I also just spent a long time trying to figure out why >> > my MacOS system wouldn't build after a git pull; turns >> > out that: >> > (1) we used to have a generated trace.h and we don't any more >> > (2) make distclean doesn't remove trace.h >> > (3) #include "trace.h" prefers the out of date generated one >> > to the new non-generated one in include/ >> > >> > I have no idea whether we can make qemu's build process more >> > resistant to that kind of diachronic change, but I mention it >> > anyway :-) > Yes, this is an annoying weakness in the build system. But I think we > should not solve it with more make sophistication because we seem > incapable of handling the current level of complexity already :).
To some extent there's nothing you can do. The only solution is to lower the build system churn---personally I'm satisfied with the current level of complexity, so I'll stop contributing to it. :) Forbidding in-tree builds is too much IMO, they're okay for occasional builders, but people using the git tree probably had better switch to out-of-tree if only because a "rm -rf _build" will fix any problem. We still have the buildbots to notify us about in-tree build problems, and of course people submitting build system patches should test both scenarios. Paolo