On Jan 26, 2006, at 4:53 PM, Jonathan Day wrote:
In which case, the solution would seem to have a
metafile containing the flags, the environment
variable they set/unset, the default value and what
software is required, as a simple table.
That might be possible, but it would be no small task. Open MPI
currently sports 85 (!) --with and --enable configure options.
Revamping the configure system to put these off in a meta file
somewhere would be an enormous task. Indeed, somewhere around 10-20
of these options are not directly added by Open MPI (e.g., they're
added by Libtool).
Also, because of the distributed nature of Open MPI's configure
system (each component can supply its own configure.m4 script that is
sucked into the top-level configure.ac file), each component can add
its own --with/--enable options to the overall configure process.
There is currently a fairly sophisticated autogen.sh script that
trolls the tree to assemble the final configure.ac and run all the
GNU tools in the Right order. The intent here was to keep configure-
specific information for each component at least somewhat local to
that component.
Finally, the default value is sometimes influenced by the result of a
test that is run on the system.
These are the reasons I see this as a pretty big task. :-)
No one commented on my other suggestion -- that the spec file provide
the most common options (e.g., paths to high-speed interconnects),
and a generic "pass this string through to the configure argv" option
to catch all the rest (if you need one of the relatively uncommon
options).
This seemed to be a fairly low-cost approach, is scalable for the
maintainers, and addresses the common cases for re-building an SRPM.
--
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/