On Fri, Jan 7, 2011 at 12:51 AM, Miles Bader <mi...@gnu.org> wrote: > What I meant was, do they all do the same thing _in detail_ -- for > instance, if one tracks system header dependencies and the other > doesn't, then the latter will most likely be faster, but will have > "reduced functionality." [Your investigation into the effects of -MP > point out one such "detail" area where build tools may well differ.] > If one tool is faster than another, one should of course weight that > against the differences in functionality. > > Ralf mentioned that some of the inefficiency came from build rules > intended to do automatic Makefile regeneration; do the other tools do > that?
I don't know them in _detail_, but all of them are required to interface with the same continuous build system (build.webkit.org) so I guess one can assume some degree of functional equivalence. All of the systems are able to automatically regenerate their Makefile-like stuff when a header is changed or so, at least in the common cases, without having to do anything else than to update the file listing (like in automake). > > Also, some of the inefficiencies in automake-generated Makefiles comes > from the attempt to be very portable, both in the set of tools > required to do a build (only make, sed, sh, etc, vs the requirement > for specific specialized tools to be installed for just building), the > versions of those tools (e.g. any vaguely standard make vs GNU make > only). If another tool has additional requirements for building, that > also is a factor to be weighed against speed. I can believe automake is more portable than any of the other systems, and that this is a factor that makes it comparatively slower. I think an optional mode that generates optimized output for a subset of setups (for instance, one that has GNU make) is a reasonable compromise. > > -Miles > > -- > Cat is power. Cat is peace. >