We have a lot of lines like this $ grep -c HAVE_LIB $PETSC_ARCH/include/petscconf.h 96
but only four of these are ever checked in src/. Delete them? IMO, unused stuff should not go into petscconf.h. We have to scroll up past these lines every time configure crashes. These are apparently all unused: $ for name in $(grep '#define \w\+ ' $PETSC_ARCH/include/petscconf.h | cut -f 2 -d\ ); do rg -q -c $name include/ src/ || echo $name; done STDC_HEADERS HAVE_MATH_INFINITY ANSI_DECLARATORS PETSC_PATH_SEPARATOR PETSC_HAVE_BLASLAPACK PETSC_HAVE_PTHREAD PETSC_HAVE_NETCDF PETSC_HAVE_PNETCDF PETSC_HAVE_METIS PETSC_HAVE_MATHLIB PETSC_HAVE_ZLIB PETSC_TIME_WITH_SYS_TIME PETSC_HAVE_MATH_H PETSC_HAVE_ENDIAN_H PETSC_HAVE_LIMITS_H PETSC_HAVE_SEARCH_H PETSC_HAVE_SCHED_H PETSC_HAVE_PTHREAD_H PETSC_HAVE_CXX_NAMESPACE PETSC_HAVE_FORTRAN_TYPE_INITIALIZE PETSC_HAVE_LIBDL PETSC_HAVE_LIBQUADMATH PETSC_HAVE_LIBX11 PETSC_HAVE_LIBZ PETSC_HAVE_LIBTRIANGLE PETSC_HAVE_LIBMETIS PETSC_HAVE_LIBPARMETIS PETSC_HAVE_LIBHDF5HL_FORTRAN PETSC_HAVE_LIBHDF5_FORTRAN PETSC_HAVE_LIBHDF5_HL PETSC_HAVE_LIBHDF5 PETSC_HAVE_LIBPNETCDF PETSC_HAVE_LIBNETCDF PETSC_HAVE_LIBEXODUS PETSC_HAVE_LIBBLAS PETSC_HAVE_LIBLAPACK PETSC_HAVE_LIBSTDC__ PETSC_HAVE_LIBMPI_USEMPIF08 PETSC_HAVE_LIBMPI_USEMPI_IGNORE_TKR PETSC_HAVE_LIBMPI_MPIFH PETSC_HAVE_LIBMPI PETSC_HAVE_LIBGFORTRAN PETSC_HAVE_LIBGCC_S PETSC_HAVE_LIBPTHREAD PETSC_HAVE_LIBSUNDIALS_CVODE PETSC_HAVE_LIBSUNDIALS_NVECSERIAL PETSC_HAVE_LIBSUNDIALS_NVECPARALLEL PETSC_HAVE_LIBML PETSC_HAVE_LIBSUPERLU_DIST PETSC_HAVE_LIBSUPERLU PETSC_HAVE_LIBUMFPACK PETSC_HAVE_LIBKLU PETSC_HAVE_LIBCHOLMOD PETSC_HAVE_LIBBTF PETSC_HAVE_LIBCCOLAMD PETSC_HAVE_LIBCOLAMD PETSC_HAVE_LIBCAMD PETSC_HAVE_LIBAMD PETSC_HAVE_LIBSUITESPARSECONFIG PETSC_HAVE_LIBSCALAPACK PETSC_HAVE_LIBCMUMPS PETSC_HAVE_LIBDMUMPS PETSC_HAVE_LIBSMUMPS PETSC_HAVE_LIBZMUMPS PETSC_HAVE_LIBMUMPS_COMMON PETSC_HAVE_LIBPORD PETSC_HAVE_LIBHYPRE PETSC_USE_SCALAR_REAL PETSC_HAVE_REAL___FLOAT128 PETSC_RETSIGTYPE PETSC_SIZEOF_SHORT PETSC_SIZEOF_MPI_COMM PETSC_SIZEOF_MPI_FINT PETSC_HAVE_VPRINTF PETSC_HAVE_VFPRINTF PETSC_HAVE_MKSTEMP PETSC_HAVE_GETHOSTBYNAME PETSC_HAVE_SOCKET PETSC_HAVE_TIMES PETSC_HAVE_SIGSET PETSC_HAVE_GETTIMEOFDAY PETSC_HAVE_SIGNAL PETSC_HAVE_GET_NPROCS PETSC_HAVE_SIGACTION PETSC_HAVE__GFORTRAN_IARGC PETSC_HAVE_SHARED_LIBRARIES PETSC_USE_GDB_DEBUGGER PETSC_VERSION_BRANCH_GIT PETSC_HAVE_MPI_COMM_F2C PETSC_HAVE_MPI_COMM_C2F PETSC_HAVE_MPI_FINT PETSC_HAVE_MPI_REPLACE PETSC_HAVE_MPI_WIN_ALLOCATE_SHARED PETSC_HAVE_MPI_WIN_SHARED_QUERY PETSC_HAVE_MPI_ALLTOALLW PETSC_HAVE_MPI_COMM_SPAWN PETSC_HAVE_MPI_TYPE_GET_EXTENT PETSC_HAVE_PTHREAD_BARRIER_T PETSC_HAVE_SCHED_CPU_SET_T PETSC_HAVE_SYS_SYSCTL_H PETSC_LEVEL1_DCACHE_SIZE PETSC_LEVEL1_DCACHE_ASSOC
