]> granicus.if.org Git - php/commitdiff
Fix openbsd build: AI_V4MAPPED, AI_ALL not defined
authorDavid Carlier <devnexen@gmail.com>
Sat, 25 Mar 2017 15:09:35 +0000 (15:09 +0000)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 27 Mar 2017 16:55:34 +0000 (18:55 +0200)
ext/sockets/config.m4
ext/sockets/sockets.c

index cea27000cf738a9352089d1c9646e9f528876069..fe7d22a10a69552dd7f81af7cb257a7cfad9d82c 100644 (file)
@@ -56,6 +56,19 @@ if test "$PHP_SOCKETS" != "no"; then
     AC_DEFINE(HAVE_AI_V4MAPPED,1,[Whether you have AI_V4MAPPED])
   fi
 
+  dnl Check for AI_ALL flag
+  AC_CACHE_CHECK([if getaddrinfo supports AI_ALL],[ac_cv_gai_ai_all],
+  [
+    AC_TRY_COMPILE([
+#include <netdb.h>
+  ], [int flag = AI_ALL;],
+     ac_cv_gai_ai_all=yes, ac_cv_gai_ai_all=no)
+  ])
+
+  if test "$ac_cv_gai_ai_all" = yes; then
+    AC_DEFINE(HAVE_AI_ALL,1,[Whether you have AI_ALL])
+  fi
+
   PHP_NEW_EXTENSION([sockets], [sockets.c multicast.c conversions.c sockaddr_conv.c sendrecvmsg.c], [$ext_shared],, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
   PHP_INSTALL_HEADERS([ext/sockets/], [php_sockets.h])
 fi
index 89d341b2331da2d6e385ee750fb8808b15675629..d26dde75056da4522a9a90e44348d7cc683e3283 100644 (file)
@@ -789,8 +789,12 @@ static PHP_MINIT_FUNCTION(sockets)
        REGISTER_LONG_CONSTANT("AI_PASSIVE",            AI_PASSIVE,                     CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("AI_CANONNAME",          AI_CANONNAME,           CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("AI_NUMERICHOST",        AI_NUMERICHOST,         CONST_CS | CONST_PERSISTENT);
+#if HAVE_AI_V4MAPPED
        REGISTER_LONG_CONSTANT("AI_V4MAPPED",           AI_V4MAPPED,            CONST_CS | CONST_PERSISTENT);
+#endif
+#if HAVE_AI_ALL
        REGISTER_LONG_CONSTANT("AI_ALL",                        AI_ALL,                         CONST_CS | CONST_PERSISTENT);
+#endif
        REGISTER_LONG_CONSTANT("AI_ADDRCONFIG",         AI_ADDRCONFIG,          CONST_CS | CONST_PERSISTENT);
 #ifdef __USE_GNU
        REGISTER_LONG_CONSTANT("AI_IDN",                        AI_IDN,                         CONST_CS | CONST_PERSISTENT);