Make apenwarr/redo installable on windows and work with uv tool install
Find a file
Avery Pennarun 262d272f29 t/103-unicode: workaround unicode normalization on newer macOS.
As named, the file would be extracted by git on macOS, then
(un)helpfully normalized by the macOS filesystem. After that,
"git clean -fdx" would delete the file, since it no longer
had the expected name, so git thought it wasn't part of its repo.

I considered pre-normalizing the filename, but a) that would break
on any future OS that normalizes differently; and b) that means we
won't test denormalized filenames. Instead, we'll remove the directory
from git, and create it from sh instead, then figure out what name
it got really created as, and then pass the "real" name to redo.
2019-07-24 03:27:04 -04: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 Disable docker container test from toplevel 'redo test' 2019-07-24 03:27:04 -04:00
minimal Unset CDPATH if it is set. 2019-05-01 13:17:35 -04:00
redo Oops, redo/whichpython.do would fail if python2.7 didn't exist. 2019-06-21 00:27:40 +09:00
redoconf redoconf/configure.sh: use "cmp -s" to silence output. 2019-05-15 14:12:26 -07:00
t t/103-unicode: workaround unicode normalization on newer macOS. 2019-07-24 03:27:04 -04: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 docs/cookbook/redoconf-simple: a simple redoconf C++ project. 2019-03-06 03:05:04 -05:00
README.md Minor clarifications to redo install instructions. 2019-03-03 19:35:32 -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 something like this:

	DESTDIR= 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). You can send questions or feedback (with or without subscribing) by sending messages to redo-list@googlegroups.com.