Libtask
Last Significant Update: |
2025-09-14 |
Status: |
Draft |
Comments to: |
Many software utilities need to manage tasks that have predecessor/successor dependencies between themselves (e.g., where a ‘successor’ task should only run if its all of its ‘predecessors’ had succeeded).
Examples include:
-
make-like tools that build software.
-
Linkers (ld) that farm out their work to all of the available CPUs on the system.
-
Test-suite runners that need to execute the tests in a test suite.
This project provides an API and a well-tested library that such utilities could use to manage the execution of such tasks.
The library would allow the relationships between tasks to be a directed graph (in general), and would allow for ‘task results’ to be propagated onward to successor tasks.
The immediate use-case for this library would be to cleanup the implementation of various Elftoolchain tools.