[vlc-devel] [PATCH] configure: Fix if_nametoindex detection
Hugo Beauzée-Luyssen
hugo at beauzee.fr
Mon Dec 4 17:44:21 CET 2017
This fixes win32 builds
---
configure.ac | 10 +++++++++-
include/vlc_fixups.h | 7 ++++---
src/network/udp.c | 1 +
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index f9bde2aa4c..4fb0e25f55 100644
--- a/configure.ac
+++ b/configure.ac
@@ -680,7 +680,15 @@ AC_LINK_IFELSE([
char dst[[sizeof(struct in_addr)]];
inet_pton(AF_INET, "127.0.0.1", dst);
])],[AC_DEFINE([HAVE_INET_PTON],[1],[Define to 1 if you have inet_pton function])],[AC_LIBOBJ([inet_pton])])
-AC_CHECK_FUNCS([if_nameindex if_nametoindex])
+
+AC_SEARCH_LIBS([if_nametoindex], [iphlpapi], [
+ AS_IF([test "$ac_cv_search_if_nametoindex" != "none required"], [
+ SOCKET_LIBS="$ac_cv_search_if_nametoindex $SOCKET_LIBS"
+ ])
+ AC_DEFINE([HAVE_IF_NAMETOINDEX], [1], [Define to 1 if you have if_nametoindex function])
+])
+
+AC_CHECK_FUNCS([if_nameindex])
VLC_RESTORE_FLAGS
AC_SUBST(SOCKET_LIBS)
diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h
index 4888b782be..54efe8a7d3 100644
--- a/include/vlc_fixups.h
+++ b/include/vlc_fixups.h
@@ -411,13 +411,14 @@ struct if_nameindex
unsigned if_index;
char *if_name;
};
-# ifndef HAVE_IF_NAMETOINDEX
-# define if_nametoindex(name) atoi(name)
-# endif
# define if_nameindex() (errno = ENOBUFS, NULL)
# define if_freenameindex(list) (void)0
#endif
+#ifndef HAVE_IF_NAMETOINDEX
+# define if_nametoindex(name) atoi(name)
+#endif
+
#ifndef HAVE_STRUCT_TIMESPEC
struct timespec {
time_t tv_sec; /* Seconds */
diff --git a/src/network/udp.c b/src/network/udp.c
index d098fb1425..adc4376db9 100644
--- a/src/network/udp.c
+++ b/src/network/udp.c
@@ -41,6 +41,7 @@
#ifdef _WIN32
# undef EAFNOSUPPORT
# define EAFNOSUPPORT WSAEAFNOSUPPORT
+# include <iphlpapi.h>
#else
# include <unistd.h>
# ifdef HAVE_NET_IF_H
--
2.11.0
More information about the vlc-devel
mailing list