Ver Fonte

Add MSG_MORE detection.

ng0 há 6 anos atrás
pai
commit
5b83823ef3
2 ficheiros alterados com 24 adições e 3 exclusões
  1. 21 0
      configure.ac
  2. 3 3
      src/microhttpd/mhd_send.c

+ 21 - 0
configure.ac

@@ -644,9 +644,30 @@ AM_CONDITIONAL([HAVE_LISTEN_SHUTDOWN], [test "x$mhd_cv_host_shtdwn_trgr_select"
 
 # SENDMSG. Should we check for SCM_RIGHTS instead?
 # https://lists.x.org/archives/xorg-devel/2013-November/038687.html
+AC_MSG_CHECKING([whether sendmsg is available])
 AC_SEARCH_LIBS(sendmsg, socket, AC_DEFINE([HAVE_SENDMSG],1,[Define if your platform supports sendmsg]))
+AC_MSG_CHECKING([whether writev is available])
 AC_CHECK_FUNCS([writev])
 
+# check MSG_MORE defined
+AC_MSG_CHECKING([whether MSG_MORE defined])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+#include <sys/types.h>
+#include <sys/socket.h>
+
+int main(int argc, char **argv)
+{
+  return MSG_MORE;
+}
+    ])],
+    [
+      AC_MSG_RESULT(yes)
+      AC_DEFINE(HAVE_MSG_MORE, [1], [have MSG_MORE])
+    ],
+    [
+      AC_MSG_RESULT(no)
+    ])
+
 # set GCC options
 # use '-fno-strict-aliasing', but only if the compiler
 # and linker can take it

+ 3 - 3
src/microhttpd/mhd_send.c

@@ -21,7 +21,7 @@
 /**
  * @file microhttpd/mhd_send.c
  * @brief Implementation of send() wrappers.
- * @author ng0 <[email protected]>
+ * @author ng0 (N. Gillmann)
  * @author Christian Grothoff
  * @author Evgeny Grin
  */
@@ -48,7 +48,7 @@ static void
 pre_cork_setsockopt (struct MHD_Connection *connection,
                      bool want_cork)
 {
-#if MSG_MORE
+#if HAVE_MSG_MORE
 #else
   int ret;
   const MHD_SCKT_OPT_BOOL_ off_val = 0;
@@ -101,7 +101,7 @@ static void
 post_cork_setsockopt (struct MHD_Connection *connection,
                       bool want_cork)
 {
-#if MSG_MORE
+#if HAVE_MSG_MORE
 #else
   int ret;
   const MHD_SCKT_OPT_BOOL_ off_val = 0;