Make apenwarr/redo installable on windows and work with uv tool install
Find a file
Avery Pennarun 49f85f2156 redoconf: assorted minor fixes.
- libqt4.rc: add detection of the 'moc' command in $MOC.
- libssl.rc: add detection script for openssl.
- default.do.sh: provide a die() function to all .od files.  It's just
  too useful to not have it (I haven't converted everything to it yet).
- When building out/x/y.z, match against $S/default.z.od and
  $S/default.od if they exist.
- *.list files (lists of source/object files to include in a binary)
  can now contain *.o files in addition to *.c, *.cc, etc.
- rename compile() to _compile() to avoid polluting the namespace for
  scripts called from default.do.sh.
- When building a .so file in the top level directory, no need to
  make a symlink of it into the top level directory.
- link.od and link-shlib.od forgot to make use of the $xLIBS variable.
2019-03-02 04:12:25 -05:00
bin builder.py: atomically replace the log for a given target. 2019-03-02 04:05:36 -05:00
contrib/bash_completion.d MacOS: "-e filename/." returns true even for non-directories. 2011-03-05 19:03:30 -08:00
docs redoconf: assorted minor fixes. 2019-03-02 04:12:25 -05:00
minimal minimal/do: remove dependency on 'seq' command. 2019-02-24 22:37:06 -05:00
redo builder.py: atomically replace the log for a given target. 2019-03-02 04:05:36 -05:00
redoconf redoconf: assorted minor fixes. 2019-03-02 04:12:25 -05:00
t redo-ifchange regression: if REDO_LOG is not set, assume it's 1. 2019-03-02 04:05:36 -05:00
.gitignore Fix more inconsistent behaviour with symlinks in paths. 2018-12-17 16:17:37 +00:00
.pylintrc Add a bunch of missing python docstrings. 2018-12-14 09:03:53 +00:00
all.do Move _all.do -> all.do and slightly update docs. 2018-12-31 15:07:18 -05:00
clean.do Fix more inconsistent behaviour with symlinks in paths. 2018-12-17 16:17:37 +00:00
do Fix more inconsistent behaviour with symlinks in paths. 2018-12-17 16:17:37 +00:00
install.do Move _all.do -> all.do and slightly update docs. 2018-12-31 15:07:18 -05:00
LICENSE Change license to Apache 2.0. 2018-11-26 17:04:31 -05:00
Makefile Directory reorg: move code into redo/, generate binaries in bin/. 2018-12-04 02:53:40 -05:00
MANIFEST.in setup.py: add a python setuptools package. 2018-12-31 21:12:39 -05:00
mkdocs.yml mkdocs: don't bother to include cookbook/c/out.*/ dirs. 2019-03-01 13:55:22 -05:00
README.md Move _all.do -> all.do and slightly update docs. 2018-12-31 15:07:18 -05:00
setup.py setup.py: add a python setuptools package. 2018-12-31 21:12:39 -05:00
test.do Move _all.do -> all.do and slightly update docs. 2018-12-31 15:07:18 -05:00

redo - a recursive build system

Smaller, easier, more powerful, and more reliable than make.

This is an implementation of Daniel J. Bernstein's redo build system. He never released his version, so other people have implemented different variants based on his published specification.

This version, sometimes called apenwarr/redo, is probably the most advanced one, including parallel builds, improved logging, extensive automated tests, and helpful debugging features.

To build and test redo, run ./do -j10 test. To install it, run DESTDIR=/tmp/testinstall PREFIX=/usr/local ./do -j10 install.


  • View the documentation via readthedocs.org
  • Visit the source code on github
  • Discussions and support via the mailing list (archives). You can subscribe by sending any email message to redo-list+subscribe@googlegroups.com (note the plus sign).