Re: [dev] Automatic C header dependency tracking for the redo build-system

From: Thomas Oltmann <thomas.oltmann.hhg_AT_gmail.com>
Date: Tue, 7 Sep 2021 23:15:44 +0200

Dear Ben,

I believe Sergey Matveev here is much more of an expert on this matter
than I am,
seeing how he has even developed his own high-performance implementation.

Nevertheless, these are some of the reasons I care about redo, in no
particular order:

- It does not suffer from the same obvious oversights as make, like
the awkward handling of spaces in filenames.

- Out-of-source builds are easy, even in complicated source hierarchies.

- make is bad at modularity, especially recursion (subprojects). See
'Recursive make considered harmful'.
  redo, on the other hand, relies on well-designed recursion as a
fundamental building block of the entire build system.

- It is actually much simpler to implement than traditional make, not harder

- IMO it handles generated dependencies / dynamic dependency discovery
much better than make

- Purely POSIX-compatible Makefiles are painful. All make
implementations therefore provide ample extensions,
  and they are all incompatible. Ever compared an ideomatic BSD
Makefile to a GNU one?
  redo, on the other hand, is fairly universal, even though it is not
as well-standardized.
  This is simply because it does not need much in terms of extensions
to be usable.

Cheers,
          Thomas Oltmann

Am Di., 7. Sept. 2021 um 22:23 Uhr schrieb <ben_AT_0x1bi.net>:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> What's wrong with plain old make? I don't think there's a need to write
> more build tools when one is already enough; if we keep writing build
> tools we'll end up with tools like autoconf.
>
>
> Ben Raskin
>
> -----BEGIN PGP SIGNATURE-----
>
> iHUEARYIAB0WIQSVj5ObtUZn7L8NuN+O1YyzbQMTOgUCYTe8GQAKCRCO1YyzbQMT
> OhvfAP9zvrBVQ6kZZLeiZsczahSp8tQsiNF/R7Mc8WM+iNx/zAD/bQ3PhFGRxvVQ
> cN5Zu82/SPbI0DijmtGH9/2DSCa+6QI=
> =fSVp
> -----END PGP SIGNATURE-----
>
Received on Tue Sep 07 2021 - 23:15:44 CEST

This archive was generated by hypermail 2.3.0 : Tue Sep 07 2021 - 23:24:07 CEST