This is an old revision of the document!
The How
- no depencencies other than the c++-20 compiler
- the
REGmacro - automaticint a = registerFunction()wrapper. std::filesystemfor reading timestampsexecv,posix_spawnand friends for executing the compiler, linker and other toolsstd::asyncfor parallel compilationstd::thread::hardware_concurrency()for automatic-jndeductiongcc -MMDfor dependency tracking- trixy self-re-invoke (after re-compilation) when configuration files change.
- tree of self-dependency weirdness
configuretarget- cross-compilation and tool-chain control
- independent target compilation (with dependency deduction)
cleantarget- bootstrapping (yes - libctor compiles itself)
checktarget, for unit test compilation and execution- compilation-database (json) for c-lion and others
- future work:
- external dependency deduction
- custom compilation configuration control through
configuretarget (like–with-X/–enable-Yin autotools) installtarget withPREFIXandDESTDIRsupport- documentation