[vlc-devel] [vlc-commits] configure: check if if_nametoindex is available on Windows
Steve Lhomme
robux4 at ycbcr.xyz
Thu May 28 16:34:25 CEST 2020
This broke the winXX build in the CI. I'll investigate why it doesn't
find if_nametoindex there.
On 2020-05-28 9:47, Steve Lhomme wrote:
> vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Thu Apr 30 10:53:27 2020 +0200| [b813f909a6bfb6b1e03f6a6029eaa056bf50a121] | committer: Steve Lhomme
>
> configure: check if if_nametoindex is available on Windows
>
> It may link with iphlpapi but be forbidden in UWP.
>
> This test relies on the fact that -Werror-implicit-function-declaration works
> in the compiler. And that's why it's done after it's enabled.
>
> It's only used for the --miface option to set the preferred multicast interface.
>
>> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b813f909a6bfb6b1e03f6a6029eaa056bf50a121
> ---
>
> configure.ac | 19 +++++++++++++++++++
> include/vlc_fixups.h | 4 ++++
> 2 files changed, 23 insertions(+)
>
> diff --git a/configure.ac b/configure.ac
> index ea50387801..9d1bfe2c7d 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1048,9 +1048,28 @@ dnl
> AX_APPEND_COMPILE_FLAGS([-Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -Wformat -Wformat-security -Wduplicated-branches -Wduplicated-cond], [CFLAGS])
> AX_APPEND_COMPILE_FLAGS([-Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -Wformat -Wformat-security -Wduplicated-branches -Wduplicated-cond], [CXXFLAGS])
>
> +dnl -Werror-implicit-function-declaration is used for the if_nametoindex detection with winstore
> AX_APPEND_COMPILE_FLAGS([-Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Werror-implicit-function-declaration -Winit-self -Wlogical-op -Wshadow=local -Wmultistatement-macros], [CFLAGS])
> AX_APPEND_COMPILE_FLAGS([-pipe], [CFLAGS])
>
> +dnl UWP forbidden checks
> +AS_IF([test "${SYS}" = "mingw32"], [
> + AC_MSG_CHECKING(for if_nametoindex availability)
> + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
> + [[#include <windows.h>
> + #include <iphlpapi.h>
> + static void test (void) {
> + if_nametoindex(NULL);
> + }
> + ]],[[;]])
> + ],[
> + AC_MSG_RESULT([present])
> + AC_DEFINE([HAVE_IF_NAMETOINDEX], [1], [Define to 1 if you have if_nametoindex function])
> + ],[
> + AC_MSG_RESULT([not present])
> + ])
> +])
> +
> dnl
> dnl Debugging mode
> dnl
> diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h
> index 25c7de473e..42d5b31661 100644
> --- a/include/vlc_fixups.h
> +++ b/include/vlc_fixups.h
> @@ -454,6 +454,10 @@ struct msghdr
> size_t msg_controllen;
> int msg_flags;
> };
> +
> +# ifndef HAVE_IF_NAMETOINDEX
> +# define if_nametoindex(name) atoi(name)
> +# endif
> #endif
>
> #ifdef _NEWLIB_VERSION
>
> _______________________________________________
> vlc-commits mailing list
> vlc-commits at videolan.org
> https://mailman.videolan.org/listinfo/vlc-commits
>
More information about the vlc-devel
mailing list