summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier de Gaye <xdegaye@users.sourceforge.net>2016-12-21 17:29:59 +0100
committerXavier de Gaye <xdegaye@users.sourceforge.net>2016-12-21 17:29:59 +0100
commit38661766bdcf79704d84b2b5b2a9c43ac10e4fb8 (patch)
treed202b2fca1d5a02f590de776fc4f32d317f29b5d
parentfa2e23427743f2738a8fdac44b235dd26f61286b (diff)
downloadcpython-38661766bdcf79704d84b2b5b2a9c43ac10e4fb8.tar.gz
Issue #28538: On Darwin net/if.h requires that sys/socket.h be included beforehand.
-rwxr-xr-xconfigure16
-rw-r--r--configure.ac16
2 files changed, 28 insertions, 4 deletions
diff --git a/configure b/configure
index a997376b6b..a05009a1da 100755
--- a/configure
+++ b/configure
@@ -12645,13 +12645,25 @@ fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-# On Android API level 24 if_nameindex() is available, but the if_nameindex
-# structure is not defined.
+# On Android API level 24 with android-ndk-r13, if_nameindex() is available,
+# but the if_nameindex structure is not defined.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for if_nameindex" >&5
$as_echo_n "checking for if_nameindex... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
#ifdef HAVE_NET_IF_H
# include <net/if.h>
#endif
diff --git a/configure.ac b/configure.ac
index 61fad0098c..8099e27c77 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3736,10 +3736,22 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
AC_MSG_RESULT(no)
])
-# On Android API level 24 if_nameindex() is available, but the if_nameindex
-# structure is not defined.
+# On Android API level 24 with android-ndk-r13, if_nameindex() is available,
+# but the if_nameindex structure is not defined.
AC_MSG_CHECKING(for if_nameindex)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include <stdio.h>
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
#ifdef HAVE_NET_IF_H
# include <net/if.h>
#endif