From 60c424126da8cc63f62ed414ab8c704cd657f75e Mon Sep 17 00:00:00 2001 From: Tobias Gruetzmacher Date: Sat, 17 Jan 2015 01:45:27 +0100 Subject: [PATCH 1/2] Don't expose if_nametoindex and if_indextoname in WinXP. These APIs were only added in Vista (>= 0x6000) and those definitions conflict with other projects (glib). --- src/mingw-w64-2-netioapi-winxp.patch | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/mingw-w64-2-netioapi-winxp.patch diff --git a/src/mingw-w64-2-netioapi-winxp.patch b/src/mingw-w64-2-netioapi-winxp.patch new file mode 100644 index 00000000..7b13a5ad --- /dev/null +++ b/src/mingw-w64-2-netioapi-winxp.patch @@ -0,0 +1,29 @@ +This file is part of MXE. +See index.html for further information. + +Some functions in netioapi.h were only added in Windows Vista. This patch removes +function definitions for if_nametoindex and if_indextoname on older API +versions, so they don't conflict with replacement implementations in libraries +(e.g. glib). + +This is fixed on the 4.x branch of mingw-w64. + +diff -Naur mingw-w64-v3.3.0.orig/mingw-w64-headers/include/netioapi.h mingw-w64-v3.3.0/mingw-w64-headers/include/netioapi.h +--- mingw-w64-v3.3.0.orig/mingw-w64-headers/include/netioapi.h 2015-01-17 00:07:51.030935703 +0100 ++++ mingw-w64-v3.3.0/mingw-w64-headers/include/netioapi.h 2015-01-17 01:09:47.546591536 +0100 +@@ -311,6 +311,7 @@ + PNET_LUID InterfaceLuid + ); + ++#if (_WIN32_WINNT >= 0x0600) + PCHAR WINAPI if_indextoname( + NET_IFINDEX InterfaceIndex, + PCHAR InterfaceName +@@ -319,6 +320,7 @@ + NET_IFINDEX WINAPI if_nametoindex( + PCSTR InterfaceName + ); ++#endif + + NETIO_STATUS WINAPI ConvertInterfaceGuidToLuid( + const GUID *InterfaceGuid, From 175d1da789531129e81f1d09cc6c378837dca049 Mon Sep 17 00:00:00 2001 From: Tobias Gruetzmacher Date: Sat, 17 Jan 2015 01:48:09 +0100 Subject: [PATCH 2/2] Don't depend on if_nametoindex from iphlpapi.dll. This makes glib work on Windows XP again. --- src/glib.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/glib.mk b/src/glib.mk index 08bccd5d..a4c3cb7b 100644 --- a/src/glib.mk +++ b/src/glib.mk @@ -89,8 +89,7 @@ define $(PKG)_BUILD PKG_CONFIG='$(PREFIX)/bin/$(TARGET)-pkg-config' \ GLIB_GENMARSHAL='$(PREFIX)/$(TARGET)/bin/glib-genmarshal' \ GLIB_COMPILE_SCHEMAS='$(PREFIX)/$(TARGET)/bin/glib-compile-schemas' \ - GLIB_COMPILE_RESOURCES='$(PREFIX)/$(TARGET)/bin/glib-compile-resources' \ - $(if $(findstring w64-mingw32,$(TARGET)), CFLAGS="-DHAVE_IF_NAMETOINDEX=1") + GLIB_COMPILE_RESOURCES='$(PREFIX)/$(TARGET)/bin/glib-compile-resources' $(MAKE) -C '$(1)/glib' -j '$(JOBS)' install sbin_PROGRAMS= noinst_PROGRAMS= $(MAKE) -C '$(1)/gmodule' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= $(MAKE) -C '$(1)/gthread' -j '$(JOBS)' install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=