From e3b4249b0dc09d704de484c755bc838d839c4431 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Thu, 22 Aug 2024 13:32:22 +0200 Subject: [PATCH] fixup! Correctly compute size of `timeval.tv_sec` on Windows. Simply compute size of `long` on Windows. --- .../packagefiles/libmicrohttpd/meson.build | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/subprojects/packagefiles/libmicrohttpd/meson.build b/subprojects/packagefiles/libmicrohttpd/meson.build index a2b278afe..9da37c5b9 100644 --- a/subprojects/packagefiles/libmicrohttpd/meson.build +++ b/subprojects/packagefiles/libmicrohttpd/meson.build @@ -118,25 +118,13 @@ foreach s : ['size_t', 'unsigned int', 'unsigned long long'] cdata.set('SIZEOF_@0@'.format(s.underscorify().to_upper()), cc.sizeof(s)) endforeach -cdata.set( - 'SIZEOF_STRUCT_TIMEVAL_TV_SEC', - cc.sizeof( - 'test_var.tv_sec', - prefix: '''#ifdef HAVE_SYS_TIME_H -#include -#endif /* HAVE_SYS_TIME_H */ -#ifdef HAVE_TIME_H -#include -#endif /* HAVE_TIME_H */ -#if HAVE_SYS_TYPES_H -#include -#endif /* HAVE_SYS_TYPES_H */ -#ifdef _WIN32 -#include -#endif /* _WIN32 */ -struct timeval test_var;''' - ) -) +if host_machine.system() == 'windows' + # `timevale.tv_sec` is `long` on Windows + # See https://learn.microsoft.com/en-us/windows/win32/api/winsock/ns-winsock-timeval + cdata.set('SIZEOF_STRUCT_TIMEVAL_TV_SEC', cc.sizeof('long')) +else + cdata.set('SIZEOF_STRUCT_TIMEVAL_TV_SEC', cc.sizeof('time_t', prefix: '#include ')) +endif cdata.set('SIZEOF_UINT64_T', cc.sizeof('uint64_t', prefix: '#include ')) cdata.set('HAVE_PIPE2_FUNC', cc.has_function('pipe2'))