You can try to use the `requires` toposort routine to identify "Strongly Connected Sub-Components", which is where I imagine you'll get the best results. What you'll need to watch out for is undeclared ordering requirements that parallelism would break. The `m4sh` and `m4sugar` source code is documented in a lot of detail. The manuals exclude that type of documentation because it's internal; but you could keep yourself occupied for at least a month or two before you ran out of topics to explore. On Mon, Jun 13, 2022, 8:45 PM Dale R. Worley <worley@xxxxxxxxxxxx> wrote: > Paul Eggert <eggert@xxxxxxxxxxx> writes: > > In many Gnu projects, the 'configure' script is the biggest barrier to > > building because it takes soooo long to run. Is there some way that we > > could improve its performance without completely reengineering it, by > > improving Bash so that it can parallelize 'configure' scripts? > > It seems to me that bash provides the needed tools -- "( ... ) &" lets > you run things in parallel. Similarly, if you've got a lot of small > tasks with a complex web of dependencies, you can encode that in a > "makefile". > > It seems to me that the heavy work is rebuilding how "configure" scripts > are constructed based on which items can be run in parallel. I've never > seen any "metadocumentation" that laid out how all that worked. > > Dale > >