Issue #28538: On Darwin net/if.h requires that sys/socket.h be included beforehand.

This commit is contained in:
Xavier de Gaye 2016-12-21 17:29:59 +01:00
parent 708784255e
commit 40e320b31e
2 changed files with 28 additions and 4 deletions

16
configure vendored
View File

@ -12645,13 +12645,25 @@ fi
rm -f core conftest.err conftest.$ac_objext \ rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext conftest$ac_exeext conftest.$ac_ext
# On Android API level 24 if_nameindex() is available, but the if_nameindex # On Android API level 24 with android-ndk-r13, if_nameindex() is available,
# structure is not defined. # but the if_nameindex structure is not defined.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for if_nameindex" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for if_nameindex" >&5
$as_echo_n "checking for if_nameindex... " >&6; } $as_echo_n "checking for if_nameindex... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */ /* 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 #ifdef HAVE_NET_IF_H
# include <net/if.h> # include <net/if.h>
#endif #endif

View File

@ -3736,10 +3736,22 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
]) ])
# On Android API level 24 if_nameindex() is available, but the if_nameindex # On Android API level 24 with android-ndk-r13, if_nameindex() is available,
# structure is not defined. # but the if_nameindex structure is not defined.
AC_MSG_CHECKING(for if_nameindex) AC_MSG_CHECKING(for if_nameindex)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 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 #ifdef HAVE_NET_IF_H
# include <net/if.h> # include <net/if.h>
#endif #endif