decentralise "configure"
Is your feature request related to a problem? Please describe. AMUSE only has one configure script currently, in amuse-framework. As a result, all prerequisites must be installed before installing amuse-framework. If any are missing, reinstalling amuse-framework is necessary. This is not very practical and leads to unnecessary dependencies if we are to create packages (e.g. #294 #525 #526 #527).
Describe the solution you'd like Split off the configure script into packages, so that e.g. hdf5 will be configured by packages like Simplex and fftw by Fi, instead of by amuse-framework. Each package will only configure its direct necessities, while "global" requirements like MPI will still be configured by amuse-framework.
Also, this would allow for different versions of libraries to be used for different community code packages, if this were necessary.
hmm...this needs some thought..
it is possible, but there will be many packages sharing prerequisites (eg hdf5 is also a framework prerequisite)..it may a start to include in config.mk a line like:
include package_configs/*.mk
and then work to have the setup generate extra .mk files
it is something that also maybe useful for omuse etc
libhdf5 is not necessary for framework, is it? Only h5py is... I'd try to avoid including configs at a higher level. If two community codes need the same library, no harm in letting each of them use their own configure. I think only globally needed libs (e.g. mpi) should be configured at the highest (framework) level.
note: this was an issue for OMUSE and netcdf. It also came up where AMUSE didn't detect/configure netcdf-fortran (optional) while (a number of) OMUSE codes need this. Another solution would be to have more dynamic detection of libs.