Loading cmake/ADIOSFunctions.cmake +2 −0 Original line number Diff line number Diff line Loading @@ -102,10 +102,12 @@ function(GenerateADIOSHeaderConfig) ") if(ADIOS2_HAVE_${OPT}) set(ADIOS2_HAVE_${OPT_UPPER} 1) string(APPEND ADIOS2_CONFIG_FEATURE_LIST "\"${OPT_UPPER}\",") else() set(ADIOS2_HAVE_${OPT_UPPER}) endif() endforeach() string(APPEND ADIOS2_CONFIG_FEATURE_LIST "nullptr") configure_file( ${ADIOS2_SOURCE_DIR}/source/adios2/common/ADIOSConfig.h.in Loading source/adios2/CMakeLists.txt +3 −3 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ add_library(adios2_core core/VariableBase.cpp core/Span.cpp core/Span.tcc core/Group.cpp core/Group.tcc core/adios2_libinfo.cpp core/Info.cpp #operator operator/callback/Signature1.cpp Loading Loading @@ -405,10 +405,10 @@ install(FILES common/ADIOSMacros.h common/ADIOSTypes.h common/ADIOSTypes.inl install(DIRECTORY core/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2/core COMPONENT adios2_core-development FILES_MATCHING PATTERN "*.h" PATTERN "adios2_libinfo.h" EXCLUDE PATTERN "Info.h" EXCLUDE ) install(FILES core/adios2_libinfo.h install(FILES core/Info.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT adios2_core-development ) Loading source/adios2/common/ADIOSConfig.h.in +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ @ADIOS2_CONFIG_DEFINES@ #define ADIOS2_FEATURE_LIST @ADIOS2_CONFIG_FEATURE_LIST@ /* Everything between here and the note above is programatically generated */ #ifndef ADIOS2_USE_MPI Loading source/adios2/core/adios2_libinfo.cpp→source/adios2/core/Info.cpp +113 −0 Original line number Diff line number Diff line Loading @@ -2,13 +2,13 @@ * Distributed under the OSI-approved Apache License, Version 2.0. See * accompanying file Copyright.txt for details. * * adios2_libinfo.h * Info.h * * Created on: June 22, 2023 * Author: Norbert Podhorszki pnorbert@ornl.gov */ #include "adios2_libinfo.h" #include "Info.h" #include "adios2/common/ADIOSConfig.h" #include <stdio.h> Loading @@ -21,9 +21,9 @@ extern "C" { const int adios2_version_major = ADIOS2_VERSION_MAJOR; const int adios2_version_minor = ADIOS2_VERSION_MINOR; const int adios2_version_patch = ADIOS2_VERSION_PATCH; const char *const adios2_version_str = ADIOS2_VERSION_STR; const char adios2_version_str[] = ADIOS2_VERSION_STR; static const char *aae[] = {"BP3", static const char *const engines[] = {"BP3", "BP4", #ifdef ADIOS2_HAVE_BP5 "BP5", Loading Loading @@ -57,17 +57,13 @@ static const char *aae[] = {"BP3", "Skeleton", nullptr}; void adios2_available_engines(int *nentries, char const *const **list) void adios2_available_engines(size_t *nentries, const char *const **list) { int ne = 0; while (aae[ne] != nullptr) ++ne; *nentries = ne; *list = aae; return; *nentries = (sizeof(engines) / sizeof(const char *)) - 1; *list = engines; } static const char *aao[] = { static const char *const operators[] = { #ifdef ADIOS2_HAVE_BZIP2 "BZip2", #endif Loading Loading @@ -96,66 +92,20 @@ static const char *aao[] = { "Sodium plugin", #endif #endif "None", nullptr}; void adios2_available_operators(int *nentries, char const *const **list) void adios2_available_operators(size_t *nentries, const char *const **list) { int no = 0; while (aao[no] != nullptr) ++no; *nentries = no; *list = aao; return; *nentries = (sizeof(operators) / sizeof(const char *)) - 1; *list = operators; } static const char *aaf[] = { #ifdef ADIOS2_HAVE_MPI "MPI", #endif #ifdef ADIOS2_HAVE_FORTRAN "Fortran", #endif #ifdef ADIOS2_HAVE_PYTHON "Python", #endif #ifdef ADIOS2_HAVE_IME "IME", #endif #ifdef ADIOS2_HAVE_UCX "UCX", #endif #ifdef ADIOS2_HAVE_AWSSDK "AWSSDK", #endif #ifdef ADIOS2_HAVE_KOKKOS "Kokkos (Host" #ifdef ADIOS2_HAVE_KOKKOS_CUDA ", CUDA" #endif #ifdef ADIOS2_HAVE_KOKKOS_HIP ", HIP" #endif #ifdef ADIOS2_HAVE_KOKKOS_SYCL ", SYCL" #endif ")", #endif // ADIOS2_HAVE_KOKKOS #ifdef ADIOS2_HAVE_CUDA "CUDA", #endif nullptr}; const char *adios2_feature_list[] = {ADIOS2_FEATURE_LIST}; void adios2_available_features(int *nentries, char const *const **list) void adios2_available_features(size_t *nentries, const char *const **list) { int nf = 0; while (aaf[nf] != nullptr) ++nf; *nentries = nf; *list = aaf; return; *nentries = (sizeof(adios2_feature_list) / sizeof(const char *)) - 1; *list = adios2_feature_list; } #ifdef __cplusplus Loading source/adios2/core/adios2_libinfo.h→source/adios2/core/Info.h +10 −8 Original line number Diff line number Diff line Loading @@ -2,14 +2,16 @@ * Distributed under the OSI-approved Apache License, Version 2.0. See * accompanying file Copyright.txt for details. * * adios2_libinfo.h * Info.h * * Created on: June 22, 2023 * Author: Norbert Podhorszki pnorbert@ornl.gov */ #ifndef ADIOS2_LIBINFO_H_ #define ADIOS2_LIBINFO_H_ #ifndef ADIOS2_INFO_H_ #define ADIOS2_INFO_H_ #include <stddef.h> #ifdef __cplusplus extern "C" { Loading @@ -18,19 +20,19 @@ extern "C" { extern const int adios2_version_major; extern const int adios2_version_minor; extern const int adios2_version_patch; extern const char *const adios2_version_str; extern const char adios2_version_str[]; /** Return the list of available Engines in the installed adios2 library */ void adios2_available_engines(int *nentries, char const *const **list); void adios2_available_engines(size_t *nentries, const char *const **list); /** Return the list of available Engines in the installed adios2 library */ void adios2_available_operators(int *nentries, char const *const **list); void adios2_available_operators(size_t *nentries, const char *const **list); /** Return the list of available features in the installed adios2 library */ void adios2_available_features(int *nentries, char const *const **list); void adios2_available_features(size_t *nentries, const char *const **list); #ifdef __cplusplus } // end extern C #endif #endif /* ADIOS2_LIBINFO_H_ */ #endif /* ADIOS2_INFO_H_ */ Loading
cmake/ADIOSFunctions.cmake +2 −0 Original line number Diff line number Diff line Loading @@ -102,10 +102,12 @@ function(GenerateADIOSHeaderConfig) ") if(ADIOS2_HAVE_${OPT}) set(ADIOS2_HAVE_${OPT_UPPER} 1) string(APPEND ADIOS2_CONFIG_FEATURE_LIST "\"${OPT_UPPER}\",") else() set(ADIOS2_HAVE_${OPT_UPPER}) endif() endforeach() string(APPEND ADIOS2_CONFIG_FEATURE_LIST "nullptr") configure_file( ${ADIOS2_SOURCE_DIR}/source/adios2/common/ADIOSConfig.h.in Loading
source/adios2/CMakeLists.txt +3 −3 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ add_library(adios2_core core/VariableBase.cpp core/Span.cpp core/Span.tcc core/Group.cpp core/Group.tcc core/adios2_libinfo.cpp core/Info.cpp #operator operator/callback/Signature1.cpp Loading Loading @@ -405,10 +405,10 @@ install(FILES common/ADIOSMacros.h common/ADIOSTypes.h common/ADIOSTypes.inl install(DIRECTORY core/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2/core COMPONENT adios2_core-development FILES_MATCHING PATTERN "*.h" PATTERN "adios2_libinfo.h" EXCLUDE PATTERN "Info.h" EXCLUDE ) install(FILES core/adios2_libinfo.h install(FILES core/Info.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT adios2_core-development ) Loading
source/adios2/common/ADIOSConfig.h.in +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ @ADIOS2_CONFIG_DEFINES@ #define ADIOS2_FEATURE_LIST @ADIOS2_CONFIG_FEATURE_LIST@ /* Everything between here and the note above is programatically generated */ #ifndef ADIOS2_USE_MPI Loading
source/adios2/core/adios2_libinfo.cpp→source/adios2/core/Info.cpp +113 −0 Original line number Diff line number Diff line Loading @@ -2,13 +2,13 @@ * Distributed under the OSI-approved Apache License, Version 2.0. See * accompanying file Copyright.txt for details. * * adios2_libinfo.h * Info.h * * Created on: June 22, 2023 * Author: Norbert Podhorszki pnorbert@ornl.gov */ #include "adios2_libinfo.h" #include "Info.h" #include "adios2/common/ADIOSConfig.h" #include <stdio.h> Loading @@ -21,9 +21,9 @@ extern "C" { const int adios2_version_major = ADIOS2_VERSION_MAJOR; const int adios2_version_minor = ADIOS2_VERSION_MINOR; const int adios2_version_patch = ADIOS2_VERSION_PATCH; const char *const adios2_version_str = ADIOS2_VERSION_STR; const char adios2_version_str[] = ADIOS2_VERSION_STR; static const char *aae[] = {"BP3", static const char *const engines[] = {"BP3", "BP4", #ifdef ADIOS2_HAVE_BP5 "BP5", Loading Loading @@ -57,17 +57,13 @@ static const char *aae[] = {"BP3", "Skeleton", nullptr}; void adios2_available_engines(int *nentries, char const *const **list) void adios2_available_engines(size_t *nentries, const char *const **list) { int ne = 0; while (aae[ne] != nullptr) ++ne; *nentries = ne; *list = aae; return; *nentries = (sizeof(engines) / sizeof(const char *)) - 1; *list = engines; } static const char *aao[] = { static const char *const operators[] = { #ifdef ADIOS2_HAVE_BZIP2 "BZip2", #endif Loading Loading @@ -96,66 +92,20 @@ static const char *aao[] = { "Sodium plugin", #endif #endif "None", nullptr}; void adios2_available_operators(int *nentries, char const *const **list) void adios2_available_operators(size_t *nentries, const char *const **list) { int no = 0; while (aao[no] != nullptr) ++no; *nentries = no; *list = aao; return; *nentries = (sizeof(operators) / sizeof(const char *)) - 1; *list = operators; } static const char *aaf[] = { #ifdef ADIOS2_HAVE_MPI "MPI", #endif #ifdef ADIOS2_HAVE_FORTRAN "Fortran", #endif #ifdef ADIOS2_HAVE_PYTHON "Python", #endif #ifdef ADIOS2_HAVE_IME "IME", #endif #ifdef ADIOS2_HAVE_UCX "UCX", #endif #ifdef ADIOS2_HAVE_AWSSDK "AWSSDK", #endif #ifdef ADIOS2_HAVE_KOKKOS "Kokkos (Host" #ifdef ADIOS2_HAVE_KOKKOS_CUDA ", CUDA" #endif #ifdef ADIOS2_HAVE_KOKKOS_HIP ", HIP" #endif #ifdef ADIOS2_HAVE_KOKKOS_SYCL ", SYCL" #endif ")", #endif // ADIOS2_HAVE_KOKKOS #ifdef ADIOS2_HAVE_CUDA "CUDA", #endif nullptr}; const char *adios2_feature_list[] = {ADIOS2_FEATURE_LIST}; void adios2_available_features(int *nentries, char const *const **list) void adios2_available_features(size_t *nentries, const char *const **list) { int nf = 0; while (aaf[nf] != nullptr) ++nf; *nentries = nf; *list = aaf; return; *nentries = (sizeof(adios2_feature_list) / sizeof(const char *)) - 1; *list = adios2_feature_list; } #ifdef __cplusplus Loading
source/adios2/core/adios2_libinfo.h→source/adios2/core/Info.h +10 −8 Original line number Diff line number Diff line Loading @@ -2,14 +2,16 @@ * Distributed under the OSI-approved Apache License, Version 2.0. See * accompanying file Copyright.txt for details. * * adios2_libinfo.h * Info.h * * Created on: June 22, 2023 * Author: Norbert Podhorszki pnorbert@ornl.gov */ #ifndef ADIOS2_LIBINFO_H_ #define ADIOS2_LIBINFO_H_ #ifndef ADIOS2_INFO_H_ #define ADIOS2_INFO_H_ #include <stddef.h> #ifdef __cplusplus extern "C" { Loading @@ -18,19 +20,19 @@ extern "C" { extern const int adios2_version_major; extern const int adios2_version_minor; extern const int adios2_version_patch; extern const char *const adios2_version_str; extern const char adios2_version_str[]; /** Return the list of available Engines in the installed adios2 library */ void adios2_available_engines(int *nentries, char const *const **list); void adios2_available_engines(size_t *nentries, const char *const **list); /** Return the list of available Engines in the installed adios2 library */ void adios2_available_operators(int *nentries, char const *const **list); void adios2_available_operators(size_t *nentries, const char *const **list); /** Return the list of available features in the installed adios2 library */ void adios2_available_features(int *nentries, char const *const **list); void adios2_available_features(size_t *nentries, const char *const **list); #ifdef __cplusplus } // end extern C #endif #endif /* ADIOS2_LIBINFO_H_ */ #endif /* ADIOS2_INFO_H_ */