diff --git a/configure.ac b/configure.ac index 035a7d0cff..4e6220d499 100644 --- a/configure.ac +++ b/configure.ac @@ -552,9 +552,15 @@ PKG_CHECK_MODULES([LIBUV], [libuv >= 1.0.0], [], [AC_MSG_ERROR([libuv not found])]) # libuv recvmmsg support -AC_CHECK_DECLS([UV_UDP_RECVMMSG, UV_UDP_MMSG_FREE, UV_UDP_MMSG_CHUNK], [], [], [[#include ]]) -AS_CASE([$host], - [*-musl],[AC_DEFINE([HAVE_DECL_UV_UDP_RECVMMSG], [0], [Disable recvmmsg support on systems with MUSL glibc])]) +AC_CHECK_DECLS([UV_UDP_MMSG_FREE, UV_UDP_MMSG_CHUNK], [], [], [[#include ]]) +AC_MSG_CHECKING([whether struct msghdr uses padding for alignment]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [const struct msghdr h = { .__pad1 = 0, .__pad2 = 0 };])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_DECL_UV_UDP_RECVMMSG], + [0], [Disable recvmmsg support on systems with MUSL glibc])], + [AC_MSG_RESULT([no]) + AC_CHECK_DECLS([UV_UDP_RECVMMSG], [], [], [[#include ]])]) # [pairwise: --enable-doh --with-libnghttp2=auto, --enable-doh --with-libnghttp2=yes, --disable-doh] AC_ARG_ENABLE([doh],