[PATCH v3 1/3] bus/pci: fix build with MinGW 13
Thomas Monjalon
thomas at monjalon.net
Mon Sep 8 23:17:49 CEST 2025
After an upgrade to MinGW version 13, some compilation errors appear:
drivers/bus/pci/windows/pci.c:362:58:
error: 'GUID_DEVCLASS_NETUIO' undeclared
drivers/bus/pci/windows/pci_netuio.c:57:39:
error: 'GUID_DEVINTERFACE_NETUIO' undeclared
The cause is MinGW has set NTDDI_VERSION to the highest version
without defining the expected NETUIO constants.
It is safer to not rely on Windows headers version,
and instead define what is not already defined,
after including Windows headers.
Fixes: 6605c7f02e24 ("bus/pci: fix build with Windows SDK >= 10.0.20253")
Cc: stable at dpdk.org
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
v3: try to fix Windows build by moving includes
---
drivers/bus/pci/windows/pci.c | 11 ++++++-----
drivers/bus/pci/windows/pci_netuio.c | 6 ------
drivers/bus/pci/windows/pci_netuio.h | 13 ++++++++++---
3 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/drivers/bus/pci/windows/pci.c b/drivers/bus/pci/windows/pci.c
index e7e449306e..6f6f368cb7 100644
--- a/drivers/bus/pci/windows/pci.c
+++ b/drivers/bus/pci/windows/pci.c
@@ -12,18 +12,19 @@
#include <rte_memory.h>
#include <rte_bus_pci.h>
-#include "private.h"
-#include "pci_netuio.h"
-
+/* DEVPKEY_Device_Numa_Node should be defined in devpkey.h */
#include <devpkey.h>
-#include <regstr.h>
-
#if defined RTE_TOOLCHAIN_GCC && (__MINGW64_VERSION_MAJOR < 8)
#include <devpropdef.h>
DEFINE_DEVPROPKEY(DEVPKEY_Device_Numa_Node, 0x540b947e, 0x8b40, 0x45bc,
0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 3);
#endif
+#include <regstr.h>
+
+#include "private.h"
+#include "pci_netuio.h"
+
/*
* This code is used to simulate a PCI probe by parsing information in
* the registry hive for PCI devices.
diff --git a/drivers/bus/pci/windows/pci_netuio.c b/drivers/bus/pci/windows/pci_netuio.c
index 346b2f4c0a..db75475f92 100644
--- a/drivers/bus/pci/windows/pci_netuio.c
+++ b/drivers/bus/pci/windows/pci_netuio.c
@@ -10,12 +10,6 @@
#include <rte_eal.h>
#include <rte_bus_pci.h>
-#ifdef __MINGW32__
-#include <ddk/ndisguid.h>
-#else
-#include <ndisguid.h>
-#endif
-
#include "private.h"
#include "pci_netuio.h"
diff --git a/drivers/bus/pci/windows/pci_netuio.h b/drivers/bus/pci/windows/pci_netuio.h
index 2f6c97ea73..0421de3854 100644
--- a/drivers/bus/pci/windows/pci_netuio.h
+++ b/drivers/bus/pci/windows/pci_netuio.h
@@ -5,12 +5,19 @@
#ifndef _PCI_NETUIO_H_
#define _PCI_NETUIO_H_
-#if !defined(NTDDI_WIN10_FE) || NTDDI_VERSION < NTDDI_WIN10_FE
-/* GUID definition for device class netUIO */
+/* GUID_DEVCLASS_NETUIO should be defined in devguid.h */
+#ifndef GUID_DEVCLASS_NETUIO
DEFINE_GUID(GUID_DEVCLASS_NETUIO, 0x78912bc1, 0xcb8e, 0x4b28,
0xa3, 0x29, 0xf3, 0x22, 0xeb, 0xad, 0xbe, 0x0f);
+#endif
-/* GUID definition for the netuio device interface */
+/* GUID_DEVINTERFACE_NETUIO should be defined in ndisguid.h */
+#ifdef __MINGW32__
+#include <ddk/ndisguid.h>
+#else
+#include <ndisguid.h>
+#endif
+#ifndef GUID_DEVINTERFACE_NETUIO
DEFINE_GUID(GUID_DEVINTERFACE_NETUIO, 0x08336f60, 0x0679, 0x4c6c,
0x85, 0xd2, 0xae, 0x7c, 0xed, 0x65, 0xff, 0xf7);
#endif
--
2.51.0
More information about the dev
mailing list