File: fortran_gmtime64.patch

package info (click to toggle)
hdf5 1.14.5%2Brepack-3.1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 208,864 kB
  • sloc: ansic: 715,772; f90: 42,941; java: 38,102; sh: 30,925; xml: 18,706; cpp: 18,011; makefile: 2,423; perl: 2,383; yacc: 332; python: 262; javascript: 203; lex: 157; ruby: 24; csh: 22
file content (70 lines) | stat: -rw-r--r-- 2,642 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Index: hdf5/fortran/src/H5_ff.F90
===================================================================
--- hdf5.orig/fortran/src/H5_ff.F90
+++ hdf5/fortran/src/H5_ff.F90
@@ -1064,7 +1064,16 @@ CONTAINS
     INTEGER(C_INT), DIMENSION(:), POINTER :: c_time
 
     INTERFACE
+#if H5_SIZEOF_TIME_T == 8
+# ifdef H5_HAVE___GMTIME64
+#  define H5_USE_GMTIME64
+# endif
+#endif
+#ifndef H5_USE_GMTIME64
        FUNCTION gmtime(stdtime_t) BIND(C, NAME='gmtime')
+#else
+       FUNCTION gmtime(stdtime_t) BIND(C, NAME='__gmtime64')
+#endif
          IMPORT :: TIME_T, C_PTR
          IMPLICIT NONE
          INTEGER(KIND=TIME_T) :: stdtime_t
Index: hdf5/configure.ac
===================================================================
--- hdf5.orig/configure.ac
+++ hdf5/configure.ac
@@ -1862,6 +1862,7 @@ AC_CHECK_SIZEOF([ptrdiff_t])
 AC_CHECK_SIZEOF([size_t])
 AC_CHECK_SIZEOF([ssize_t])
 AC_CHECK_SIZEOF([time_t], [], [#include <time.h>])
+AC_CHECK_FUNCS(__gmtime64)
 
 ## Checkpoint the cache
 AC_CACHE_SAVE
Index: hdf5/fortran/src/H5config_f.inc.in
===================================================================
--- hdf5.orig/fortran/src/H5config_f.inc.in
+++ hdf5/fortran/src/H5config_f.inc.in
@@ -110,3 +110,6 @@
     (((H5_VERS_MAJOR == Maj) && (H5_VERS_MINOR == Min) && (H5_VERS_RELEASE <= Rel)) || \
      ((H5_VERS_MAJOR == Maj) && (H5_VERS_MINOR < Min)) || (H5_VERS_MAJOR < Maj))
 
+! For being able to choose between C gmtime() and __gmtime64()
+#undef SIZEOF_TIME_T
+#undef HAVE___GMTIME64
Index: hdf5/config/cmake/ConfigureChecks.cmake
===================================================================
--- hdf5.orig/config/cmake/ConfigureChecks.cmake
+++ hdf5/config/cmake/ConfigureChecks.cmake
@@ -336,6 +336,7 @@ endif ()
 
 HDF_CHECK_TYPE_SIZE (off_t          ${HDF_PREFIX}_SIZEOF_OFF_T)
 HDF_CHECK_TYPE_SIZE (time_t         ${HDF_PREFIX}_SIZEOF_TIME_T)
+check_function_exists(__gmtime64    ${HDF_PREFIX}_HAVE___GMTIME64)
 
 #-----------------------------------------------------------------------------
 # Extra C99 types
Index: hdf5/fortran/src/H5config_f.inc.cmake
===================================================================
--- hdf5.orig/fortran/src/H5config_f.inc.cmake
+++ hdf5/fortran/src/H5config_f.inc.cmake
@@ -162,3 +162,9 @@
     (((H5_VERS_MAJOR == Maj) && (H5_VERS_MINOR == Min) && (H5_VERS_RELEASE <= Rel)) || \
      ((H5_VERS_MAJOR == Maj) && (H5_VERS_MINOR < Min)) || (H5_VERS_MAJOR < Maj))
 
+! For being able to choose between C gmtime() and __gmtime64()
+#define H5_SIZEOF_TIME_T @H5_SIZEOF_TIME_T@
+#cmakedefine01 H5_HAVE___GMTIME64
+#if H5_HAVE___GMTIME64 == 0
+#undef H5_HAVE___GMTIME64
+#endif