changeset 5925:de66eba9951c

HDF5: Update to version 1.12.1. * src/hdf5.mk: Update version and checksum. After an upstream fix, the build rule now builds a shared library again. Update cross compilation options with results after update. Use ninja as build tool. * src/mingw-hdf5-1.patch: Update build rules for cross-compilation.
author Markus Mützel <markus.muetzel@gmx.de>
date Tue, 19 Oct 2021 20:04:56 +0200
parents 3f37fcd900e0
children fc2a223d778f
files src/hdf5.mk src/mingw-hdf5-1.patch
diffstat 2 files changed, 168 insertions(+), 89 deletions(-) [+]
line wrap: on
line diff
--- a/src/hdf5.mk	Tue Oct 19 08:46:17 2021 -0400
+++ b/src/hdf5.mk	Tue Oct 19 20:04:56 2021 +0200
@@ -3,12 +3,12 @@
 
 PKG             := hdf5
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 1.12.0
-$(PKG)_CHECKSUM := 6020131b6e18e6866816b1fe68980512c696c2bf
+$(PKG)_VERSION  := 1.12.1
+$(PKG)_CHECKSUM := 665eed49a004f96f852887bb2b232dd7d3d8d8a0
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.bz2
 $(PKG)_URL      := https://support.hdfgroup.org/ftp/HDF5/releases/$(PKG)-$(call SHORT_PKG_VERSION,$(PKG))/$(PKG)-$($(PKG)_VERSION)/src/$($(PKG)_FILE)
-$(PKG)_DEPS     := zlib
+$(PKG)_DEPS     := build-ninja zlib
 
 define $(PKG)_UPDATE
     echo 'Warning: Updates are temporarily disabled for package hdf5.' >&2;
@@ -32,7 +32,7 @@
             -DH5_DISABLE_SOME_LDOUBLE_CONV_RUN__TRYRUN_OUTPUT="" \
             -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0 \
             -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT="" \
-            -DH5_PRINTF_LL_TEST_RUN=1 \
+            -DH5_PRINTF_LL_TEST_RUN=0 \
             -DH5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT="" \
             -DTEST_LFS_WORKS_RUN=0
     endif
@@ -41,26 +41,33 @@
 define $(PKG)_BUILD
     if test x$(MXE_SYSTEM) = xmingw; then \
         mkdir '$(1)/pregen'; \
+        mkdir '$(1)/pregen/shared'; \
         case '$(TARGET)' in \
             x86_64-w64-mingw32) \
                 cp '$(1)/src/H5Tinit.c.mingw64' '$(1)/pregen/H5Tinit.c' & \
-                cp '$(1)/src/H5lib_settings.c.mingw64' '$(1)/pregen/H5lib_settings.c' \
+                cp '$(1)/src/H5Tinit.c.mingw64' '$(1)/pregen/shared/H5Tinit.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw64' '$(1)/pregen/H5lib_settings.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw64' '$(1)/pregen/shared/H5lib_settings.c' \
             ;; \
             i686-w64-mingw32) \
                 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
-                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' \
+                cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/shared/H5Tinit.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/shared/H5lib_settings.c' \
             ;; \
             i686-pc-mingw32) \
                 cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/H5Tinit.c' & \
-                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' \
+                cp '$(1)/src/H5Tinit.c.mingw32' '$(1)/pregen/shared/H5Tinit.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/H5lib_settings.c' & \
+                cp '$(1)/src/H5lib_settings.c.mingw32' '$(1)/pregen/shared/H5lib_settings.c' \
             ;; \
         esac; \
     fi
 
     mkdir '$(1)/.build'
 
-    cd '$(1)/.build' && cmake .. -G "Unix Makefiles" \
-        -DCMAKE_INSTALL_PREFIX=${prefix} \
+    cd '$(1)/.build' && cmake .. -G Ninja \
+        -DCMAKE_INSTALL_PREFIX=$(HOST_PREFIX) \
         $($(PKG)_CMAKE_FLAGS) \
         $(CMAKE_CCACHE_FLAGS) \
         $(CMAKE_BUILD_SHARED_OR_STATIC) \
@@ -78,19 +85,17 @@
         $($(PKG)_CROSS_CONFIG_OPTIONS) \
         -DHDF5_USE_PREGEN_DIR='$(1)/pregen'
 
-    $(MAKE) -C '$(1)/.build' -j '$(JOBS)' 
-    $(MAKE) -C '$(1)/.build' -j 1 install DESTDIR='$(3)'
+    cmake --build '$(1)/.build' -j '$(JOBS)' 
+    DESTDIR='$(3)' cmake --install '$(1)/.build'
 
     # FIXME: Change the build rule to create the shared libs with the prefix
-    if test x$(MXE_SYSTEM) = xmingw; then \
+    if [ $(BUILD_STATIC) = yes ]; then \
+      if test x$(MXE_SYSTEM) = xmingw; then \
         mv '$(3)/$(HOST_LIBDIR)/hdf5.lib' '$(3)/$(HOST_LIBDIR)/libhdf5.lib'; \
         mv '$(3)/$(HOST_LIBDIR)/hdf5_tools.lib' '$(3)/$(HOST_LIBDIR)/libhdf5_tools.lib'; \
         mv '$(3)/$(HOST_LIBDIR)/hdf5_hl.lib' '$(3)/$(HOST_LIBDIR)/libhdf5_hl.lib'; \
+      fi; \
     fi
-    
-    # Remove version suffix from pkg-config files
-    mv '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5-$($(PKG)_VERSION).pc' '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5.pc'
-    mv '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5_hl-$($(PKG)_VERSION).pc' '$(3)/$(HOST_LIBDIR)/pkgconfig/hdf5_hl.pc'
 
     if [ "$(ENABLE_DEP_DOCS)" == "no" ]; then \
         rm -rf '$(3)$(HOST_PREFIX)/share/hdf5_examples'; \
--- a/src/mingw-hdf5-1.patch	Tue Oct 19 08:46:17 2021 -0400
+++ b/src/mingw-hdf5-1.patch	Tue Oct 19 20:04:56 2021 +0200
@@ -2268,108 +2268,182 @@
 +;
 +
 
-diff --git "a/src/H5win32defs.h" "b/src/H5win32defs.h"
-index 0a0bd37..405e9e8 100644
---- "a/src/H5win32defs.h"	
-+++ "b/src/H5win32defs.h"
-@@ -42,7 +42,7 @@ typedef __int64             h5_stat_size_t;
- #define HDisatty(F)         _isatty(F)
- 
- /* The isnan function needs underscore in VS2012 and earlier */
--#if (_MSC_VER <= 1700)
-+#if defined(_MSC_VER) && (_MSC_VER <= 1700)
-   #define HDisnan(X)      _isnan(X)
- #endif /* MSC_VER < 1700 */
- 
-diff --git "a/src/CMakeLists.txt" "b/src/CMakeLists.txt"
---- "a/src/CMakeLists.txt"	
-+++ "b/src/CMakeLists.txt"
-@@ -1087,7 +1087,8 @@ else ()
-   endif ()
+
+Generating the files above requires executing programs natively. That doesn't
+work when cross-compiling. Instead modify build rules to take the pre-generated
+files from above.
+
+diff -rNu a/src/CMakeLists.txt b/src/CMakeLists.txt
+--- a/src/CMakeLists.txt	2021-07-01 23:26:40.000000000 +0200
++++ b/src/CMakeLists.txt	2021-10-19 16:38:19.588486107 +0200
+@@ -1069,6 +1069,19 @@
+         COMMAND ${CMAKE_COMMAND} -P ${HDF5_SOURCE_DIR}/config/cmake/wait_H5Tinit.cmake
+     )
+     set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c PROPERTIES GENERATED TRUE)
++    if (BUILD_SHARED_LIBS)
++      add_custom_command (TARGET H5detect POST_BUILD
++          COMMAND    ${CMAKE_COMMAND}
++          ARGS       -E copy_if_different H5Tinit.c shared/H5Tinit.c
++          BYPRODUCTS shared/H5Tinit.c shared/shared_gen_SRCS.stamp1
++          COMMAND    ${CMAKE_COMMAND}
++          ARGS       -E touch shared/shared_gen_SRCS.stamp1
++          DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit_created
++          WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
++          COMMENT    "Copy H5Tinit.c to shared folder"
++      )
++      set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c PROPERTIES GENERATED TRUE)
++    endif ()
+   else ()
+     add_custom_command (TARGET H5detect POST_BUILD
+         COMMAND    ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5detect>
+@@ -1100,20 +1113,20 @@
+       OUTPUT     gen_SRCS.stamp1
+       COMMAND    ${CMAKE_COMMAND}
+       ARGS       -E touch gen_SRCS.stamp1
+-      DEPENDS H5Tinit.c
++      DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c
+       WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
+       COMMENT    "Touch existing H5Tinit.c"
+   )
+   set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c PROPERTIES GENERATED TRUE)
+   if (BUILD_SHARED_LIBS)
+     add_custom_command (
+-        OUTPUT     shared/shared_gen_SRCS.stamp1
++        OUTPUT     ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp1
+         COMMAND    ${CMAKE_COMMAND}
+-        ARGS       -E copy_if_different H5Tinit.c shared/H5Tinit.c
++        ARGS       -E copy_if_different "${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c" "${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c"
+         BYPRODUCTS shared/H5Tinit.c shared/shared_gen_SRCS.stamp1
+         COMMAND    ${CMAKE_COMMAND}
+         ARGS       -E touch shared/shared_gen_SRCS.stamp1
+-        DEPENDS H5Tinit.c
++        DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c
+         WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
+         COMMENT    "Copy existing H5Tinit.c to shared folder"
+     )
+@@ -1128,6 +1141,7 @@
+   clang_format (HDF5_SRC_DETECT_FORMAT ${HDF5_SRC_DIR}/H5detect.c)
  endif ()
  
 +if (NOT EXISTS "${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c")
  add_executable (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
- target_include_directories (H5make_libsettings PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
+ target_include_directories (H5make_libsettings PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
  target_compile_definitions(H5make_libsettings PUBLIC ${HDF_EXTRA_C_FLAGS} ${HDF_EXTRA_FLAGS})
- TARGET_C_PROPERTIES (H5make_libsettings STATIC)
-@@ -1097,28 +1098,49 @@ target_link_libraries (H5make_libsettings
+@@ -1157,7 +1171,7 @@
+     WORKING_DIRECTORY ${HDF5_SRC_BINARY_DIR}
+     COMMENT    "Create H5lib_settings.c"
  )
- 
- add_custom_command (
--    OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
--           ${HDF5_BINARY_DIR}/gen_SRCS.stamp2
-+    OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
-+           ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
-     COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5make_libsettings>
--    ARGS ${HDF5_BINARY_DIR}/H5lib_settings.c
-+    ARGS ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
-     COMMAND    ${CMAKE_COMMAND}
-     ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
-     DEPENDS H5make_libsettings
--    WORKING_DIRECTORY ${HDF5_BINARY_DIR}
-+    WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
- )
--set_source_files_properties (${HDF5_BINARY_DIR}/H5lib_settings.c PROPERTIES GENERATED TRUE)
+-set_source_files_properties (${HDF5_SRC_BINARY_DIR}/H5lib_settings.c PROPERTIES GENERATED TRUE)
 +set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c PROPERTIES GENERATED TRUE)
  if (BUILD_SHARED_LIBS)
-   add_custom_command (
--      OUTPUT ${HDF5_BINARY_DIR}/shared/H5lib_settings.c
--             ${HDF5_BINARY_DIR}/shared/shared_gen_SRCS.stamp2
-+      OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c
-+             ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
+   add_custom_command (TARGET H5make_libsettings POST_BUILD
+       COMMAND    ${CMAKE_COMMAND}
+@@ -1166,11 +1180,32 @@
        COMMAND    ${CMAKE_COMMAND}
--      ARGS       -E copy_if_different "${HDF5_BINARY_DIR}/H5lib_settings.c" "${HDF5_BINARY_DIR}/shared/H5lib_settings.c"
-+      ARGS       -E copy_if_different "${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c" "${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c"
-       COMMAND    ${CMAKE_COMMAND}
-       ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
--      DEPENDS    ${HDF5_BINARY_DIR}/H5lib_settings.c
--      WORKING_DIRECTORY ${HDF5_BINARY_DIR}
+       ARGS       -E touch shared/shared_gen_SRCS.stamp2
+       DEPENDS H5make_libsettings H5lib_settings.c
+-      WORKING_DIRECTORY ${HDF5_SRC_BINARY_DIR}
++      WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
+       COMMENT    "Copy H5lib_settings.c to shared folder"
+   )
+-  set_source_files_properties (${HDF5_SRC_BINARY_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
++  set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
+ endif ()
++else ()
++  add_custom_command (
++      OUTPUT gen_SRCS.stamp2
++      COMMAND    ${CMAKE_COMMAND}
++      ARGS       -E touch gen_SRCS.stamp2
 +      DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
 +      WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
-+  )
-+  set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
-+endif ()
-+else ()
-+  add_custom_command (
-+      OUTPUT ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
-+      COMMAND    ${CMAKE_COMMAND}
-+      ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2
-+      DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
-+      WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
-   )
--  set_source_files_properties (${HDF5_BINARY_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
++   )
 +  if (BUILD_SHARED_LIBS)
 +    add_custom_command (
 +        OUTPUT     ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
 +        COMMAND    ${CMAKE_COMMAND}
 +        ARGS       -E copy_if_different "${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c" "${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c"
 +        COMMAND    ${CMAKE_COMMAND}
-+        ARGS       -E touch ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
++        ARGS       -E touch shared/shared_gen_SRCS.stamp2
 +        DEPENDS    ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
 +        WORKING_DIRECTORY ${HDF5_GENERATED_SOURCE_DIR}
 +    )
 +    set_source_files_properties (${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c PROPERTIES GENERATED TRUE)
 +  endif ()
- endif ()
++ endif ()
  
  ## all_packages="AC,B,B2,D,F,FA,FL,FS,HL,I,O,S,ST,T,Z"
-@@ -1129,7 +1151,7 @@ option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF)
+ #all_packages="AC,B2,CX,D,F,HL,I,O,S,ST,T,Z"
+@@ -1180,7 +1215,7 @@
  # Add H5Tinit source to build - generated by H5detect/CMake at configure time
  #-----------------------------------------------------------------------------
  if (NOT ONLY_SHARED_LIBS)
--  set (gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_BINARY_DIR}/H5lib_settings.c)
-+  set (gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c)
-   add_custom_target (gen_${HDF5_LIB_TARGET} ALL DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp1 ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp2)
- 
-   add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
-@@ -1164,7 +1186,7 @@ if (NOT ONLY_SHARED_LIBS)
+-  set (gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_SRC_BINARY_DIR}/H5lib_settings.c)
++  set (gen_SRCS H5Tinit.c ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c)
+   add_custom_target (gen_${HDF5_LIB_TARGET} ALL
+     DEPENDS ${lib_prog_deps} ${gen_SRCS} ${HDF5_GENERATED_SOURCE_DIR}/gen_SRCS.stamp1 ${HDF5_SRC_BINARY_DIR}/gen_SRCS.stamp2
+     COMMENT "Generation target files"
+@@ -1219,9 +1254,9 @@
  endif ()
  
  if (BUILD_SHARED_LIBS)
--  set (shared_gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c ${HDF5_BINARY_DIR}/shared/H5lib_settings.c)
+-  set (shared_gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c ${HDF5_SRC_BINARY_DIR}/shared/H5lib_settings.c)
 +  set (shared_gen_SRCS ${HDF5_GENERATED_SOURCE_DIR}/shared/H5Tinit.c ${HDF5_GENERATED_SOURCE_DIR}/shared/H5lib_settings.c)
-   add_custom_target (gen_${HDF5_LIBSH_TARGET} ALL DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp1 ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2)
+   add_custom_target (gen_${HDF5_LIBSH_TARGET} ALL
+-    DEPENDS ${lib_prog_deps} ${shared_gen_SRCS} ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp1 ${HDF5_SRC_BINARY_DIR}/shared/shared_gen_SRCS.stamp2
++    DEPENDS ${lib_prog_deps} ${shared_gen_SRCS} ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp1 ${HDF5_GENERATED_SOURCE_DIR}/shared/shared_gen_SRCS.stamp2
+     COMMENT "Shared generation target files"
+   )
+ 
+@@ -1404,7 +1439,7 @@
+   configure_file (${HDF5_DOXYGEN_DIR}/Doxyfile.in ${HDF5_BINARY_DIR}/Doxyfile @ONLY)
+   add_custom_target (hdf5lib_doc ALL
+         COMMAND ${DOXYGEN_EXECUTABLE} ${HDF5_BINARY_DIR}/Doxyfile
+-        DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_SRC_BINARY_DIR}/H5lib_settings.c
++        DEPENDS ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c ${HDF5_GENERATED_SOURCE_DIR}/H5lib_settings.c
+         WORKING_DIRECTORY ${HDF5_SRC_DIR}
+         COMMENT "Generating HDF5 library Source API documentation with Doxygen"
+         VERBATIM )
+
+
+Remove hard-coded test program that should write to a text file.
+Provide the result of that program (executed on Windows 10 64bit mingw32) as a
+string instead.
+
+diff -rNu a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
+--- a/config/cmake/ConfigureChecks.cmake	2021-07-01 23:26:38.000000000 +0200
++++ b/config/cmake/ConfigureChecks.cmake	2021-10-19 16:21:55.391645870 +0200
+@@ -305,33 +305,7 @@
+     endif ()
+ endmacro ()
  
-   add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${shared_gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
-
+-set (PROG_SRC
+-    "
+-#include <float.h>\n\
+-#include <stdio.h>\n\
+-#define CHECK_FLOAT128 _SIZEOF___FLOAT128\n\
+-#if CHECK_FLOAT128!=0\n\
+-#if _HAVE_QUADMATH_H!=0\n\
+-#include <quadmath.h>\n\
+-#endif\n\
+-#ifdef FLT128_DIG\n\
+-#define C_FLT128_DIG FLT128_DIG\n\
+-#else\n\
+-#define C_FLT128_DIG 0\n\
+-#endif\n\
+-#else\n\
+-#define C_FLT128_DIG 0\n\
+-#endif\n\
+-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L\n\
+-#define C_LDBL_DIG DECIMAL_DIG\n\
+-#else\n\
+-#define C_LDBL_DIG LDBL_DIG\n\
+-#endif\n\nint main() {\nFILE *pFile = fopen(\"pac_Cconftest.out\",\"w\")\\\;\nfprintf(pFile, \"\\%d\\\;\\%d\\\;\", C_LDBL_DIG, C_FLT128_DIG)\\\;\n\nreturn 0\\\;\n}\n
+-     "
+-)
+-
+-C_RUN ("maximum decimal precision for C" ${PROG_SRC} PROG_RES)
+-file (READ "${RUN_OUTPUT_PATH_DEFAULT}/pac_Cconftest.out" PROG_OUTPUT4)
++set (PROG_OUTPUT4 "21;33;")
+ message (STATUS "Testing maximum decimal precision for C - ${PROG_OUTPUT4}")
+ 
+ # dnl The output from the above program will be: