On Sat, Feb 16, 2013 at 5:02 PM, Barry Smith <bsmith@mcs.anl.gov> wrote:
    No one would "classify" PETSC_HAVE_HYPRE as being relevant to any particular thing. Rather if you are writing code anywhere in PETSc (Mat, PC, whatever) and wished to use hypre you would have

#include <petsc-private/petscconfhypre.h>

Ah, this is finer-grained than I had imagined, but may work. Reconfiguring with a new package would typically only require rebuilding a few files, which is nice. OTOH, this would create a zillion one-line files.
 

#if defined(PETSC_HAVE_HYPE)
just like now

Of course this requires always creating includes for all packages but maybe no biggie?

I was concerned with how they would be classified. The majority of petscconf.h is machine/system stuff that changes rarely.