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/


Reply via email to