WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: "redo" build system - the big surprise  (Read 500 times)

Offline jazzbiker

  • Hero Member
  • *****
  • Posts: 597
"redo" build system - the big surprise
« on: February 07, 2021, 03:27:05 PM »
Hi, Core people!

Do You want to learn one more build system? I'm sure You don't. The trick with "redo" is, that if You are able to write shell scripts, You are ready to use it immediately. Probably most of You having an experience of building make-based projects having nested structure have learned on Your own, that if Your build was interrupted due to some obstacles (missing package, wrong config) in order to finalize the build successfully You very probably need to "make clean". That's because make was not designed for recursive use. In contrast, redo is recursive by design.

The origin point of this build system is http://cr.yp.to/redo.html

Successful implementations are:
https://github.com/apenwarr/redo - Python
http://www.goredo.cypherpunks.ru/ - Go
http://news.dieweltistgarnichtso.net/bin/redo-sh.html - Bourne shell
https://github.com/leahneukirchen/redo-c - pure C

Nice decription at http://web.archive.org/web/20201231033027/http://jdebp.eu/FGA/introduction-to-redo.html

All these implementations hare the same standard, internals are implementation specific.

I'm using C variant now, extension is 8 kB size ( :) ). I think it is totally following TinyCore philosophy.

P.S. If You will build redo-c on 32-bit system, don't neglect the conversion warning during build - it is not harmless, it causes wrong timestamps. Use explicit type conversion.