bindings: Always provide non-MPI constructors
Created by: bradking
Applications should be able to choose non-MPI constructors even when using an ADIOS with MPI support available:
-
For
adios2::fstream
we can simply provide overloads with and without MPI. -
For C bindings, provide
adios2_init
andadios2_init_config
variants named with_serial
and_mpi
suffixes. Define the original names using macros to match the old interface provided based on whether MPI support is available. -
For Fortran bindings, update their implementation to cooperate with the C bindings correctly. For now we continue to provide only the MPI-based or non-MPI-based module to Fortran.