On Jul 10, 2007, at 2:42 AM, Ralf Wildenhues wrote:

1. The most obvious one (to me, at least) is to require that people provide
"--with-xx" when they build the system.

I'll throw in another one for good measure: If --with-xx is given,
build with the component.  If --without-xx is given, disable it.
If neither is given, do as you currently do: enable it if you find
suitable libraries.

FWIW, we have this already:

1. If a particular component needs some additional libraries such that we added a "--with-foo" switch to specify where those libraries can be found, there is also an implicit "--without-foo" switch that will disable that component. E.g., "--without-tm" will inhibit the building of the TM RAS and PLS components.

2. The "--enable-mca-no-build" option takes a comma-delimited list of components that will then not be built. Granted, this option isn't exactly intuitive, but it was the best that we could think of at the time to present a general solution for inhibiting the build of a selected list of components. Hence, "--enable-mca-no-build=pls- slurm,ras-slurm" would inhibit building the SLURM RAS and PLS components (note that the SLURM components currently do not require any additional libraries, so a) there is no corresponding --with[out]- slurm option, and b) they are usually always built).

In case the number of components gets too large, have a switch to
turn off automatic discovery even in the nonpresence of --with* flags.

Did you mean the equivalent of the --enable-mca-no-build switch, or disable *all* automatic discovery? I'm not sure that disabling all automatic discovery will be useful -- you'd have to specifically list each component that would be built, and that list would be pretty darn long...

Jeff Squyres
Cisco Systems

Reply via email to