autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Parallelization of shell scripts for 'configure' etc.


From: Warren Young
Subject: Re: Parallelization of shell scripts for 'configure' etc.
Date: Wed, 15 Jun 2022 22:13:07 -0600

A Makefile can be viewed as a series of shell scripts interconnected by
dependency rules that dictate which elements can be safely skipped, which
must be run, and in what order.

I believe it's possible to recast Autoconf so that it generates a Makefile
that produces the same outputs as a configure script, but which can be run
under "make -jN" to run in parallel, safely.

Checks for headers, functions, and libraries can generally run in parallel.
In a configuration script for any sufficiently complex program, there will
exist interdependencies, but the M4 macros expressing them often have a
single entry point. e.g. This program requires MySQL, which requires
libsocket, which requires libnsl, which... That's all one big macro,
generally, so it can become a single Makefile target, producing a single
set of outputs.

To the extent that there are further interdependencies (e.g. this program
requires the MySQL C API library because it depends on MySQL++, a C++
wrapper) Autoconf's M4 DSL could be extended to allow for SQL-like
transaction blocks: these two feature-test macros have to be handled in
sequence.

I don't want it bad enough to write it. I just think it's possible, and
within reach, without straining the nature of Autoconf too badly.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]