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

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

 



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.



[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux