On Tue, 04 May 2010 10:19:41 -0700, Keith Packard <kei...@keithp.com> wrote: > On Tue, 4 May 2010 08:34:00 -0400, Ben Gamari <bgamari.f...@gmail.com> wrote: > > > a standard non-recursive makefile structure, as is used > > in, say, Keith Packard's notmuch[1] project. > > That's Carl Worth's notmuch project, and it was his idea to build using > make alone. I'd have to say that while it makes the build system easier > to understand and works fairly well on Linux, I'm not sold on the idea > yet as it doesn't make things like dependencies work reliably and that's > one area where Mesa currently suffers more than any project I know. I > believe his stuff also works only with gnumake.
Oops! This is why I shouldn't be allowed to check email before 9AM. My apologies, sorry Carl! You are likely right in saying that it requires gnumake. I know that the build system I wrote would certainly not run without gnu make and the implementation of some facets would have been rather tricky with gnu make's extensions. > > Not sure what to say about this. It seems like it wouldn't be too > > difficult to implement a robust tarball rule, but maybe I'm missing > > something. > > As much as I hate defending autotools, it's areas like this that make it > a useful system -- someone else is dealing with creating all of the > underlying rules that make things like this 'just work' - 'make > distcheck' creates the tarball and then verifies that it actually works > as advertised. > Fair enough. I certainly see the appeal here, although I do wish there was a better option than autotools. That being said, again, my opinion is really of no value here. > > Yeah, you still need makedepend, but I don't really view this as a > > problem. > > Anything where you're depending on Mesa developers to ensure that the > build system has correct dependencies will fail often enough to make > people stop trusting them and routinely run 'make clean' or equivalent > before every build. That's what I do today, fortunately ccache helps > enough that I don't scream in pain (nor do I build mesa fifty times a > day). I'm not entirely sure I follow. Makedepend is merely responsible for finding header dependencies. The developer shouldn't need to specify much of anything in way of dependencies. > > > This is true. For the rest of us who run like children whenever > > autotools is in the room, it would be unfortunate. > > Yeah, I'm no autotools fan, but the option of building a custom > replacement just doesn't excite me. > Fair enough. Build systems aren't exactly sexy. > Btw, in case you haven't heard, autotools also encourages people to > make a non-recursive build system, so these aren't mutually exclusive, > just that we don't see it used very often (and, no, I don't know why). > I didn't know that. It would be nice to see autotools used more in this manner. > > Documentation can be written for any build system, although in my > > experience, a non-recursive build system is quite straightforward > > and the fact that it's pure make means that pretty much anyone can > > grok it. > > Do you really want to write a build system? Is that how you envision > spending your time as a Mesa developer? > You are certainly right in saying there are many other tasks more deserving of developer time. If there was serious interest in such a build system, I could certainly put together a patch set. However, given the above considerations, it sounds like the project might be better served by autotools. - Ben _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev