[vlc-devel] [PATCH 2/2] build: check for gmtime_r and localtime_r with the new macro.

Diego Elio Pettenò flameeyes at flameeyes.eu
Thu Mar 12 11:43:58 CET 2015


This makes sure that the two functions are found when building on mingw32,
as the functions are defined as static inline rather than as library
symbols.

Signed-off-by: Diego Elio Pettenò <flameeyes at flameeyes.eu>
---
 configure.ac | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 95c3876..25db16c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -556,11 +556,25 @@ need_libc=false
 dnl Check for usual libc functions
 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
 AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale pthread_cond_timedwait_monotonic_np pthread_condattr_setclock])
-AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp])
+AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid lldiv nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp])
 AC_CHECK_FUNCS(fdatasync,,
   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
 ])
 
+VLC_REPLACE_FUNC_INLINE([gmtime_r], [
+    #include <time.h>
+  ], [
+    time_t t; struct tm r;
+    gmtime_r(&t, &r);
+  ])
+
+VLC_REPLACE_FUNC_INLINE([localtime_r], [
+    #include <time.h>
+  ], [
+    time_t t; struct tm r;
+    localtime_r(&t, &r);
+  ])
+
 dnl mingw64 implements those as static inline, not functions with C linkage
 VLC_REPLACE_FUNC_INLINE([asprintf], [
     #include <stdio.h>
-- 
2.0.5




More information about the vlc-devel mailing list