]> granicus.if.org Git - php/commitdiff
Added cmsghdr check. Now sockets extension can be built under cygwin.
authorMoriyoshi Koizumi <moriyoshi@php.net>
Fri, 4 Apr 2003 13:02:43 +0000 (13:02 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Fri, 4 Apr 2003 13:02:43 +0000 (13:02 +0000)
configure.in
ext/sockets/sockets.c

index 3ffc27fc3f27abdc65949b895f0fc422cb0f7512..e55542fae0b70955acee3d55cbf6045cc5ab450b 100644 (file)
@@ -427,6 +427,15 @@ if test "$ac_cv_sockaddr_storage" = yes; then
   AC_DEFINE(HAVE_SOCKADDR_STORAGE,1,[Whether you have struct sockaddr_storage])
 fi
 
+dnl Check for struct sockaddr_storage
+AC_CACHE_CHECK([for struct cmsghdr], ac_cv_cmsghdr,
+[AC_TRY_COMPILE([ #include <sys/types.h>
+#include <sys/socket.h>], [struct cmsghdr s; s],
+  ac_cv_cmsghdr=yes, ac_cv_cmsghdr=no)])
+if test "$ac_cv_cmsghdr" = yes; then
+  AC_DEFINE(HAVE_CMSGHDR,1,[Whether you have struct cmsghdr])
+fi
+
 dnl Check if sockaddr data structure includes an "sa_len" member
 
 AC_TRY_COMPILE([
index db0a04a7d49169a0ba6ca84c66c7c8da577617ae..5ac4c0a4cb9616575446cfb77ad2724fbc321f5f 100644 (file)
@@ -139,7 +139,9 @@ function_entry sockets_functions[] = {
        PHP_FE(socket_send,                             NULL)
        PHP_FE(socket_recvfrom,                 second_fifth_and_sixth_args_force_ref)
        PHP_FE(socket_sendto,                   NULL)
+#ifdef HAVE_CMSGHDR
        PHP_FE(socket_recvmsg,                  third_through_seventh_args_force_ref)
+#endif
        PHP_FE(socket_sendmsg,                  NULL)
        PHP_FE(socket_readv,                    NULL)
        PHP_FE(socket_writev,                   NULL)
@@ -1505,6 +1507,7 @@ PHP_FUNCTION(socket_sendto)
 
 /* {{{ proto bool socket_recvmsg(resource socket, resource iovec, array &control, int &controllen, int &flags, string &addr [, int &port])
    Used to receive messages on a socket, whether connection-oriented or not */
+#ifdef HAVE_CMSGHDR
 PHP_FUNCTION(socket_recvmsg)
 {
        zval                                    *arg1, *arg2, *arg3, *arg4, *arg5, *arg6, *arg7 = NULL;
@@ -1643,6 +1646,7 @@ PHP_FUNCTION(socket_recvmsg)
                RETURN_FALSE;
        }
 }
+#endif
 /* }}} */
 
 /* {{{ proto bool socket_sendmsg(resource socket, resource iovec, int flags, string addr [, int port])