This is an old revision of the document!
The How
- no depencencies other than the c++-20 compiler
- the
REG
macro - automaticint a = registerFunction()
wrapper. std::filesystem
for reading timestampsexecv
,posix_spawn
and friends for executing the compiler, linker and other toolsstd::async
for parallel compilationstd::thread::hardware_concurrency()
for automatic-jn
deductiongcc -MMD
for dependency tracking- trixy self-re-invoke (after re-compilation) when configuration files change.
- tree of self-dependency weirdness
- configure target
- cross-compilation and tool-chain control
- bootstrapping (yes - libctor compiles itself)
- unit tests
- compilation-database (json)
- future:
- external dependency deduction
- compilation configuration control through configure target (ala
–with-foo
/–enable-bar
from autotools) - install target
DESTDIR
support- documentation