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.
>

Reply via email to